第一章:はじめてのチョッコウ表
テストの考え方の基本
在考虑软件测试的效率提高之前,更加重要的应该考虑的是什么呢?测试的自动实行吗?
当然自动测试是有效的对策,但是作者考虑到的是测试的设计的重要性问题.还有注目与
结果,使测试项目做成的效率提高的捷径.
软件开发简单的说就是把客户的要求让其实现的流程.说起客户的要求可能会比较的含
糊不清.软件开发表现为现实世界的东西向系统的一个导入.所以操作有很多,实施的顺序
也有很多.....如果这样想的话,测试的项目就会向无限大扩散.不只是那样,客户的要求用
换一种方式去说就是重视[想要得到的 = 结果],在这个基础上做成测试的项目.这种想法在
实现起来就是,黑盒测试用图形法,白盒测试用CFD(case flow diagram)法...
ソフトウェアは「作る」から「組み合わせる」時代へ
如果着眼与[结果]进行测试的设计的话,可以大大减少测试的项目数,但是另外一方面,
对于完全没有预期的测试方法,为了让[结果]不在预料之中,测试不全的情况发生了.因此,
加上这些测试的手法,需要一种能够覆盖全体网罗率的组合测试...
而且软件从[做成时代]正向已经存在的软件的部品的选择,组合的时代变化.对于这种变化,
选择组合起来的部品确认没有BUG的技术就变得越来越重要.软件的部品以库的形式提供,很多
都只有提供了一个API的一个接口.因此对于这些隐藏的代码部品的测试不能进行白盒测试.
正因为是这样,组合因子测试以黑盒测试的方式实施的测试方法就变得越来越变得需要了...
クミアワセテストの難しさ
我们先来考虑一下最初测试的困难性.对软件实施测试的时候,什么也不考虑就是把机能组合
测试的话,测试项目会变得很多很多.比如说.
--------------------------------------------------------------------
①解凍先(4種類):デスクトップ、ファイルと同じ場所など
②圧縮先(4種類):デスクトップ、ファイルと同じ場所など
③全ファイル圧縮形式なら解凍(2種類):ON,OFF
④フォルダを作ってその中に解凍(2種類):ON,OFF
⑤…
⑥…
⑦…
⑧…
⑨…
---------------------------------------------------------------------
4*4*2*2*2*2*6*2*2 = 6144
假设一回测试要3分钟,那么总共就需要30个小时...
运用チョッコウ表的话,上面的案例其实只要16回的测试就可以解决问题了.
実験計画法の歴史:
在说明チョッコウ表之前,首先对[试验计划法]开始进行说明.チョッコウ表是使用[试验计划法],
再它之上进化而得到的.
チョッコウ表とは?
|
L4直交表 |
因子1 |
因子2 |
因子3 |
|
テスト No.1 |
0 |
0 |
0 |
|
テスト No.2 |
0 |
1 |
1 |
|
テスト No.3 |
1 |
0 |
1 |
|
テスト No.4 |
1 |
1 |
0 |
这是一个最小的チョッコウ表.4是表示测试的回数.在这个表的列的中加入了A,B,C三重组合的元
素,0,1表示不同的值.在[试验计划法]和[チョッコウ表]的世界里面,参数(A.B.C)叫做[因子],
値叫做「水準」.
除了L4,还有L8,L16,L32,L64等等各种各样的直交表,这些是2水准系的.L9,L27,L81等等,这些是3
2水准系的.还有L18,L36这些是混合水准系的.选择哪个好将会在第二章做详细介绍...
割り付けの基礎:

我们以字体修饰的同时做成一个L4的直交表把.因子里面含有的值叫做水准.因子名不可重复,
但是水准可以...
直交表的最右面是用来表示结果的...像这样用直交表进行组合测试,选择和测试规模向适应的直交表.
这种做成的直交表在测试中有多大的意义呢?将在下面一章进行介绍
チョッコウ表を使う意義:
先来看看[太字]和[斜体],有[ON,ON],[ON,OFF],[OFF,OFF],[OFF,ON]四种组合.[斜体]和[下划线],
[下划线]和[太字]的组合也是一样的.当然要全部的组合都要实施到的话,测试项目就可能以制指数的
形式增长,所以不管是什么软件的测试,在实施测试的时候,把无限存在的测试项目有限化的抽出是很重要的...
一般的测试项目中,测试代码的行数是实际代码的确1/10,100万行的代码就需要有10万行的测试代码.
因为10万行的代码要测试很多的函数和单个机能,有必要也只有许多数千项目组合分配测试...
合理的组合测试项目可以减少测试代码,现在2个机能之间,在3个机能之间,最好要保证组合因子数的增加...
網羅率について:
在直交表中,对测试对象实施机能的分割,对于任意两个机能之间的组合率都到100%,这种情况下就说是網羅率
到达100%.图7是2机能之间的组合表,[総当り表],因为所有的组合都是一个一个的出现,各个空格都把0/1填入
也就是说分子是实行的时候的结果,BUG发生大话使其增加.分母则把直交表中出现的测试的回数给记录下来.
如果怕漏了测试项目最好写下这张表...
2機能間の網羅率を上げるだけでよいの?
现在已经说明了用直交表任意两个因子之间组合率100%的测试已经在这里说明了,但是不是只有两个因子的组合才会出现BUG,光凭感觉,3个因子和4个因子之间的组合产生的BUG要比两个的要多...
因为软件的种类不同,我们知道了3个机能之间的组合测试是必要的,但是3个机能的所有组合都要测试的话,和直交表测试相比,测试项目就多了十倍...
但是还有另外一种表示的方法.先试着从BUG向用户流出的大小来考虑问题.如果出现单个机能的问题,用户就会说:[难道没有测试的吗?],如果出现了两个机能之间的问题,客户就会说:[难道就没有确认这样的错误吗?].3个机能,4个机能5个以上的话,用户可能会说:[啊,没有办法吗?]...当然多个机能组合而发生的错误,错误的防止也比较的简单...
从以上的理由来看,用2因子直交表把2个机能组合的问题全部处理掉,对于三个机能以上的问题,在式样书里面记录的个机能的组合结果和向开发者听取的结果还有BUG列表中发现的奇怪的地方,还有就是围绕着发现3个机能以上BUG产生的原因,进行软件的局部的测试是最好的方法...
終わりに:
通过使用直交表进行的测试,伴随着机能的增加,将会以指数形式增加的测试数量这种情况会有效得到抑制.也就是说能够控制测试的数量...这次的重点是,把所有机能全部测试的方针,向两个机能组合测试的方针进行转换...
1780



被折叠的 条评论
为什么被折叠?



