今天和女朋友吵架了,(假设你有女朋友)。
今晚又是一个人睡沙发,这天晚上,你躺在沙发上,夜不能寐
因为你需要买礼物给你女朋友,但是你不知道她想要啥
决定。痛定思痛
决定分享一下今天的主题——黑盒测试
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/86634cd011454ccfa72af937cef84140.png
什么是黑盒子测试?
正如前面刚刚提到的,你需要给你女朋友买礼物,但是你不知道她喜欢什么
所以,你只能
1.你试图给女朋友买一份她喜欢的红色连衣裙(输入)。2.你尝试给她买一份她喜欢的音乐会门票(输入)。
…
以上每一次尝试,你都在观察她的反应(输出)。你并不需要了解礼物的制造过程(算法的内部结构)
就这样,其实以上的动作,就是黑盒测试的测试用例
黑盒测试是一种测试方法,我们不需要了解程序的内部结构或内部功能,只关注程序的输入和输出。类似于你买礼物,你并不需要知道所有礼物的详细信息,你只需要知道你女朋友的信息(输入),然后选择一个她可能会喜欢的礼物(输出)。
图片
在真实的软件测试环境中,黑盒测试有助于发现输入/输出错误,用户界面的错误,以及在数据结构或操作系统的行为中的初始化和终止错误。说白了,黑盒测试就是最经典的手工测试,测试人员不关心软件的内部知识或实现细节,而是专注于根据提供的规范或要求验证功能。
今天和女朋友吵架了,(假设你有女朋友)
黑盒测试可以通过以下方式进行:
语法驱动测试——这种类型的测试适用于可以用某种语言在语法上表示的系统。例如,语言可以用上下文无关语法来表示。在此,生成测试用例,以便每个语法规则至少使用一次。
等价划分——我们经常看到许多类型的输入的工作原理相似,因此我们可以将它们分组并仅测试每组中的一个输入,而不是单独给出所有输入。这个想法是将系统的输入域划分为几个等价类,使得该类的每个成员的工作方式相似,即,如果一个类中的测试用例导致某些错误,则该类的其他成员也会导致相同的错误。错误。
该技术涉及两个步骤:
等价类的识别 -将任何输入域划分为至少两个集合:有效值和无效值。例如,如果有效范围是 0 到 100,则选择一个有效输入(如 49)和一个无效输入(如 104)。
生成测试用例 - (i) 为每个有效和无效的输入类别分配一个唯一的标识号。(ii) 编写一个涵盖所有有效和无效测试用例的测试用例,考虑到没有两个无效输入会相互掩盖。要计算数字的平方根,等价类将为(a) 有效输入:
完全平方输出的整数将是一个整数。
不是完美平方输出的整个数字将是十进制数。
正小数
负数(整数或小数)。
数字以外的字符,如“a”、“!”、“;”等。
边界值分析——边界是非常容易发生错误的地方。因此,如果针对输入域的边界值设计测试用例,则测试效率会提高,发现错误的概率也会增加。例如 – 如果有效范围是 10 到 100,则除了有效和无效输入之外还测试 10,100。
因果图——该技术在称为原因的逻辑输入与称为结果的相应操作之间建立了一种关系。原因和影响用布尔图表示。遵循以下步骤:
确定输入(原因)和输出(结果)。
绘制因果图。
将图转换为决策表。
将决策表规则转换为测试用例。
例如,在下面的因果图中:
它可以转换成决策表,如下所示: