软件工程(速成)——第十章 软件测试

软件工程(速成)——第十章 软件测试

一、软件测试
1.(软件)测试的定义或目标
(1)测试是为了发现程序中的错误而执行程序的过程
(2)好的测试方案极可能是发现了迄今为止尚未发现的错误的测试方案
(3)成功的测试是发现了至今为止尚未发现的错误的测试

2.测试方法
(1)黑盒测试(功能测试)
把程序看作一个黑盒子;完全不考虑程序的内部结构和处理过程;是在程序接口进行的测试
(2)白盒测试(结构测试)
把程序看成装在一个透明的白色盒子里;测试者完全知道程序的结构和处理算法;按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否能按预定要求工作

3.测试步骤
模块测试(单元测试)、子系统测试、系统测试、验收测试、平行运行

二、白盒测试技术
1.测试用例
测试用例=测试数据+预期的结果

2.逻辑覆盖
(1)语句覆盖
每个语句至少执行一次
(2)判定覆盖
每个语句至少执行一次,每个判定的每个分支至少执行一次
(3)条件覆盖
每个语句至少执行一次,判定表达式的每种结果至少执行一次
条件覆盖通常比判定覆盖强,有时条件覆盖也是判定覆盖
(4)判定/条件覆盖
覆盖判定+条件判定
有时判定/条件覆盖也不一定比条件覆盖强

三、黑盒测试技术
1.基本概念
(1)黑盒测试着重测试软件功能
(2)黑盒测试不能取代白盒测试,两者为互补关系
(3)白盒测试—测试过程的早期;黑盒测试——测试过程的后期

2.黑盒测试准则
(1)测试用例尽可能少
(2)一个测试用例能指出一类错误

3.黑盒测试手段
等价划分、边界值分析、错误推测

四、单元测试
1.单元测试集中检测模块
2.单元测试和编码属于软件过程的同一个阶段
3.可以应用人工测试和计算机测试这样两种不同类型的测试方法
4.单元测试主要使用白盒测试技术,对多个模块的测试可以并行地进行

五、集成测试
1.集成测试是测试和组装软件的系统化技术,主要目标是发现与接口有关的问题
2.集成测试的策略
(1)非渐增式
(2)自顶向下
(3)自底向上
(4)混合
3.回归测试:重新执行已经做过的测试的某个子集,保证程序的变化没有带来非预期的副作用

六、确认测试
1.确认测试也称为验收测试,目标是验证软件的有效性
2.软件有效性的定义
如果软件的功能和性能如用户所合理期待,需求分析阶段产生的软件规格说明书,准确地描述了用户对软件的合理期望,需求分析阶段的软件规格说明书是软件有效性的标准
3.Alpha测试和Beta测试

七、调试
1.调试是在测试发现错误之后排除错误的过程
2.调试的方法
蛮干法、回溯法、原因排除法

八、软件可靠性
1.软件可靠性
程序在给定的时间间隔内,按照规格说明书的规定成功地运行的概率
2.估算平均无故障时间的方法
(1)计算平均无故障时间/需要改正多少个错误测试结束
MTTF=1/K(ET/IT-Ec(t)/It),即Ec=ET-IT/KxMTTF
MTTF:平均无故障时间
K:常数,典型值200
IT:程序长度(机器指令总数)
ET:测试之前程序中的错误总数
Ec:在时间段内发现的错误总数
(2)估计错误总数的方法
B0=B1B2/bc
B0:t=0时错误总数
B1:t=t1时测试员甲发现的错误数
B2:t=t1时测试员乙发现的错误数
bc:t=t1时两个测试员发现的相同错误数

练习题10具体讲解

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年7月9日
下一篇 2020年7月9日

相关推荐