首先先了解自动化测试是什么?
自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。
在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。
自动化测试的类型
什么可以自动化?实际上很多,但是通常容易误解这个问题。
有两个主要类型,功能性和非功能性:
功能性:测试软件的实际业务应用程序。
非功能性:用于测试软件的其余要求(例如性能,安全性,数据存储等)。
性能测试主要是使用测试工具,Loadrunner、Jmeter等,对软件进行压力测试、负载测试、强度测试等等,因为这些无法用手工进行代替,所以必须自动化。
自动化功能测试:包括单元测试、接口测试、UI测试。主要是编写代码、脚本,让软件自动运行,发现缺陷,代替部分的手工测试。但一般只有大的项目才需要进行自动化,中小型项目不推荐使用自动化测试。
现2023年,目前企业对自动化测试需求越来越多。测试人员想要在未来有更好的发展,非常需要通过掌握自动化技术来增加自己有竞争力。
学习自动化测试,首先要搞定Python或者Java语言,建议先从Python入手,先学习Python的基本语法等。
web端的自动化测试:selenium安装、录制、处理;web控件、JavaScript脚本、PO模式;
移动端APP自动化测试:appium使用、录制、元素定位方法;APP控件定位、交互,参数化用例;appium问题定位分析、源码分析、二次封装;
服务端接口自动化测试:接口自动化测试框架request;接口请求构造、断言;json/xml请求、响应断言;headcookie处理、认证体系。
接口自动化测试
接口测试一般有两种方式实现测试,一种通过工具实现;
另一种通过代码实现,工具更多的做调试,大多数互联网企业做接口测试都是通过代码实现。
工具的测试,一般容易上手,对于“0”基础的人来说,不失为入门的首选,代码量有限,只要熟悉测试流程,会熟练使用工具就能够完成基本的接口测试,但是灵活性差,自动化程度没有代码高,市面上常见可以接口测试工具有postman、Jmeter等。代码的实现,主要是通过python。
配套框架:Python+requests+pytest+yaml+alluer+Jenkins;
web自动化测试
web自动化测试主要通过代码实现。比如常见的应用有:Python/Java+selenium。 首先,还是需要熟练使用一门语言,非常熟练的运用至少一门编程语言。 其次,需要学习web测试的流程步骤,因为是基于页面默认人工操作,故而需要对于页面构成需要有一定的基础。
比如:HTML+JavaScript+CSS,懂得页面元素的定位,以及常见的定位方式的使用等。如果有接口自动化的基础,那么学习web自动化相对会容易一些。 再者,通过一些相对完整的项目去实战训练,才能够较好的学习并把握web自动化的技能,通过反复的项目训练才能逐步的达到理想的效果。
配套框架:Python+selenium4+pytest+POM+allure+Jenkins;
APP移动自动化测试
移动自动化测试主要也是通过工具和代码的方式实现。比如常见的有Python/Java+appium。
移动自动化除了哟啊掌握一门编程语言外,还需要学习移动测试的流程步骤,移动基本功能的和web端的基本类型。
但是更多的需要测试一些非功能层面的应用,需要学习并使用一些手机模拟器(如:mumu)、第三方工具(如:GT工具)、adb命令、monkey等的使用,学习使用的工具较多,并且需要结合代码一起使用,这就要求学习的知识范围更加广泛,先从工具使用入手。
另外:移动端的应用还需要进行异常测试,对于使用过程中出现网络、信息中断等异常场景的设计,对于手机本身使用过程中的场景结合实际项目训练学习。
配套框架:Python+appium+POM+pytest+allure+Jenkins;
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
每一次的努力都将成为未来的一个宝贵经验,不断挑战自我,迎接各种未知,才能创造更加辉煌的人生。没有放弃,就不会有失败;没有尝试,就不会有成功。所以,让我们勇往直前,不停前行!
只有不停地努力,才能走向成功的道路。失败并不可怕,最可怕的是放弃。把握每一分每一秒去做自己想做的事情,让梦想与现实贴近,不断追求进步,这样才能在人生之路上越走越远。
每一天都是一个新的开始,不要放弃任何一个机会去追求你的梦想。困难并不可怕,坚定的信念和不懈的努力才是成功的关键。相信自己,勇往直前!