目录:导读
- 前言
- 一、Python编程入门到精通
- 二、接口自动化项目实战
- 三、Web自动化项目实战
- 四、App自动化项目实战
- 五、一线大厂简历
- 六、测试开发DevOps体系
- 七、常用自动化测试工具
- 八、JMeter性能测试
- 九、总结(尾部小惊喜)
前言
1、自学软件测试怎么学?
步骤一:初学学软件测试,要先搞懂这种问题
要想进入到软件测试这个行业,就务必要知道什么是软件测试?为什么测试?测试什么?如何测试…
1)软件测试基础
需要搞懂的软件测试基本知识如下:
【测试计划】
管理文档文件、强调“做什么”,对测试全程的组织、资源、原则等进行规定和约束,并制订测试整个过程每个阶段的任务分配以及时间进度分配,并指出对各项工作的评估,风险分析和管理要求。
【测试方案】
工艺文件、强调“怎么做”,描述需要测试的特性,测试的方式 、测试环境的整体规划,测试工具的挑选或者设计方案,测试用例的设计方法,测试脚本的设计方案。
【测试用例】
用于全面覆盖软件测试,主要是包括有测试点描述、前置条件、操作步骤、预期结果等。
【缺陷报告】
记录缺陷、缺陷分类、缺陷跟踪,主要是包括缺陷简单描述、缺陷详细描述(包括有缺陷产生环境,缺陷产生步骤、缺陷产生原因)、相关附件。
【缺陷生命周期】
提交缺陷-确认缺陷-分配缺陷-修复缺陷-验证缺陷-关闭缺陷。
【测试报告】
主要是包括测试项目、测试条件、测试结果、采用的标准、报告说明。
软件测试
2)学习方法和途径
针对每一知识要点进行学习掌握,学习的方式可借助书籍、在线课程、论坛,或加入一部分专业的培训班等。
对于重要知识要点,推荐 结合生活经验思考。这是因为我们也许没有测试经验,但活了这么多年,生活经验都是有的吧。
每一个重要的知识要点都也许联想到生活上的某个场景或某个事件,结合着这种这种生活场景或事件进行通俗理解,再尝试用行业用语表达出来,反复体味,经过多轮回顾,整理归纳。
步骤二:挑选一名真实新项目,进行实操训练
经过系统的学习软件测试基本知识后,就可以进行实操训练了。挑选一名喜欢或熟悉的业务领域的一名小程序,体验使用的乐趣,若能找到相应的业务要求最好,若找不着业务要求能够把用户手册和帮助文档当作要求说明来读。
软件测试
整理一份测试计划,设计方案测试用例、寻找软件缺陷,用excel或word文档提交软件缺陷。
多训练几个小项目,可以说你己经完全能够担任功能测试初级测试员了。
步骤三:给自己加点“特效”,能够去找个工作了
完成上面两步,那么祝贺你了,能够开始找个工作了,但还只是一名可造之材,接下来,我们要加特效了,让你在同等水平中,脱颖而出,从此不怕招聘者问问问了。
软件测试面试:
【Mysql】
数据库的定义,数据库的增删改查操作。这一部分常常会笔试,没这个知识,如同在看天书。
【Linux】
安装VM虚拟机
linux的一部分常用系统命令。这一部分不容易笔试,但招聘者常常会问,知道不了解linux,例举linux命令,这一部分若不知道一二,会显得你特别low。
掌握这一些已足够满足面试、笔试及一开始的工作了,你能够找到一名软件测试的工作,但是薪酬也许不会很高,当然,以后的路还很远,未来你还需要晋升。
步骤四:成为一名及格软件测试工程师的必修课
想要成为一名及格的软件测试工程师,一开始1-2年的功能手工是必要的,要培养自身的测试思维,这在你之后做半自动化和自动化都非常有用,因为你知道自身该怎么去测试,然后利用工具把你的测试逻辑思维给表达出来。
软件测试工程师
接下来说下成为软件测试工程师还要学哪些知识:
【Fiddler抓包工具】
在测试过程中,我们常常要定位Bug是属于前端还是后台,好找对应的开发解决这个Bug,所以这个是必学知识要点!
【APP测试】
app是绝大部分公司都会开发的,目前app测试己经占主流,所以app测试非学不可,有很多公司如果你没有app测试经验就直接pass你了。
【Git和Java基本知识】
针对软件测试这个行业去针对性的学习Java的基本知识。
【Jmeter性能测试工具】
会这个技能,不管是你的面试还是你的薪酬都可以加至少3K!
【Loadrunner性能测试】
会性能测试的测试工程师都很受欢迎,这是因为绝大部分公司想测试下并发,压力测试现在也成为了必需品了。
2、怎么学自动化测试
首先,要有心理准备,不是说会自动化,就不用干手工测试了。 自动化测试没有办法完全取代手工测试,有些测试场景,自动化的成本要明显高于手工。
其次,咱们把平时的测试工作简单分一下类,手工测试最常见的就是基于界面的测试,通常可以串起来整套流程。
但是对于分层测试来说,接口测试是一种回报率更高的方式,自动化测试在接口测试的应用是最普遍的。 当然,还有性能,安全,这些一般都是自动化来实现。
然后,再来说一下技能。
技能一般分为工具和代码两种,他们都可以达到自动化测试的效果。 如果代码能力较差,一般会先会一些工具过渡,然后再把编程能力提上来。 而且一定需要注意的是,业务测试的能力是绝对不能丢的。
工具常用的有 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, 怎么实现参数化,怎么控制数据库,怎么处理数据依赖,怎么做数据生成,怎么清理垃圾数据, 怎么实现并发,怎么做分布式处理,怎么做集成,怎么部署自动化执行环境…
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
一、Python编程入门到精通
二、接口自动化项目实战
三、Web自动化项目实战
四、App自动化项目实战
五、一线大厂简历
六、测试开发DevOps体系
七、常用自动化测试工具
八、JMeter性能测试
九、总结(尾部小惊喜)
机会总是留给有准备的人,要时刻准备好迎接挑战。要有信心,有勇气,有决心,坚持不懈,朝着目标奋力前进,你一定能够赢得最后的胜利!
有时候,成功并不是那么容易得到的。要坚持不懈,不断学习,不断提高,用心去做每一件事,你一定会收获意想不到的结果。
无论何时何地,都要保持一颗向上的心。不要害怕失败,不要放弃梦想,要有信心,有勇气,有决心,勇往直前,你一定能够取得成功!