软件测试与质量保证Word格式.docx
- 文档编号:14849133
- 上传时间:2022-10-25
- 格式:DOCX
- 页数:36
- 大小:434.62KB
软件测试与质量保证Word格式.docx
《软件测试与质量保证Word格式.docx》由会员分享,可在线阅读,更多相关《软件测试与质量保证Word格式.docx(36页珍藏版)》请在冰豆网上搜索。
3.程序员应避免检查自己的程序。
4.在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。
5.充分注意测试中的群集现象。
经验表明,测试后程序中残存的错误数目与该程序中已发现的错误数目成正比。
6.严格执行测试计划,排除测试的随意性。
7.应当对每一个测试结果做全面检查。
8.妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。
四、软件测试的对象
•软件测试并不等于程序测试。
软件测试应贯穿于软件定义与开发的整个期间。
•需求分析、概要设计、详细设计以及程序编码等各阶段所得到的文档,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序,都应成为软件测试的对象。
五、确认和验证
•为把握软件开发各个环节的正确性,需要进行各种确认和验证工作。
•确认(Validation),是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性。
–需求规格说明的确认
–程序的确认
•验证(Verification),试图证明在软件生存期各个阶段,以及阶段间的逻辑协调性、完备性和正确性。
七、测试信息流
测试信息流:
•软件配置:
软件需求规格说明、软件设计规格说明、源代码等;
•测试配置:
测试计划、测试用例、测试程序等;
•测试工具:
测试数据自动生成程序、静态分析程序、动态分析程序、测试结果分析程序、以及驱动测试的测试数据库等等。
•测试结果分析:
比较实测结果与预期结果,评价错误是否发生。
•排错(调试):
对已经发现的错误进行错误定位和确定出错性质,并改正这些错误,同时修改相关的文档。
•修正后的文档再测试:
直到通过测试为止。
•通过收集和分析测试结果数据,对软件建立可靠性模型
•利用可靠性分析,评价软件质量:
—软件的质量和可靠性达到可以接受的程度;
—所做的测试不足以发现严重的错误;
•如果测试发现不了错误,可以肯定,测试配置考虑得不够细致充分,错误仍然潜伏在软件中。
八、测试与软件开发各阶段的关系
✓软件开发过程是一个自顶向下,逐步细化的过程
✓软件计划阶段定义软件作用域
✓软件需求分析建立软件信息域、功能和性能需求、约束等
✓软件设计把设计用某种程序设计语言转换成程序代码
✓测试过程是依相反顺序安排的自底向上,逐步集成的过程。
九、软件测试用例设计
•两种常用的测试方法
–黑盒测试
–白盒测试
(一)黑盒测试
•这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。
•黑盒测试又叫做功能测试或数据驱动测试。
•黑盒测试方法是在程序接口上进行测试,主要是为了发现以下错误:
–是否有不正确或遗漏了的功能?
–在接口上,输入能否正确地接受?
能否输出正确的结果?
–是否有数据结构错误或外部信息(例如数据文件)访问错误?
–性能上是否能够满足要求?
–是否有初始化或终止性错误?
♦用黑盒测试发现程序中的错误,必须在所有可能的输入条件和输出条件中确定测试数据,来检查程序是否都能产生正确的输出。
♦但这是不可能的。
•假设一个程序P有输入量X和Y及输出量Z。
在字长为32位的计算机上运行。
若X、Y取整数,按黑盒方法进行穷举测试:
•可能采用的
测试数据组:
232×
232=264
如果测试一组数据需要1毫秒,一年工作365×
24小时,完成所有测试需5亿年
(二)白盒测试
•此方法把测试对象看做一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。
通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。
因此白盒测试又称为结构测试或逻辑驱动测试。
•软件人员使用白盒测试方法,主要想对程序模块进行如下的检查:
–对程序模块的所有独立的执行路径至少测试一次;
–对所有的逻辑判定,取“真”与取“假”的两种情况都至少测试一次;
–在循环的边界和运行界限内执行循环体;
–测试内部数据结构的有效性,等。
•对一个具有多重选择和循环嵌套的程序,不同的路径数目可能是天文数字。
给出一个小程序的流程图,它包括了一个执行20次的循环。
•包含的不同执行路径数达5^20条,对每一条路径进行测试需要1毫秒,假定一年工作365×
24小时,要想把所有路径测试完,需3170年
十、白盒测试的测试用例设计
(一)逻辑覆盖
逻辑覆盖是以程序内部的逻辑结构为基础的设计测试用例的技术。
它属白盒测试。
–语句覆盖
–判定覆盖
–条件覆盖
–判定-条件覆盖
–条件组合覆盖
–路径覆盖。
举例:
所有路径为:
L1(a->
c->
e),L2(a->
b->
d),L3(a->
e),L4(a->
d)
依据以上推导出来的结果就可以设计满足要求的测试用例。
(二)语句覆盖
•语句覆盖就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次。
•在图例中,正好所有的可执行语句都在路径L1上,所以选择路径L1设计测试用例,就可以覆盖所有的可执行语句。
•测试用例的设计格式如下
•【输入的(A,B,X),输出的(A,B,X)】
•为图例设计满足语句覆盖的测试用例是:
•【(2,0,4),(2,0,3)】 覆盖ace【L1】
(三)判定覆盖
•判定覆盖就是设计若干个测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次。
•判定覆盖又称为分支覆盖。
•对于图例,如果选择路径L1和L2,就可得满足要求的测试用例
•【(2,0,4),(2,0,3)】覆盖ace【L1】
•【(1,1,1),(1,1,1)】覆盖abd【L2】
如果选择路径L3和L4,还可得另一组可用的测试用例:
【(2,1,1),(2,1,2)】覆盖abe【L3】
【(3,0,3),(3,1,1)】覆盖acd【L4】
(四)条件覆盖
•条件覆盖就是设计若干个测试用例,运行被测程序,使得程序中每个判断的每个条件的可能取值至少执行一次。
在图例中,我们事先可对所有条件的取值加以标记。
例如,
•对于第一个判断:
•条件A>1取真为,取假为
–条件B=0取真为,取假为
•对于第二个判断:
–条件A=2取真为,取假为
–条件X>1取真为,取假为
测试用例覆盖分支条件取值
【(2,0,4),(2,0,3)】L1(c,e)
【(1,0,1),(1,0,1)】L2(b,d)
【(2,1,1),(2,1,2)】L3(b,e)
或
测试用例覆盖分支条件取值
【(1,0,3),(1,0,4)】L3(b,e)
(五)判定-条件覆盖
•判定-条件覆盖就是设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断中的每个条件的可能取值至少执行一次。
测试用例覆盖分支条件取值
【(1,1,1),(1,1,1)】L2(b,d)
由多个基本判断组成的流程图
(六)条件组合覆盖
•条件组合覆盖就是设计足够的测试用例,运行被测程序,使得每个判断的所有可能的条件取值组合至少执行一次。
记①A>1,B=0作
②A>1,B≠0作
③A≯1,B=0作
④A≯1,B≠0作
⑤A=2,X>1作
⑥A=2,X≯1作
⑦A≠2,X>1作
⑧A≠2,X≯1作
测试用例覆盖条件覆盖组合
【(2,0,4),(2,0,3)】
(L1)①,⑤
【(2,1,1),(2,1,2)】
(L3)②,⑥
【(1,0,3),(1,0,4)】
(L3)③,⑦
【(1,1,1),(1,1,1)】
(L2)④,⑧
(七)路径测试
路径测试就是设计足够的测试用例,覆盖程序中所有可能的路径。
测试用例通过路径覆盖条件
【(2,0,4),(2,0,3)】ace(L1)
【(1,1,1),(1,1,1)】abd(L2)
【(1,1,2),(1,1,3)】abe(L3)
【(3,0,3),(3,0,1)】acd(L3)
(八)基本路径集测试
•覆盖关键路径。
•得到程序的控制流程图/程序图
While
•计算环路复杂性的方法:
-V(G)=简单判定节点数+1
–V(G)=E-N+2(E是边数,N是定点数)
–V(G)=封闭区域数+1
•V(G)=4
根据环路复杂性产生基本路径集
Path1:
1-2-3-8
Path2:
1-2-3-8-1-2-3
Path3:
1-2-4-5-7-8
Path4:
1-2-4-6-7-8
准备测试用例覆盖所有基本路径
十一、黑盒测试的测试用例设计
–等价类划分
–边界值分析
–错误推测法
–因果图
(一)等价类划分
•等价类划分是一种典型的黑盒测试方法,使用这一方法时,完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。
•等价类划分方法把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据做为测试用例。
•使用这一方法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步。
•划分等价类
•等价类是指某个输入域的子集合。
在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。
测试某等价类的代表值就等价于对这一类其它值的测试。
•等价类的划分有两种不同的情况:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 质量保证