计算机专业软件测试方法分析_第1页
计算机专业软件测试方法分析_第2页
计算机专业软件测试方法分析_第3页
计算机专业软件测试方法分析_第4页
计算机专业软件测试方法分析_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第第页计算机专业软件测试方法分析摘要:软件测试的核心是测试用例的编写,所以测试用例的编写对于软件测试的过程来说是十分重要的,也是每个测试人员必须掌握的技能。本文主要分别介绍了黑盒测试和白盒测试两类不同的测试方法。尤其重点介绍了白盒测试中的逻辑覆盖。并结合实例给出具体说明。

关键词:测试用例黑盒测试白盒测试逻辑覆盖

1引言

软件测试是软件开发过程中必不可少的部分。从根本上说,测试过程的质量决定了软件测试的质量和有效性。软件测试作为软件生存周期的一个重要组成部分,受到重视程度越来越高。软件测试的本质是针对要测试的内容确定一组测试用例。测试用例是测试工作的指导,是软件测试的必须遵守的准则。更是软件测试质量稳定的根本保障。所以对于软件测试的过程来讲,测试用例的设计是其中最关键的环节。软件测试分功能性测试和结构性测试。功能性测试又称黑盒测试,结构性测试又称白盒测试。本文分别详细介绍这两类测试方法的测试用例的设计方法。

软件测试用例的基本要素:

测试用例(TestCase)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。测试用例目前为止没有经典的定义。比较通常的说法是:指对一项特定的软件产品进行测试

任务的描述,体现测试方案、方法、技术和策略。内容包括用例编号、测试标题、重要级别、输入

数据、操作步骤、预期结果等,并形成文档。下面具体介绍各项的含义。

(1)用例编号:测试用例的编号有一定的规则,比如系统测试用例的编号这样定义规则:PROJECT1-XT-001,命名规则是项目名称+测试阶段类型(系统测试阶段)+编号。定义测试用例编号,便于查找测试用例,便于测试用例的跟踪。

(2)测试标题:对测试用例的描述,测试用例标题应该清楚表达测试用例的用途。比如“测试用户登录时输入错误密码时,软件的响应情况”。

(3)重要级别:定义测试用例的优先级别,可以笼统的分为“高”和“低”两个级别。一般来说,如果软件需求的优先级为“高”,那么针对该需求的测试用例优先级也为“高”;反之亦然,

(4)测试输入:提供测试执行中的各种输入条件。根据需求中的输入条件,确定测试用例的输入。测试用例的输入对软件需求当中的输入有很大的依赖性,如果软件需求中没有很好的定义需求的输入,那么测试用例设计中会遇到很大的障碍。

(5)操作步骤:提供测试执行过程的步骤。对于复杂的测试用例,测试用例的输入需要分为几个步骤完成,这部分内容在操作步骤中详细列出。

(6)预期结果:提供测试执行的预期结果,预期结果应该根据软件需求中的输出得出。如果在实际测试过程中,得到的实际测试结果与预期结果不符,那么测试不通过;反之则测试通过。

2功能性测试用例设计

功能性测试又称黑盒测试(Black-boxTesting)或数据驱动测试,是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。黑盒测试注重于测试软件的功能性需求,也即黑盒测试使软件工程师派生出执行程序所有功能需求的输入条件。

黑盒测试试图发现以下类型的错误:

(1)功能错误或遗漏;

(2)界面错误;

(3)数据结构或外部数据库访问错误;

(4)性能错误;

(5)初始化和终止错误。

黑盒测试的测试用例设计方法一般有等价类划分方法,边界值分析方法,错误推测方法,因果图方法,判定表驱动分析方法,正交实验设计方法,功能图分析方法几种。下面详细介绍几种比较重要的黑盒测试方法。

2.1等价类划分

是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的,常用的黑盒测试用例设计方法。

(1)划分等价类:等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试。因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据。取得较好的测试结果。等价类划分可有两种不同的情况:有效等价类和无效等价类。

(2)有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。

(3)无效等价类:与有效等价类的定义恰巧相反。

设计测试用例时,要同时考虑这两种等价类。因为,软件不仅要能接收合理的数据,也要能经受意外的考验。这样的测试才能确保软件具有更高的可靠性。

2.2边界值分析法

边界值分析方法是对等价类划分方法的补充。

长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。

基于边界值分析方法选择测试用例的原则:

(1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。

(2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据。

(3)根据规格说明的每个输出条件,使用前面的原则1)。

(4)根据规格说明的每个输出条件,应用前面的原则2)。

(5)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。

(6)分析规格说明,找出其它可能的边界条件

2.3错误推测法

错误推测法:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。

错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。例如,在单元测试时曾列出的许多在模块中常见的错误。以前产品测试中曾经发现的错误等,这些就是经验的总结。还有,输入数据和输出数据为0的情况。输入表格为空格或输入表格只有一行。这些都是容易发生错误的情况。可选择这些情况下的例子作为测试用例。

3结构性测试用例设计

结构性测试又称白盒测试(White-boxTesting),也称逻辑驱动测试,是把测试对象看作一个打开的盒子。利用白盒测试法进行动态测试时,需要测试软件产品的内部结构和处理过程,不需测试软件产品的功能。

白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。

下面以一个实际例子说明逻辑覆盖的六种不同的测试用例的设计。

3.1语句覆盖:

语句覆盖是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每一个语句至少执行一次

对于该例来说,A=2,B=5,X=4时,执行路径ace,就把每个语句执行了一遍。

3.2判定覆盖

判定覆盖是指选择足够的测试用例,使得运行这些测试用例时,每个判定的所有可能结果至少出现一次,对于

此例,

当A=1,B=5,X=2时,第一个判定为真,第二个判定为假。执行路径acd

当A=3,B=5,X=3时,第一个判定为假,第二个判定为真。执行路径abe

3.3条件覆盖

条件覆盖是指选择足够的测试用例,使得运行这些测试用例时,判定中每个条件的所有可能结果至少出现一次,但未必能覆盖全部分支;该例子中有两个判定,每个判定有两个条件,也就是四个条件,四个条件分别取真假两种可能,只要在用例条件中四个条件的真假各出现一次就可以了。

A

B=5取真t2,取假f2

A=2取真t3,取假f3

X>2取真t4,取假f4

这样可以选择t1t2t3t4和f1f2f3f4组合。

A=2,B=5,X=3满足条件t1t2t3t4,程序执行路径为ace

A=3,B=4,X=2满足条件f1f2f3f4,程序执行路径为abd

这样四个条件的真假值都取到了,也可选择别的组合方式,例如

t1f2t3t4和f1t2f3f4,只要保证每个条件的真假值各取到一次就行。

3.4判定条件覆盖:

判定/条件覆盖是使判定中每个条件的所有可能结果至少出现一次,并且每个判定本身的所有可能结果也至少出现一次;

上面条件覆盖中的t1t2t3t4,f1f2f3f4的例子正好满足此条件,所以就采用与上面相同的取值。

4结束语

测试用例的编写对于一个测试人员来说是一项

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论