欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > 软件质量保证——单元测试之黑盒技术

软件质量保证——单元测试之黑盒技术

2024/12/2 5:53:35 来源:https://blog.csdn.net/2301_76289889/article/details/144134045  浏览:    关键词:软件质量保证——单元测试之黑盒技术

笔记内容及图片整理自XJTUSE “软件质量保证” 课程ppt,仅供学习交流使用,谢谢。

边界值分析

边界值选择基本原则

1)若输入条件规定了取值范围,则以范围为基础设计测试用例。

2)若输入条件规定了取值个数,则以个数为基础设计测试用例。

3)若需求规格说明指定了取值范围和个数,则结合原则1)和原则2)。

4)若I/O是一个有序集合,则选择该序列的首元素和末元素测试,进而考虑第二个元素和倒数第二个元素测试。

5)若明确知悉程序使用的数据结构,则测试这些数据结构的边界条件。

6)深入分析被测软件,从而发现隐含的边界条件。

边界值测试

普通边界值测试:基于单缺陷假设,只考虑输入取有效值。设计测试用例时,仅一个变量取极值,其他变量取正常值。

健壮性测试:基于单缺陷假设,输入既考虑取有效值又考虑取无效值。设计测试用例时,仅一个变量取极值,其他变量取正常值。

最坏情况测试:基于多缺陷假设,只考虑输入取有效值。设计测试用例时,多个变量取极值。

健壮最坏情况测试:基于多缺陷假设,输入既考虑取有效值又考虑无效值。设计测试用例时,多个变量取极值。

边界值测试案例

已知a<=x1<=b,c<=x2<=d,x1x2均为整型变量。

普通边界值测试:x1取a、a+1、(a+b)/2、b-1、b,x2取c、c+1、(c+d)/2、d-1、d。每个测试用例的x1、x2组合是一个极值+一个正常值,正常值包括(a+b)/2、(c+d)/2。

健壮性测试:x1取a-1、a、a+1、(a+b)/2、b-1、b、b+1,x2取c-1、c、c+1、(c+d)/2、d-1、d、d+1。每个测试用例的x1、x2组合是一个极值+一个正常值,正常值包括(a+b)/2、(c+d)/2。

最坏情况测试:x1取a、a+1、(a+b)/2、b-1、b,x2取c、c+1、(c+d)/2、d-1、d。每个测试用例的x1、x2组合是x1集和x2集的笛卡尔乘积。

健壮最坏情况测试:x1取a-1、a、a+1、(a+b)/2、b-1、b、b+1,x2取c-1、c、c+1、(c+d)/2、d-1、d、d+1。每个测试用例的x1、x2组合是x1集和x2集的笛卡尔乘积。

边界值测试通常分为输出域边界值测试和输入域边界值测试,两者思想一致,需要结合起来进行测试。

等价类测试

采用等价类测试的动机是1)期望完备性测试2)期望避免冗余测试。等价类测试的核心是对输入域/输出域进行等价划分,将域划分为多个互不相交的子集,子集的并集等于全集。互不相交保证了避免冗余,并集等于全集保证了完备性。

等价类划分原则

1)若输入条件规定了取值范围,则确定一个有效等价类和两个无效等价类。

2)若输入条件规定了取值个数,则确定一个有效等价类和两个无效等价类。

3)若输入条件规定了取值集合且软件对每个取值会进行不同处理,则可将每个取值确定为一个有效等价类,再确定一个不属于该集合的无效等价类。

4)若程序对已划分的某个等价类中的元素具有不同的处理方式,则将等价类再细分。

5)等价类划分通常需要多次迭代尝试。

确定等价关系

1)确定程序的所有输入条件。

2)针对每个输入条件,基于等价类划分原则将输入域划分为有效等价类和无效等价类。

生成测试用例

1)为每个等价类设置编号。

2)编写一个测试用例时,尽可能多地包含还未覆盖的有效等价类。

3)编写一个测试用例时,一次只包含一个还未被覆盖的无效等价类。

4)将所有无效等价类覆盖后,即生成所需的全部测试用例。

等价类测试类型

弱一般等价类测试:基于单缺陷假设,只考虑有效等价类。

强一般等价类测试:基于多缺陷假设,只考虑有效等价类。

弱健壮等价类测试:基于单缺陷假设,既考虑有效等价类又考虑无效等价类。弱健壮等价类测试是传统的等价类测试。

强健壮等价类测试:基于多缺陷假设,既考虑有效等价类又考虑无效等价类。

等价类测试案例

等价类测试中通常结合输入域等价类测试和输出域等价类测试,参考如下三角形问题。

三角形问题等价类划分:

输入域等价类测试:

输出域等价类测试:

综合等价类测试用例:

基于决策表的测试

决策表测试

决策表用来表述和分析复杂逻辑关系,描述在不同条件下多种可执行动作的组合问题,包含条件桩、动作桩、条件条目和动作条目。其中条件是程序输入的等价类,动作是程序输出,规则是测试用例,决策表的设计原则是不断发起尝试细化条件桩和动作桩。

决策表测试案例

三角形问题:

条件桩为a<b+c(1),b<a+c(2),c<b+a(3),a=b(4),b=c(5),a=c(6)

动作桩为不构成三角形(1),等边三角形(2),等腰三角形(3),普通三角形(4),不可能情况(5)

决策表如下:

决策表测试用例如下:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com