首先,你需要有心理准备,不是说会自动化,就不用干手工测试了。 自动化测试没有办法完全取代手工测试,有些测试场景,自动化的成本要明显高于手工。
其次,咱们把平时的测试工作简单分一下类,手工测试最常见的就是基于界面的测试,通常可以串起来整套流程。 但是对于分层测试来说,接口测试是一种回报率更高的方式,自动化测试在接口测试的应用是最普遍的。 当然,还有性能,安全,这些一般都是自动化来实现。
然后,再来说一下技能。技能一般分为工具和代码两种,他们都可以达到自动化测试的效果。 如果代码能力较差,一般会先会一些工具过渡,然后再把编程能力提上来。 而且一定需要注意的是,业务测试的能力是绝对不能丢的。
工具常用的有 jmeter, postman 这样的工具,现在国内也出现了像 metersphere, apifox 等等自动化工具,都可以了解一下,其中,我个人觉得 jmeter 是要重点掌握的,它的能力足够强,既可以做全流程的接口测试,也可以做性能测试。
然后是界面端的工具,一般就是集成录制和回放功能,然后生成代码片段,以及一些遍历工具。 像 selenium ide, cypress, katalon studio 等等。 cypress 会比较流行一点,但是需要会一点 javascript 基础。 这一类工具的实用性不是很强,要么就是迁移性较差,要么就是应用不广泛,还有的是学习成本高。
接下来,说一下编程。当会一些工具之后,一般都会掌握一两门编程语言。一方面,会编程职业前景会好一点,另一方面,很多工具都会支持通过编程来自定义脚本。
编程语言的选择,测试领域一般是 python 和 java,如果没有接触过,两个选一个就行了。 如果前端测得多,要求高,最好学一下 javascript。 对于测试来说,刚开始上手的时候,我觉得没有必要太精通,花过多心思在各种编程语言的进阶用法上,能写出测试用例就差不多了,在工作中再去提升。
掌握好编程语言后,会接触各种各样的框架和库,他们就是去干具体的测试工作的。以 Python 为例,做用例编写,用例收集,用例运行,测试报告生成会用到单元测试框架,比如 unittest 和 pytest。
接口自动化一般会用到 requests / aiohttp / httpx 这样的库, 界面端会用到像 selenium / playwright / appium /airtest 这样的框架, 性能会用到 jmeter/ locust 这样的东西。
以他们为核心,要实现的大多数测试场景和技术,都很少从零开始写,会用到具体的库,比如怎么操作 csv 文件,怎么操作 yaml, 怎么实现参数化,怎么控制数据库,怎么处理数据依赖,怎么做数据生成,怎么清理垃圾数据, 怎么实现并发,怎么做分布式处理,怎么做集成,怎么部署自动化执行环境,就不一一展开说了。
有缘再聊吧。
本文完,如果不过瘾,我还整理了软件测试入门到进阶的完整笔记,可以点击查看
软件测试需要学习什么?
已经更新的内容有 Selenium网页端web自动化测试:
- 一、为什么用Selenium做自动化测试
- 二、Selenium chromedriver安装教程和快速使用
- 四、Selenium元素定位方式
- 五、Selenium等待方式
- 六、Selenium滚动页面
- 七、Selenium如何使用POM分层模式
- 八、Selenium关键字驱动自动化测试框架
Appium移动端App自动化测试
- 一、Appium环境搭建保姆级教程
- 二、Appium五分钟快速上手
- 三、Appium如何进行元素定位
- 四、Appium核心API操作
- 五、Appium获取和点击坐标
- 六、Appium实现图片放大和缩小
- 七、Appium H5 页面怎么测试
- 八、Appium 2.0 发布,如何升级
- 九、Appium并发测试如何做
快点进来看看吧:
软件测试和自动化测试学习路线图