下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、浅析软件测试技术在C程序开发中的应用 摘要:随着软件产业的蓬勃发展,业务和工作的效率会受到软件质量的影响。为了保证程序开发质量,可在其中嵌入软件测试技术。本文着重介绍了黑盒测试技术等价类划分法,并结合具体开发实例,阐述了在C程序开发过程中软件测试技术的应用。 Abstract: With the booming development of software industry, business and work efficiency is influenced by the software quality. In order to ensure
2、 the quality of programming, the software testing techniques can be embedded. This article focuses on a black-box testing techniques: equivalence class partitioning method, and discusses the application of software testing technology in the development process of C program by combining with the deve
3、lopment of specific instances. 关键词:软件测试;等价类;测试用例 Key words: software testing;equivalence class;test cases 中图分类号:TP31 文献标识码:A 文章编号:1006-4311(2012)11-0159-02 0 引言 随着软件产业的蓬勃发展,软件的质量会影响业务和工作的效率。为了保证开发的程序的质量,关键是要依靠软件测试技术来暴露程序中的错误和缺陷。软件测试技术就是为了发现程序中的错误而分析或执行程序的过程。在对不同的程序进行测试时,需要开发不同的测试用例。从哲学的观点看,软件测试技术正是从
4、程序的内部结构和实现算法的角度设计测试用例,进而发现程序中错误和缺陷的过程。 1 软件测试技术 软件测试技术是软件开发人员进行程序分析时,根据程序的结构和各个开发阶段的规格说明书,选取少量的具有代表性的数据作为测试用例来运行程序,以尽可能发现程序错误的过程。 软件测试技术的两大方法为白盒测试(White-box Texting)和黑盒测试(Black-box Texting)。两种测试方法相辅相成,白盒测试与黑盒测试一起构成了测试的整体过程。在这里,我们主要讨论黑盒测试技术在程序开发中的应用。 1.1 黑盒测试 黑盒测试,也称功能测试或数据驱动测试,主要用于测试的后期,如图1所示。不管程序内部
5、的结构是怎样的,只是从用户的角度出发,根据程序应实现的功能和需求规格说明书,来检验每个功能是否达到预先要求,是否能够正常使用,是否能够满足用户需求。 开发人员在进行程序测试时,把程序看作是一个不透明的盒子,在完全不考虑程序的控制结构情况下,测试程序的接口和用户的界面,测试程序的功能是否符合需求规格说明书的要求,是否根据适当的输入信息产生正确的输出结果,并且测试同时能够保证外部信息(如数据库或文件)的完整性。 黑盒测试方法主要用于测试软件的功能性需求,其方法有等价类划分法、边界值分析法、错误推测法和因果图法等。 1.2 白盒测试 白盒测试,也称结构测试或逻辑驱动测试,主要用于测试的早期,清楚最终
6、生成软件产品的计算机程序的结构和语句,按照程序内部的结构测试程序,测试程序内部的变量状态、逻辑结构、运行路径等,测试程序中的每条路径是否都能够按照要求正确执行,检查程序内部动作或运行是否符合设计规格要求,所有内部成分是否按规定正常进行。该方法主要用于软件验证。白盒测试的主要方法有逻辑覆盖法、基本路径测试法等。 2 等价类划分法 等价类划分法是黑盒测试用例设计中一种重要的、常用的设计方法,根据对程序的说明和要求设计测试用例。它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。测试人员不仅要细致分析规格说明书中的各项需求,而且还要区别对待和处理各类输入和输出。 所谓等
7、价类划分法就是把所有可能的输入数据,即程序的输入域划分成若干子集,然后从每个子集中选取出少数具有代表性数据作为测试用例。在等价类划分法设计测试用例的过程中,需要使用两个过程:分类和抽象。第一个过程是分类,即按照特性相同或者功能类似的原则将输入域进行分类;第二个过程抽象,即在各个子类中用实力来表征抽象出来的这个特性。 等价类是指某个输入域的子集中,各个输入数据对于暴露程序中的错误都是等效的,它们具有等价特性,这样,对于表征该类的数据输入将能代表整个子集合的输入。因此,可以合理地假定:测试某等价类的代表值就是等效于对于这一类其他值的测试。这样,就把漫无边际的随机测试变成有针对性的等价类测试,有可能
8、用少量有代表性的例子来代替大量内容相似的测试,借以实现测试的经济性。 采用这一技术要注意以下两点:其一是划分等价类不仅要考虑代表有效输入值的有效等价类,还需要考虑代表无效输入值的无效等价类;其二是每一无效等价类至少要用一个测试用例,不然就可能遗漏掉某一类错误,但允许若干有效等价类合用一个测试用例,以便进一步减少测试的次数。 3 等价类划分法在C程序设计中的应用 例题:输入三个边长a,b,c,判断它们构成哪种三角形(等腰三角形、等边三角形或一般三角形)。 算法:首先判断输入的任意三个数a,b,c能否构成三角形,若能构成三角形,则再进一步判断是等腰三角形(任意两边相等)、等边三角形(三边都相等)或
9、一般三角形。 #include main() float a,b,c; scanf("%f,%f,%f",&a,&b,&c); if(a+b<=c|b+c<=a|a+c<=b|a<1e-6|b<1e-6|c<1e-6) printf("Error! It isn't a trianglen"); else if(a=b&&a=c) printf("It is a equilateral trianglen"); else if(a=b|a=c|b=c)
10、 printf("It is a isoceles trianglen"); else printf("It is a general trianglen"); 利用等价类划分法,首先将输入域进行等价类划分,选择具有代表性的数 据,将各种等价类情况进行测试。这样能更多的发现程序中的错误和缺陷。 根据分析,本程序有13个等价类。如表1。 根据上划分的述等价类,可设计的如下测试用例以及预期结果。见表2。 将12种情况的数据输入运行,记录输出结果,然后对比期望结果,若完全一致,则证明程序实现了预期功能,若与某种等价类情况输出不一致,则说明该等价类对应分支的程序段编写有误,需要进行修正。 4 结束语 程序员开发的源程序,应该正确可靠,简明清晰,而且具有较高的效率。但实践表明即使是富有经验的程序员,也难免在编码中发现错误。而软件测试技术正是检验开发结果是否接近预期目标的重
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年山东省聊城市重点达标名校初三“临门一脚”数学试题含解析
- 吉林省松原宁江区五校联考2025-2026学年初三下学期毕业班联考(二)物理试题含解析
- 2026年大学大一(教育学)中外教育史阶段测试试题及答案
- 2025年前台防疫考核题
- 护理暴力倾向患者的长期护理计划
- 慢性肾功衰患者的护理应急预案
- 护理职业精神与团队协作
- 2026二年级数学下册 求商技巧
- 慢性肾炎患者常见误区解读
- 护理学基础:病区环境的绿化与美化
- 化工设备使用与维护
- 新概念英语第四册
- 部编版小学语文四年级下册教案(表格式)
- GB/T 16938-2008紧固件螺栓、螺钉、螺柱和螺母通用技术条件
- GB/T 15812.1-2005非血管内导管第1部分:一般性能试验方法
- 毕业证明书申请表(模板)
- 第5章护际关系伦理第6章课件讲义
- 城市供热工程系统规划-课件
- 新人教版三年级下册语文全册课件(新教材)
- 代维人员技能认证方案
- 部编人教版九年级历史下册全册知识点总结
评论
0/150
提交评论