接口自动化测试(业务逻辑层):主要检查验证模块间的调用返回以及不同系统、服务间的数据交换,常见的接口测试工具有postman、jmeter、loadrunner等(现主要使用 python+requests+pytest+Git+Jenkins+…)
UI自动化测试(GUI界面层):UI层是用户使用产品的入口,所有功能通过这一层提供给用户,测试工作大多集中在这一层,常见的测试工具有UFT、Robot Framework、Selenium、Appium等(现主要使用 python+selenium/appium+pytest+Git+Jenkins+MySQL+testlink/redmine)
在开始做自动化测试之前,需要确定项目是否适合做自动化测试:
软件需求稳定,不会频繁变更
测试脚本的稳定性决定了自动化测试的维护成本。如果软件需求变动过于频繁,测试人员需要不断更新测试用例以及测试脚本,而脚本的维护实际上是代码开发的过程,需要修改、调试,必要时还要修改自动化测试的框架,所花费的人力、物力大便不值得弄自动化测试。
项目进度压力不大、软件维护周期长
自动化测试需求的确定、框架的设计、测试脚本的编写与调试均需要相当长的时间来完成,如果项目周期较短,没有足够时间支持,结果还不如手工测试来的快、简单,就不需要做自动化测试。
测试数据、测试用例、脚本的重用性较强
需要在多平台运行相同的测试用例、组合遍历型的测试、大量重复测浏览器的兼容、操作系统的兼容
被测系统开发较为规范,可测试性强
主要考虑三个方面
1、所测试的项目之间是否很大的差异性(如C/S系统和B/S系统的差异);
2、所选择的测试工具是否适应这种差异;
3、测试人员是否有能力开发出适应这种差异的自动化测试框架。
具体来讲哪些适合做UI测试自动化,哪些适宜做接口测试自动化?
UI测试自动化
既有的UI界面变化很小,那么此时做UI测试是很有必要的。如果几天一小改,上十天一大改,那就不用考虑了。性价比太低,维护成本过大,不建议做UI自测试自动化。
接口测试自动化
不管何种团队,只要不是一看到代码就头晕,那做接口测试自动化是一个不错的选择。首先入口门槛低,借助工具如jmeter、soapUI等工具,通过少量的代码(网上搜罗一大筐)就能实现接口测试自动化。所以这似乎是性价比很高的选择了。
在了解上面UI测试自动化和接口测试自动化的适用场景后,做好选择后;
回到问题本身,怎么利用好UI/接口自动化测试,提升测试效率呢?
首先,注意选择一个团队学习成本最低,入手最快的工具,而不是你认为“最强大”的工具,并做好培训指导工作。除非你就是所在组织测试自动化的全部,你就根据时间“肆意而为”。
针对UI测试自动化:
不建议对所有界面做自动化,关键页面做好自动化即可。
用户压根不关注也不重要的页面,建议不用花过多精力在上面。
注意进行分阶段,比如第一个版本可以先尝试界面“正常”用例的自动化,后面再进行第二个版本、第三个版本的自动化。
针对接口测试自动化:
做好接口自动化的持续集成(如利用jenkins);
每天定时执行接口测试自动化用例,并生成报告(只有及时发现问题,才是自动化的意义所在);
做好接口测试自动化的维护工作,做好第一版很容易,但坚持更新往往是一个难题;
如果项目预留测试时间不够足的情况下,可以先考虑接口测试自动化,然后再进行UI测试自动化。
下面是我整理的2022年最全的软件测试工程师学习知识架构体系图 |
学会从层层困惑中看到一丝希望,学会从重重困难中找到一缕曙光,学会从阵阵郁闷中发现一份悠扬,学会从种种坎坷中获得一些力量。
我们必须先学会承受,再学会参与。承受是需要阅历和知识的,参与也有需要勇气和激情。生活就是在热情与平淡中慢慢的磨合的。
远不要沉溺在安逸里得过且过,能给你遮风挡雨的,同样能让你不见天日,只有让自己更加强大,才能真正撑起一片天。