对于不了解软件测试或者刚进行不久的人们来说,黑盒测试就是点点点,没有技术含量,但是我要说的,错!黑盒测试也是一项极具技术含量的工作!
首先说一下黑盒测试,从权威书籍《软件测试》的定义来说,黑盒测试就是把程序看作是一个不透明的黑盒子,对程序进行数据输入和操作,只观察程序的运行结果,对比实际结果和预期结果的不同。
相对于白盒测试而言,黑盒测试不对程序代码的内部逻辑结构进行分析。所以白盒测试可以理解为如下图所示的形式。
本文不讨论白盒测试,只说黑盒测试。
传统观念中,黑盒测试除了设计和编写测试用例,执行测试之外,就是编写和提交缺陷报告了。这个过程中,除了设计测试用例有些技术含量外,其他的工作都没啥技术含量。不过这也是事实。但是如果认为这就是黑盒测试的那就片面了。因为测试工程师在提交bug的时候,有一个非常重要的环节就是确认bug的类型。啥意思呢?就是要标注清楚缺陷的类型,定位缺陷。这个工作可是一个比较有技术含量的内容了。
因此黑盒测试就不能是简单的点点就能搞定的,那需要工具软件的支持:
1、测试管理类工具——禅道。
禅道是一款开源的测试管理工具,国内不少中小型的公司和研发团队都会选择使用,功能丰富,使用简单。看下面的文章可以了解更多。
通过禅道,可以将测试中的用例、缺陷都进行很好的管理,尤其是对缺陷的跟踪和处理状态的变更会更加及时和高效,提升测试工作的效率。
当然除了禅道外还有其他的,比如说JIRA,ALM这些商业的测试管理或者项目管理工具。版权和付费问题,这里就不说了,感兴趣可以自己查找相关资料。
二、基于UI的自动化测试工具——Selenium IDE。
Selenium IDE是一个基于Firefox浏览器的插件,能够通过记录在浏览器的操作事件和操作行为,并将这些内容转化和生成代码,通过回放的方式实现自动化测试。
当然了,除了Selenium IDE,还有类似UFT(以前叫QTP)等工具也可以实现UI层面的自动化测试。
三、基于API文档的接口测试——postman
Postman是一款在接口测试方面非常简单实用的工具,基本可以满足所有要求的接口测试。
当然可能有小伙伴会质疑,接口测试还是黑盒测试么?当然是,因为按照黑盒测试的定义,接口测试过程中并不检查和考察实际代码的运行,只需要确定好请求数据(输入数据)和响应数据(程序实际运行结果)即可,所以从这个角度来说,接口测试也属于是黑盒测试。而基于API的接口测试,使用postman就能搞定。
四、基于缺陷定位的抓包工具——Fiddler。
作为测试工程师,如果你工作的时候被要求,不管是什么bug都直接提交给前端。那不要着急高兴,因为那是一种侮辱!对于测试工程师而言,如果在发现了bug之后,也不用管bug的原因,也不用确定是前端问题还是后端问题的话,那就是一种耻辱!
所以,定位缺陷原因,也是测试工程师的一项工作职责!这时候就需要一个工具软件Fiddler。Fiddler应用比较简单,本身也很小,能够通过它特有网络代理能力,抓取通过我们计算机设备(包括手机设备)与应用服务器之间的通信数据,然后分析数据的正确性,来确定缺陷的原因。
喜欢的小伙伴可以阅读。
五、基于Android移动APP自动化测试的工具——adb和monkey系列命令
移动APP应用场合和场景越来越多了,甚至说都是必不可少的,因此APP的质量也变得越来越受重视。如何高效的对APP进行测试,也变得越来越受重视。
为了不提升APP测试的难度,并且又能提升测试效率,所以可以使用adb和monkey实现APP的自动化测试。
最后,再次强调一下,只要不是看被测程序的源代码,都是黑盒测试,不管使用什么样的工具进行测试,也不管对这个软件的那些方面进行测试!!!
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:【文末领取】
【下面是我整理的2023年最全的软件测试工程师学习知识架构体系图】
一、Python编程入门到精通
二、接口自动化项目实战
三、Web自动化项目实战
四、App自动化项目实战
五、一线大厂简历
六、测试开发DevOps体系
七、常用自动化测试工具
八、JMeter性能测试
九、总结(文末尾部小惊喜)
生命不息,奋斗不止。每一份努力都不会被辜负,只要坚持不懈,终究会有回报。珍惜时间,追求梦想。不忘初心,砥砺前行。你的未来,由你掌握!
生命短暂,时间宝贵,我们无法预知未来会发生什么,但我们可以掌握当下。珍惜每一天,努力奋斗,让自己变得更加强大和优秀。坚定信念,执着追求,成功终将属于你!
只有不断地挑战自己,才能不断地超越自己。坚持追求梦想,勇敢前行,你就会发现奋斗的过程是如此美好而值得。相信自己,你一定可以做到!