在测试人眼中真的是“万物皆可测”,不管是物体(铅笔,桌子)、终端(手机,电脑)、软件代码、硬件设备等等。那是因为在底层逻辑中,我们搞清楚了其核心本质,总结起来有三个方面:
01 明白“什么现象是缺陷”
这个问题看似有点摸不着头脑,有的人可能都没有理解测试是什么。但是如果我们把问题继续拆分:
(1)、明白你要测试的系统
不管测试的是什么,也不用管测试的什么属性(自动化、性能、安全)。首先作为一个测试人员要非常熟悉你测试的系统是做什么的。比如:你要测试一个“家政服务系统” ,那么应该非常清楚这个系统是接单的还是下单的还是后台记录家政人员服务的过程的,是web端的还是app端还是小程序端的。
(2)、明白这个系统正常的功能、业务、流程是什么
一个“家政系统”,下单是从哪里,接单是在哪里,服务数据又是在哪里可以查看。一个“服务”从下单-->接单-->服务过程-->结束。整个流程是如何的?涉及到哪些界面甚至是那些菜单。
(3)、明白哪些表现是错误的
明白正确的业务和流程时,就相当于我们有一个判断的依据。比如“家政系统”,客户下单时进行了付款操作,但是付款后没有预约时间的界面,那么后台接到这个订单的人员应该在什么时间开展服务呢?所以当提交订单后,发现整个数据中没有预约时间,就应该是一个“bug”(缺陷)。所以测试中要知道什么是对的,什么是错误的,都应该做到有据可依。
02 明白“如何测试可以更加规范”
前面讲到要有据可依,所以整个测试活动应该有一个规划和流程,并提供相应的文档。从需求评审-测试计划-测试设计-测试执行-测试结束都应该有一个规范来约束相关人员的行为。在其中每个阶段也会有相应的更加细致的活动来进行开展。
比如在测试设计阶段,应该使用科学的,规范的方法对系统的性能,安全进行合理的设计和规划。比如常见的性能测试工具Jmeter的使用,都可以非常高质量的完成相关的测试。
03 明白“如何测试更加彻底”
在知己(知道自己该做什么)知彼(熟悉测试对象)基础上就是如何做的效率更高,质量更好。那么我就需要一定专业能力和技术。
需求评审:掌握评审的技术,好的需求文档就是一个高质量的依据。有了这个依据就可有判断现象是否合理,是否是缺陷。
测试计划:进度,人员的安排,质量的要求和设定。测试设计:等价类、边界值、流程图、场景法、判定表等。在自动化中涉及业务流程提取,性能测试中涉及场景的创建和并发设计,安全测试需要有攻防能力。
测试执行:日志的抓取(adb、Linux、抓包、数据库命令等操作),执行的工具(python,selenium,appium,Jmeter,Jenkins,GIT,docker,K8S,nmon......)
测试结束:报告总结,质量评估,项目复盘,经验分享等等。
其中每一个阶段都应该有质量的标准和要求。达到一个阶段标准后,就可以进入下一个阶段的测试。符合每个阶段的出入准则。
总结
搞定以上三个问题,也可以有“万物皆可测”的自信。当然每个阶段从了解到熟练的掌握也是需要时间的。学习的规划中可以根据自己的哪里,职业方向进行专业性的学习即可。
最后感谢每一个认真阅读我文章的人,下方这份完整的软件测试教程已经整理上传完成,需要的朋友们可以文末自行领取:【保证100%免费】
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!