本篇文章,从第三个角度来谈软件测试的方法,按是否查看代码划分,可以分为:
黑盒测试
白盒测试
灰盒测试
1、黑盒测试
黑盒测试,也是功能测试,测试中把被测的软件当成一个黑盒子,不关心盒子的内部结构是什么,只关心软件的输入数据和输出数据
以登陆百度为例,输入用户名,输入密码,点击登录即可,你只是在浏览器上,看到百度的登陆页面,不需要关心内部的源代码是怎么判断你的输入的。
同样的,经常使用的手机,你也只是看到它表面存在的返回键、Home 键、菜单键、音量键等,按下它们,是否能给你对应的反馈,不需要知道它内部是怎么运转,调用了什么指令等。
2、白盒测试
白盒测试,又称为结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。指的是打开盒子,研究内部的源代码和程序结果
还是关于百度的登陆功能,在用户名输入框这一模块,内部存在诸多判断逻辑,例如,用户名长度判断、用户名是否包含特殊字符的判断、用户名是否未注册的判断等等,都需要通过阅读源代码来审核它的全面性与安全性。
生活上,回到手机的例子,当你按下返回键,对应的触点,它涉及的电路板接线是否正确,这时候,就需要拆开手机,观察内部结构了。
的确,白盒测试需要看代码,这就意味着懂编程,貌似白盒测试工程师更高级,但其实,只是外行人员把代码看得过于神圣。
白盒测试的岗位需求,通常会在嵌入式测试上有需求,要懂 C 语言或者 C++,涉及到内存泄露,指针泄露等。市场上专门针对白盒测试的岗位需求很少。
同时,白盒测试的岗位,工作内容非常固化,不利于个人提升。
基于以上的种种,不建议将重心放到白盒测试上。
3、灰盒测试
灰盒测试,介于白盒测试和黑盒测试之间的一种,灰盒测试多用于集成测试阶段,不仅关注输入、输出的正确性,同时也关注程序内部的情况。
对于灰盒测试,开发人员在做程序调试的时候,就深有体会了,既需要在前端页面操作,也需要观察代码的走向。
生活上,灰盒测试的例子不容易感受到,但是,在富士康里,会非常容易看得到,例如给手机做质检的时候,既要看手机屏幕的画面跳转,也要看内部电路板,芯片的运作等。
以上就是本篇文章所要分享的内容,欢迎各位大牛指正。你的指正,能让我在测试之路上快速成长。
Leo Never Stop Fighting!