发表于: 2019-05-04 22:12:54
0 642
今天完成的事情:
测试的工作
黑盒测试
bug等级定义
明天计划的事情:巩固知识点
遇到的问题:无
收获:
第一、 从测试目标和依据来说:黑盒面对的是产品设计,白盒针对的是程序功能的实现,灰盒针对兼而有之,既要考虑产品设计要求,又考虑到功能实现的效果。
第二、 从实现者而言:黑盒在意的是客户的角度,白盒测试针对的研发人员。
第三、 从测试模块颗粒度而言:白盒在意的是代码实现层面,而灰盒更加侧重模块之间,颗粒度大于白盒。
第四、 在版本层面上,白盒测试一般发生在debug版本,灰盒大多一般在release版本进行。
第五、 从测试效果而言,大量的bug在黑盒测试阶段测试出来,而白盒和灰盒测试的bug数目相对较少。
第六、 从耗时上来讲,在同等时间内,一般白盒和灰盒的耗时长,bug数量少,一般表现为时间产出比较低,很难大范围普及白盒。黑盒相对bug时间投入产出比较高。
黑盒入门较为容易,其次是灰盒,白盒入门门槛教黑盒高很多。
黑盒测试关注程序的功能是否正确,面向实际用户;
白盒测试关注程序源代码的内部逻辑结构是否正确,面向编程人员;
灰盒测试是介于白盒测试与黑盒测试之间的一种测试。
所以通俗来讲黑盒测试就是看我开始用一个软件,它可以满足我的需求不出错吗?
白盒测试就是我写的程序代码是不是没有问题呢,我得在源程序中看看。
灰盒测试就是综合两种测试策略。
等价类划分是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的,常用的黑盒测试用例设计方法。
等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等效于对这一类中其它值的测试。因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据取得较好的测试结果。等价类通常包括有效等价类和无效等价类:
- 有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和非功能特性。
- 无效等价类:与有效等价类的定义恰巧相反,该等价类中包括的是程序认为无效的数据。
设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要能经受意外的考验。这样的测试才能确保软件具有更高的可靠性。
1.划分等价类的方法
下面给出六条确定等价类的原则:
- 在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。例如:网站上某商品的库存范围为1到99,那么针对商品库存的有效等价类是1到99,两个无效等价类分别是小于1和大于99。
- 在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。 有效等价类是真和假,其他所有输入构成了无效等价类。
- 在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。例如:公园门票针对老人、成年人和小孩分别有不同的票价,那么就可以生成3个有效等价类(老人、成年人和小孩),以及一个无效等价类(不属于上述三类人)
- 在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。例如:某公司规定服务年限大于五年的女性员工在妇女节那天可以放假一天,那么有效等价类显然就是同时满足服务年限大于5年并且是女性的员工,而无效等价类有两个,一个是服务年限没有超过5年,另外一个是女性员工。
在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。
划分等价类( valid / invalid )
(1)有效等价类:检验程序是否实现了规格说明预先规定的功能和性能。
(2)无效等价类:检查软件功能和性能的实现是否有不符合规格说明要求的地方。
二、等价类划分的规则
(1)按区间划分。(2)按数值划分。(3)按数值集合划分。(4)按限制条件或规划划分。 (5)按处理方式划分。
在输入条件规定的取值范围或值的个数的情况下,可以确定一个有效等价类和两个无效等价类。
在规定了输入数据的一组值中(假定有n个值),并且程序要对每个输入值分别处理的情况下,可以确定n个有效等价类和一个无效等价类。
在规定输入数据必须遵守的规则的情况下,可以确定一个有效等价类和若干个无效等价类。
在输入条件规定了输入值的集合或规定了“必须如何”的条件下,可以确定一个有效等价类和一个无效等价类。
在确定已划分的等价类中各元素在程序处理中的方式不同的情况下,则应将该等价类进一步地划分为更小的等价类。
评论