最近我在复习《软件测试的基础知识》,在边学习边总结的过程中,我把我的笔记贴出来做一个学习记录。今天要讲的话题是我在早上来上班的地铁上整理出关于[黑盒测试]的相关理解。
一.什么是黑盒测试?
黑盒测试:其实是测试中把我们的被测软件或者系统看成一个不能打开的盒子,在完全不考虑程序内部结构和内部特性的情况下,通过相关暴露出来的接口对程序进行测试。
黑盒测试只检查程序的功能是否按照我们的需求规格说明的规定,能正常的使用;能够有正确的输入输出信息。着眼于程序的外部结构,不考虑程序的内部的逻辑。
一般来说关注对软件的界面和可见的功能。从用户的视角,通过不同的数据或者事件驱动系统,通过输出结果进行判断。
二.黑盒测试的优缺点?
A.优点:
1.容易实施,不需要关注内部实现
2.更贴近用户的实用角度
B.缺点:
1.测试覆盖率较低,一般只能覆盖到代码的40%
2.针对黑盒的自动化测试,复用率较低,维护成本较高。
一般我们的软件产品在研发迭代过程中,最容易变化的就是功能。所以说特别是界面UI的产品,或者互联网的产品非常频繁的变化,今天搞个活动,明天搞个升级,变化非常快。所以针对功能的自动化测试,测试用例重复的利用率较低,功能频繁变,脚本的维护成本代价相对比较大。
三.黑盒测试主要测试什么?
1.是否有不正确的或遗漏的功能?
2.在接口上,输入是否能正确的接受?能否输出正确的结果?
3.是否有数据结构错误或者外部信息(例如数据文件)访问错误?
4.性能上是否能满足要求?
四.黑盒测试的主要设计方法?
我们在写测试用例的时候,要围绕需求要点,考虑用户不同的复杂场景;用下图的设计测试用例方法,尽可能细致的写出用例。常见的用例设计方法如下图: