落魄软件测试员,整理给自己的技能进阶知识体系复习大纲

·  阅读 29

在这里插入图片描述 "长江后浪推前浪,前浪死在沙滩上" , 测试行业由于就业门槛低薪资报酬高,每年有大量新鲜血液不断涌入。

90后、00后比你年轻比你能加班,纯功能黑盒测试人员很容易被取代,入行几年仍然待在功能测试岗的同学面临很大的压力,常常感到迷茫无助,找不到发展方向。

在这优胜劣汰的状态下,作者身处央企如今也开始考虑自己工作的问题,我们可以选择的只能是,逐步的打好自己的技术,才能在不安稳的社会形态下,逆行保持自己的安稳。也该复习复习,在此汇总一下自己过去入门所学过的步骤。

本文的难度级别,个人定位为中级软件测试工程师。个人任务是重要基础的均汇总,如有遗漏,及时提醒,愿听闻。小编也是逐步前进的小伙,当前也需要及时的补充自己,过程如有不对的地方,尽快指出。如文章对你有帮助,希望能给于鼓励,手动点个赞吧。

汇总内容包含自己对系统质量保障的理解与把控,以及部分大神的借鉴(很多都是曾经记下的知识点,来源我也忘记是从哪里,如没有提及希望包涵)。

文章全文,均为我一字一字手敲。写给自己供于复习,同时分享给一起努力的朋友。

大纲

一.基础知识

软件测试的学习路线就是一条开始缓慢,而后不断提速直至达到一个人理解能力的极限的曲线,基础知识扎实的同学的学习速度和理解能力会远远超出基础知识不牢靠的同学,拉开越来越大的差距。

更强的学习能力可以带来更深的技术深度,但基础知识对技术深度的影响还不止于此。

对于软件测试而言:测试基础是软件测试最重要最加分的部分,只要你是做测试,不管是什么测试,测试的基础、理论知识都是必须学会的。

最好是学到什么程度呢,最好是能够理解,能有自己的话表述出来

毕竟面试初级测试的时候,问的问题都是从基础理论上进行考核的。

那测试基础有哪些内容呢?

测试的定义、测试的分类、测试的方法、测试的生命周期。

测试计划、测试方案、测试策略、测试用例的编写。

BUG的分类、BUG的六要素、BUG的生命周期、BUG的定义.

测试和开发流程的关系、瀑布流、V字形、W字型(双V)、螺旋型、敏捷等等。

PDCA、5W2H等分析管理的方法

质量管理体系CMMI(了解)

嗯,大概就是以上的内容吧,以上全部都是理论和文档能力、只要你肯背、肯写,都是能独立的掌握的。

二.进阶自动化阶段

需要掌握python基础的语法有一定的编程能力,要建立编程思维和面向对象程序设计。

1)Python开发环境

Python开发环境的搭建、Pycharm使用

2)Python基础

变量以及变量的类型、标识符和关键字、变量名命名方式、算数运算符、变量数据类型转换、输入和输出、注释、if语句基本格式、if…else…语句、if…elif…else语句、逻辑运算符、比较关系运算符、运算符优先级、while循环语法格式、while嵌套应用、break的用法、continue的用法、列表概念及操作、元组概念及操作、字典概念及操作、字符串概念及操作、集合概念及操作、for循环及for…else用法、函数的基本语法、函数执行流程、文档注释、带参数的函数、带返回值的函数、函数的嵌套调用、匿名函数、递归函数、局部变量和全局变量、引用、文件的概念、文件的打开与关闭、文件读写, 以及文件定位读写、文件、目录相关操作

3)面向对象

面向对象介绍、类和对象的概念、魔术方法的意义及作用、对象成员的访问控制权限、继承的概念及意义、继承、多层继承和多继承、多态的概念以及应用、类属性和实例属性、实例方法、类方法、静态方法、设计模式: 单例模式

4)异常处理

理解异常的作用、捕获异常、异常的传递规则、自定义异常

5)模块和包

模块和包的概念、__all__的用法、import语句用法、from…import…用法、from…import * 用法

基本的编程思想和数据学会了之后,需要分方向了。在这里快速分方向是在web自动化和app自动化上做出学习的主次。

web自动化学习内容

1)WEB自动化入门

自动化测试的理论知识、主流的Web自动化测试框架介绍、Selenium的发展历史及工作原理、元素查看工具使用、环境搭建

2)WEB自动化基础

元素基础定位方法、Xpath和CSS元素定位方法、元素常见操作、浏览器操作方法、鼠标键盘操作、显示等待和隐式等待、HTML特殊元素处理、窗口截图、验证码处理

3)WEB自动化中级

UnitTest框架、Fixture、UnitTest断言、参数化、测试报告

4)WEB自动化高级

PO模式、数据驱动、日志处理

5)项目实战

自动化测试流程、项目自动化框架设计、自动化代码实现

APP自动化测试技术

APP应用系统架构、测试环境及发布平台、APP敏捷开发模式、APP应用测试要点、业务功能测试、兼容性测试、安装卸载升级测试、交叉事件测试、Push消息测试、性能测试、用户体验测试、稳定性测试

2)移动自动化基础

移动端测试分类及特点、ADB命令及Monkey使用、appium环境搭建、appium工作原理

3)移动自动化中级

APP和手机系统操作、元素定位、元素操作、高级手势操作、混合APP测试、PyTest测试框架、定制测试报告、YAML数据读写

4)移动自动化高级

PO模式、数据驱动、Git、Jenkins持续集成

5)项目实战

APP项目实战

接口自动化测试

掌握接口相关理论知识、postman+fiddler+jmeter测试工具用来辅助测试、ddt数据驱动、unittest框架、Mock测试、实现接口自动化 在这里插入图片描述 自动化测试进阶-- PyTest与CI

PyTest框架持续集成接口与UI框架整合

学习主流:PyTest测试框架全方位应用,并对原有框架进行升级;

PyTest+ Allure的实现;

Jenkins持续集成,并结合测试框架实现企业级自动化测试落地;

将原有独立的 WebUI、APPUI、接口自动化测试框架形成一套完全属于你自己的自动化测试框架;

三.需要学习工具

下面我简要的罗列常见的测试,以及适合其最佳的测试工具。

性能测试工具: Loadrunner,Jmeter,Ngrinder,Gatling,每款测试工具存在一定的差异及其局限性,可以参考相关文档详细了解。

功能测试工具: Selenium, QTP

APP自动化测试工具: Appium, UI Automator, MonkeyRunner, Android UI测试推荐使用UI Automator, 是Android提供的自动化测试框架,基本上支持所有的Android事件操作。IOS应用程序可以选择使用Appium。

接口自动化测试工具: Junit,TestNG, OKhttp, HttpClient,Spring Restful等,需要有一定的编码经验,当然也有现 成的工具,比如Postman,HttpRequester,SoapUI等。

单元测试工具: Junit, TestNG, EasyMock, Mockito, JMockit等

四.遇到问题

对于这些基础知识的学习过程并不轻松,时常会碰到不能理解的知识点,我的习惯是一般会先跳过这些点,有些是知识点的编排问题导致后面才会解释的概念提前出现,看到后面再回过头来自然就能理解了;另一些情况确实是书籍讲解的不够细致,比较直接的办法是直接搜索相关文章、博客、问题等帮助理解(有些专门针对于一个技术细节的文章讲得会比书中详细得多),麻烦一点的话就是找其他书的对应部分做参照,如果还没有找到答案,我觉得大概率这个问题其实并不重要,有时候过分关注于细节就是一种浪费。

一方面是不懂的地方可以暂时跳过,另一方面是如果一本书读完还觉得云里雾里,完全没了解到这门课程的内容,那么绝对不能就此罢休,可以换个课程学一段时间再回过头来再细读一遍,或者干脆就换本书继续学。

另外补充一句:凡事要趁早。

特别是技术行业,一定要在头几年打下扎实的技术功底,这对将来的技术管理或技术专家路线都有极大的帮助。

软件测试是为数不多可以随着工龄的增长而长经验的技术岗位,测试与开发不同,开发可能更多的是和代码打交道,更注重在一个领域往纵深发展,而测试可以接触不同各行业不同业务知识的项目,变化很多。

希望我的一些拙见,能给各位软件测试er和还在测试领域迷茫的同学一点帮助。

五.成长之路

下面是一份配套资源,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

这些都可以点击加入我的学习、摸鱼群 免费领取,还有一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程分享!,其中资料包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果有任何对软件测试的困惑,可以关注我并进行留言,我会上线给你解答,谢谢。

💙好文推荐

推荐👍:《随手写个接口测试工具,让学妹瞧瞧我的能耐》

推荐👍:《基础很好?总结了43个工作中容易遗忘的 Linux 操作,倒要看看你能拿几分?》

推荐👍:《月薪3万的大厂测试工程师裸辞3个月,送外卖谋生背后的真实感悟》

推荐👍:《软件测试界扎心的谣言:为什么说功能测试是巨坑?》

推荐👍:《2021测试开发面试题大全及答案(包含测试基础|接口测试|自动化测试...),289页》

分类:
前端
标签: