软件工程6软件测试.ppt
《软件工程6软件测试.ppt》由会员分享,可在线阅读,更多相关《软件工程6软件测试.ppt(53页珍藏版)》请在三一办公上搜索。
1、软件工程与项目管理,第6章 软件测试,掌握:白盒测试、黑盒测试、测试用例、逻辑覆盖、等价类划分、边界值分析、错误推测法、因果图法、单元测试、集成测试、确认测试、系统测试、Alpha测试和Beta测试。,6.1 软件测试概述,6.1.1 软件测试的概念,软件测试是在软件投入运行之前对软件需求分析、设计规格说明及编码的最终审查,是软件质量保证的关键步骤,是为了发现错误而执行软件的过程。,6.1.2 软件测试的目的,软件测试的目的就是为了发现错误并纠正错误,可以将其总结为以下几点:(1)测试是一个程序的执行过程,它的目的在于发现错误。(2)一个好的测试用例极可能发现至今未发现的错误。(3)一个成功的
2、测试是发现了至今末发现的错误的测试。,6.1.3 软件测试的原则,(1)测试前要认定被测试软件有错,不要认为软件没有错。(2)要避免由程序编写者自己进行测试。(3)要注意测试用例的合理设计和选择,预期结果的定义要有利于错误的检测。(4)软件测试要以软件需求规格说明书为标准。(5)测试是相对的,不能穷尽所有的测试,要根据人力物力安排测试。(6)应当制定严格的测试计划。(7)妥善保存测试计划与测试用例,为以后的维护提供方便。,6.2 软件测试方法,6.2.1 软件测试方法分类,1.按测试步骤与策略分类 可分为单元测试、集成测试、确认测试、系统测试、测试和测试。2.按测试技术分类 可分为白盒测试与黑
3、盒测试。3.按测试的环境分类 可分为静态测试与动态测试。4.按测试的功能分 可分为配置测试、兼容性测试、语言测试、易用性测试、文档测试、特殊测试等。,6.2.2 白盒测试,白盒测试是把程序看做一个透明的盒子,能够了解它的内部结构和处理过程,即对程序的所有逻辑路径进行测试,检查是否都能按预定要求正确工作。用白盒测试方法不可能进行完全测试,因为企图遍历所有的路径也是不可能做到的。,图6-1 一个程序的控制流程图,6.2.3 黑盒测试,黑盒测试法是把程序看成一个黑盒子,不考虑程序的内部逻辑结构和处理过程,只着眼于程序的外部特性很显然,因为企图遍历所有的输入数据是不可能做到的,所以用黑盒测试法也不可能
4、进行完全的测试。,图6-2 一个简单的程序模型,6.3 测试用例,6.3.1 测试用例概述,测试用例是为特定目的而设计的一组测试输入、执行条件和预期的结果。测试用例是执行的最小实体。以在图6-1的程序模型为例,输入变量为A、B、C,输出变量为b,假设程序体为:b=A+B+C则一个可能的测试用例为:A=1,B=2,C=3,b=6“A=1,B=2,C=3”为测试输入,“b=6”为预期结果,没有执行条件。,在实际测试工作中常存在以下误区:(1)好用例就是能发现到目前为止没有发现的缺陷的用例。(2)测试用例应该详细记录所有的操作信息,即使一个以前没有接触过此系统的人员也能进行测试。,6.3.2 逻辑覆
5、盖,1.语句覆盖 语句覆盖就是选择足够多的测试用例,使得被测程序中的每个可执行语句至少执行一次。这是一种最基本的覆盖要求。,例如,某PASCAL源程序如下:IF(A1)AND(B=0)THEN X:=X/A;IF(A=2)OR(X1)THEN X:=X+1;为方便问题的讨论,图6-3给出了该段程序的流程图,其中共有两个判定,将判定“(A1)AND(B=0)”记为P1,判定“(A=2)OR(X1)”记为P2;有4个条件,即“A1”记为C1,“B=0”记为C2,“A=2”记为C3,“X1”记为C4;有5条路径,分别用a、b、c、d、e表示。,图6-3 本节例子程序的流程图,为了使每个语句都执行一次
6、,程序执行的路径应该是acbed”,b、,d这两个流程无论条件是否成立都会经过。为此,可以设计以下一组测试用例:A2,B=0,X=5,此时,覆盖路径为acbed。,2.判定覆盖 判定覆盖就是选择足够的测试用例,使得程序中的每个判定至少都获得一次“真”值和一次“假”值,从而使得程序的每个分支至少都执行一次。对于“1.语句覆盖”中的例子,如果能够测试路径acbed和abd或acbd和abed,就可满足判定覆盖要求,为此,可设计以下两组测试用例:(1)A=3,B=0,X=1,此时,P1为T,P2为F。(2)A=2,B=1,X=1,此时,P1为F,P2为T。,3.条件覆盖 条件覆盖就是要设计足够多的测
7、试用例,使被测试程序中的每个判断语句中的每个逻辑条件的可能值至少被满足一次。仍以“1.语句覆盖”中的例子为例,为满足条件覆盖的要求,必须使条件C1、C2、C3、C4都能取到“真”值和“假”值,为此,可设计以下测试用例:(1)A=0,B=0,X=1,此时,C1为F,C2为T,C3为F,C4为F,P1为F,P2为F,覆盖路径为abd。(2)A=2,B=1,X=2,此时,C1为T,C2为F,C3为T,C4为T,P1为F,P2为T,覆盖路径为abed。,4.判定/条件覆盖 设计足够多的测试用例,使得被测试程序中的每个判断本身的判定结果(真/假)至少满足一次,同时,每个逻辑条件的可能值也至少满足一次。(
8、1)A=0,B=0,X=1,此时,C1为F,C2为T,C3为F,C4为F,P1为F,P2为F,覆盖路径为abd。(2)A=2,B=1,X=2,此时,C1为T,C2为F,C3为T,C4为T,P1为F,P2为T,覆盖路径为abed。(3)A=2,B=0,X=2,此时,C1为T,C2为T,C3为T,C4为T,P1为T,P2为T,覆盖路径为acbed。,5.条件组合覆盖 条件组合覆盖要求设计足够多的测试用例,使得被测试程序中的每个判断的所有可能条件取值的组合至少被满足一次。(1)A=0,B=0,X=1,此时,C1为F,C2为T,C3为F,C4为F,P1为F,P2为F,覆盖路径为abd。(2)A=2,B
9、=1,X=2,此时,C1为T,C2为F,C3为T,C4为T,P1为F,P2为T,覆盖路径为abed。(3)A=2,B=0,X=1,此时,C1为T,C2为T,C3为T,C4为F,P1为T,P2为T,覆盖路径为acbed。(4)A=0,B=1,X=2,此时,C1为F,C2为F,C3为F,C4为T,P1为F,P2为T,覆盖路径为abed。,6.路径覆盖 路径覆盖要求设计足够多的测试用例,使得被测试程序中的每条路径至少被覆盖一次。(1)A=0,B=0,X=1,此时,C1为F,C2为T,C3为F,C4为F,P1为F,P2为F,覆盖路径 abde。(2)A=2,B=1,X=2,此时,C1为T,C2为F,C
10、3为T,C4为T,P1为F,P2为T,覆盖路径abe。(3)A=2,B=0,X=1,此时,C1为T,C2为T,C3为T,C4为F,P1为T,P2为T,覆盖路径acbe。(4)A=3,B=0,X=1,此时,C1为T,C2为T,C3为F,C4为F,P1为T,P2为F,覆盖路径acde。,语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件覆盖以及路径覆盖对于程序逻辑覆盖的要求是由弱到强的,在实际测试工作中,应根据具体情况选择适合的逻辑覆盖测试技术。逻辑覆盖是一种白盒测试方法。,6.3.3 等价类划分,等价类划分方法是把被测试的程序的所有可能的输入数据(有效的和无效的)划分成若干个等价类,从而把无限的
11、随机测试变成有针对性的等价类测试等价类划分属于黑盒测试方法等价类划分的测试一般分为两步进行:第一步:划分等价类并给出定义。第二步:选择测试用例。,划分初等价类以后,根据等价类设计测试用例时可以按照以下两个步骤进行:(1)设计一个新的测试用例,以尽可能多地覆盖尚未覆盖的有效等价类,重复这一步骤直到所有有效等价类都被覆盖为止。(2)设计一个新的测试用例,使它覆盖一个且只覆盖一个尚未覆盖的无效等价类,重复这一步骤直到所有无效等价类都被覆盖为止。注意,为避免因测试用例发现一个错误而掩盖其他错误的情况发生,应该是每个测试用例只覆盖一个无效等价类。,例如,某城市的电话号码由3部分组成,分别是:(1)地区码
12、:空白或3位数字;(2)前缀:非“0”或“1”开头的3位数;(3)后缀:4位数字。假定被调试的程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的号码,就可用等价分类法来设计它的测试用例。,第一步:划分等价类,包括4个有效等价类,11个无效等价类,表6-1列出了划分的结果。在每一等价类之后加有编号,以便识别。,第二步:确定测试用例。表6-1中有4个有效等价类,可选择如表6-2所示的两个测试用例。,对11个无效等价类,可选择如表6-3所示的11个测试用例。,6.3.4 边界值分析,经验表明,程序在处理边界值时最容易发生错误,例如,许多程序错误出现在下标、数据结构和循环等边界附近。因此,设计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 软件 测试
链接地址:https://www.31ppt.com/p-6434191.html