顾翔老师作品《软件测试技术实战设计、工具及管理》
京东购书地址:https://item.jd.com/12082665.html
微信购书地址:
http://detail.youzan.com/show/goods?alias=3erp1xpd7hmoh&from=wsc&kdtfrom=wsc&sf=wx_sm
店铺二维码:
1.1.10 软件测试曲线
众所周知软件的Bug不可能为零,但一般随着时间的推移,Bug数逼近于零。软件测试曲线如图1-19所示。
图1-19 软件测试曲线
这里,横坐标是时间,纵坐标是还没有发现的Bug数。项目开始前,Bug为无穷大,随着时间的推移,Bug趋于零,但是不会等于零。
另外一条曲线的横坐标是时间,纵坐标是已经发现的Bug数。项目开始前,Bug为零,随着时间的推移,Bug趋于一个固定值,但是不会等于这个值。
一般来说,两条曲线的交汇处为产品发布的最好时候,避免过度软件测试,也避免软件测试不够。
1.1.11 软件的杀虫剂现象
由于每个软件测试工程师的思路不同,测试的侧重点也可能不同,所以,不同的测试工程师即使执行相同的测试用例,发现的Bug也可能不同。例如,A测试某个模块,第一天到第四天测到许多Bug,但是从第五天开始几乎 不出Bug了。第七天换了B,B又测试出许多Bug,但不能简单地说A的水平差,B的水平高。其实,这是由于A对这个模块产生了抗药性造成的,这就是软件测试学中的杀虫剂现象,可用图1-20表示。
图1-20 软件测试的杀虫剂现象
为避免杀虫剂现象,建议每次进行轮流测试,最好安排不同的工程师进行不同模块的测试工作。
案例1-17 :根据软件杀虫剂现象进行测试计划调整。
某软件项目有测试员甲、乙、丙、丁4人,项目模块为A、B、C、D、E、F、G七个模块,测试周期为3周,为了避免软件杀虫剂现象,测试经理做了分工,见表1-4。这样保证了每一个模块至少有两个人经过测试。
表1-4 工作任务的分工
甲 |
乙 |
丙 |
丁 |
|
第一周 |
A、C |
B |
D、E、G |
F |
第二周 |
B |
A、C |
F |
D、E、G |
第三周 |
D、E、G |
F |
A、C |
B |
2.1 运用等价类/边界值设计测试用例
通过等价类/边界值法设计软件测试用例是测试用例设计的最基本的方法。这两种方法密不可分。下面先介绍“等价类分析法”。
2.1.1 等价类
等价类是指软件测试对象的某个参数输入域的子集合。在该子集合中,各个输入数据对于识别软件测试对象中的缺陷是等价的。只要测试等价类的某一个代表值,就可以认为覆盖了该等价类所有其他值的软件测试。
等价类的划分
是把软件测试对象的输入域划分成若干部分,然后从每一部分中选取少数具有代表性的数据,作为测试用例输入数据的测试用例设计技术。
等价类的两个假设
(1)软件测试对象等价类中任意一个代表值没有发现缺陷,则认为等价类内其他值也不能发现缺陷。比如等价类为【0~5】,如果测试数据4没有发现缺陷,那么测试数据1也不可能发现缺陷。
(2)软件测试对象等价类中任意一个代表值可以发现缺陷,则认为等价类内其他值也都可以发现缺陷。比如等价类为【0~5】,如果测试数据4发现缺陷,那么测试数据1也肯定能发现缺陷。
有效等价类与无效等价类
(1)有效等价类:对于软件测试对象而言,有效等价类指的是合理的、有意义的数据构成的集合。
(2)无效等价类:对于软件测试对象而言,无效等价类指的是不合理的、没有意义的数据构成的集合。
案例2-1 :等价类的分类。
通过表2-1来看各种类型的数据是如何通过等价类进行分类的。
表2-1 等价类的设计法
需求 |
有效等价类 |
无效等价类 |
|
连续的数字 |
【20.0~30.0】 |
(≥20.0,[J1] ≤30.0) |
(<20.0),(>30.0) |
离散的数字 |
【20~30】的整数 |
【20~30】的整数 |
(<20),(>30),【20~30】的浮点数 |
有序的集合 |
【0-10岁】 【11-20岁】 【21-40岁】 【41-60岁】 |
【0-10岁】 【11-20岁】 【21-40岁】 【41-60岁】 |
无 |
整数 |
16 bit int |
【32767,-32767】 |
>32767,<-32767 |
屏幕光标 |
【0~1204】×【0~768】 |
【0~1204】×【0~768】 |
≥1205×≥769,<0×<0 |
遵守规则 |
E-mail地址 |
a@b.com |
(a@b..com),(a@c@b.com),(a@),(b)… |
下面再介绍一下“边界值分析法”。
2.1.2 边界值
边界值分析是对输入或输出的边界值进行软件测试的一种测试方法。通常,边界值分析法作为对等价类划分法技术的补充。这种情况下,其测试用例来自等价类的边界。由于程序员在开发时在边界区域比较容易犯错误(如原本应该为a<100,却写成a<=[J2] 100),所以边界值测试法就显得非常重要。由于边界值是随着等价类出现的,所以边界值可以分为有效等价类的边界值和无效等价类的边界值。
边界值分析的步骤如下。[J3]
(1)识别软件测试对象中的参数等价类。
(2)识别每个等价类的边界值。
(3)创建边界值的相关测试用例。
(4)定义边界值分析技术的覆盖率。
案例2-2 :边界值的设计法。
基于表2-1,来看各种情况的边界值如何划定,见表2-2。
表2-2 边界值的设计法
需求 |
有效等价类边界值 |
无效等价类边界值 |
|
连续的数字 |
【20.0~30.0】 |
(20.0),[J4] (30.0) |
(19.999),(31.001) |
离散的数字 |
【20~30】的整数 |
(20),(30) |
(19),(31)[J5] |
续表
需求 |
有效等价类边界值 |
无效等价类边界值 |
|
有序的集合 |
【0-10岁】 【11-20岁】 【21-40岁】 【41-60岁】 |
【0-10岁】 【41-60岁】 |
|
整数 |
16 bit int |
32767,-32767 |
32768,-32768 |
屏幕光标 |
1204×768 |
(1204×768),(0×0) |
(1205×769) |
顾翔凡言:
在正确的道路上作自己擅于做得事,大方向把握好,不要过于纠结,就可以了。
啄木鸟软件测试培训中心,2017年主打课:
各企业可进行裁剪
自动化软件测试课程(企业内训¥24,000,公开课¥2,000/人)
软件性能测试课程(企业内训¥18,000,公开课¥1,500/人)
WEB软件用户体验式测试课程(企业内训¥12,000,公开课¥1,000/人)
安卓APP自动化软件测试课程(企业内训¥24,000,公开课¥2,000/人)
问题引导的用户验收测试(UAT)课程(企业内训¥12,000,公开课¥1,000/人)
嵌入式软件测试培训课程(企业内训¥18,000,公开课¥1,500/人)
探索式软件测试课程(企业内训¥12,000,公开课¥1,000/人)
APP软件专项测试课程(企业内训¥12,000,公开课¥1,000/人)
WEB软件安全性测试课程(企业内训¥15,000,公开课¥1,200/人)
WEB软件测试课程(企业内训¥12,000,公开课¥1,000/人)
以项目为导向的敏捷课程方案(
两天课企业内训:¥12,000 公开课:¥1,000/人
三天课企业内训:¥18,000公开课:¥1,500/人
一周课企业内训:¥29,000公开课:¥5,000/人
四周可企业内训:¥100,000公开课:¥1,0000/人
)
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!