头歌-软件测试技术-黑盒测试_王铁军
目录
一、第一关_等价类划分
任务描述
相关知识
什么是等价类划分法
等价类划分的意义
编程要求
测试说明
代码
第二关、边界值求法
任务描述
相关知识
什么是边界值法
边界值的选择原则
编程要求
测试说明
代码
一、第一关_等价类划分
任务描述
本关任务:编写代码,使用等价类划分法进行黑盒测试。
相关知识
为了完成本关任务,你需要掌握等价类划分法。
什么是等价类划分法
想要弄清楚等价类划分法,首先需要理解什么是等价类。等价类分为有效等价类和无效等价类,其中,有效等价类是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合;而无效等价类是指对于程序的规格说明来说是不合理的,没有意义的输入数据构成的集合。
说白了,有效等价类和无效等价类都指的是测试用例的集合。如果你的一组测试用例输入到程序中,程序的功能应该是能正常使用的话,那么这一组测试用例就属于有效等价类。倘若你的这一组测试用例对于程序是非法输入,那么就是无效等价类。
举个例子:现在你需要测试的程序规定的输入范围是
1的所有数,则有效的是 1内的任意数,而无效的是 x<=1和x>=10的任意数字。因此,测试用例:
x=5为有效等价类,而测试用例:x=11为无效等价类。
等价类划分的意义
想必你已经知道什么是有效等价类和无效等价类了。再仔细想想,你会发现,等价类划分法主要倾向于测试程序在正常输入和非法输入时的表现,与我们的预期是否一致。而且能够指导我们用最少的测试用例来捕捉可能出现的 Bug。
编程要求
使用等价类划分法设计测试用例,并根据提示,在右侧编辑器补充代码,实现
calcEdge函数的黑盒测试。此次黑盒测试需要你设计4组测试用例,并需要满足其中2组为有效等价类,2组为无效等价类的条件。待测试函数
calcEdge的功能是计算一个直角三角形的斜边长,其中a和b分别表示直角三角形的两条直角边的长度。为了你专注于设计测试用例,edge参数表示当输入a,b后你的预期输出。 注意:若a或b小于0时,函数的计算结果为-1。
测试说明
平台会对你编写的代码进行测试:
测试输入: 预期输出:
有效等价类数量:2无效等价类数量:2
代码
#include"func.h"
#include
//计算直角三角形的斜边长度
float calcEdge(float a, float b, float area);
void BlackTest1()
{/*请按要求设计测试用例,并调用calcEdge*//*********Begin********/calcEdge(3,4,5);calcEdge(6,8,10);calcEdge(-1,0,-1);calcEdge(0,-1,-1);/*********End*********/}
第二关、边界值求法
任务描述
本关任务:编写代码,使用边界值法进行黑盒测试。
相关知识
为了完成本关任务,你需要掌握边界值法。
什么是边界值法
根据经验来说,软件中大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此,针对各种边界情况涉及的测试用例,可以查出更多的错误。
而使用边界值的分析方法涉及测试用例,首先应确定边界情况。通常输入和输出等价类的边界,应当选取正好等于、刚刚大于或者刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。
由此可见,按照边界值法所设计的测试用例,主要用来测试程序在接收到边界值或者与边界值非常接近的输入时的表现与预期是否一致。
边界值的选择原则
如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围的边界的值作为测试输入数据。 例如:如果程序的规格说明中规定:“重量在
10公斤至50公斤范围内的邮件,其邮费计算公式为……”。作为测试用例,我们应取10及50,还应取10.01,49.99,9.99及50.01等;如果输入条件规定了值的个数,则用最大个数和最小个数,比最小个数小一,和比最大个数大一的数作为测试数据。例如,一个输入文件应包括
1~255个记录,则测试用例可取1和255,还应取0及256等;分析规格说明,找出其他可能的边界条件。
编程要求
使用边界值法设计测试用例,并根据提示,在右侧编辑器补充代码,实现
calcEdge函数的黑盒测试。此次黑盒测试需要你设计4组符合边界值选择原则的测试用例。待测试函数
calcEdge的功能是计算一个直角三角形的斜边长,其中a和b分别表示直角三角形的两条直角边的长度。为了你专注于设计测试用例,edge参数表示当输入a,b后你的预期输出。 注意:若a或b小于0时,函数的计算结果为-1。
测试说明
平台会对你编写的代码进行测试:
测试输入: 预期输出:
符合边界值选择原则的测试用例数量:
代码
#include"func.h"
#include
//计算直角三角形的斜边长度
float calcEdge(float a, float b, float area);
void BlackTest1(){/*请按要求设计测试用例,并调用calcEdge*//*********Begin********/calcEdge(-1,0,-1);calcEdge(0,-1,-1);calcEdge(-0.01,0,-1);calcEdge(0,1,1);/*********End*********/}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
