软件测试工程师必备技能
1、协同开发能力
①项目管理(SVN、Git)
②数据分析能力(Fiddler、Charles、浏览器F12)。
2、接口测试
①概念及接口测试原理概念(概念、接口测试原理)
②接口测试工具(Jmeter 、Postman、SoapUI)
③常见接口协议(HTTP、HTTPS、web Service/SPAP)
④HTTP协议概念(URL、请求头、请求体、响应头、状态码)
⑤HTTP常见请求方法(GET、POST、DELETE、PUT)
⑥常见数据交互格式(application/x-www-form-urlencoded、multipart/form-data、application/json、text/xml)
⑦ HTTP状态码(1XX、2XX、3XX、4XX、5XX)
⑧常见鉴权认证方式(token、session、cookie)
⑨接口测试用例(业务功能、边界分析、参数组合、异常情况、性能 安全)
⑩bug分析与定位(接口request 、reponse内容、数据库表结构分析、增删改查基本操作、日志分析)
⑪接口测试报告
3、软件测试基础知识
①软件测试的定义(软件测试的概念)
②软件生命周期(瀑布型、V型、W型、敏捷开发)
③软件测试的分类(黑盒测试、白盒测试、集成测试、系统测试、性能测试、安全测试、自动化测试)
④软件测试流程(测试需求分析阶段、测试计划阶段、测试设计阶段、测试执行阶段、测试评估阶段)
⑤软件测试方法(等价类、边界值、因果图、判定表、场景法、错误推测法)
⑥软件测试用例(用例编号、测试功能、测试标题、用例优先级、前置条件、测试数据、测试步骤、预期结果、实际结果)
⑦缺陷(bug)的定义(bug的生命周期、bug的类型、bug 的严重级别、bug的管理、bug的提交、bug的跟踪。)
4、Python自动化技能
①python编辑器(Cpython、Ipython、Jpython、pypy、Ironpython)
②python数据类型(浮点型、字符串、整形、布尔型、列表、字典、元组、集合)
③python运算符(1. 算数运算符:+,—,*,/,% 2. 逻辑运算符:and,or,not 3. 成员运算符:in,not in 4. 赋值运算符:=,+=,—= 5. 比较运算符:<,>,<=,<=,= =,!=)
④函数:1. 定义:def函数名() 2. 参数类型:必备/默认/不定长 3. 传参方式:位置/关键字 4. 函数的使用 5. 函数的返回值
⑤文件处理: 1.打开文件:open/with open…as 2.读模式:readline/readlines/read 3.写模式:write 4.追加模式
⑥控制流:(if判断、for循环、while循环)
⑦异常处理(try、except、else、finally)
⑧面向对象(类、属性、方法、对象、继承、派生、类属性对象属性、类方法、类实例方法、静态方法)
5、Linux基础命令
①Linux基础命令:(权限、文件查询、进程、端口、防火墙操作、目录切换、新建文件、编辑文件、切换用户、查看日志)
②环境搭建:(JDK安装、环境变量配置、Tomcat安装、MySQL安装)
③项目部署:(conf存放配置文件、jdbc配置文件、webapps默认存放war包、重启服务)
6、数据库技能
MySQL数据库:(连接数据库、创建数据库 表、增删改、多表关联(等值连接)、左连接/右连接、分组查询)
7、初级性能
初级性能知识:(性能理论、操作系统、网络性能测试工具、服务器、数据库)
8、其他网络知识
①TCP/IP四层协议线:(网络接口层、网络层、传输层、应用层)
②防火墙:(包过滤防火墙、状态过期防火墙、应用网关防火墙、ACL、NAT)
③VPN:(二层VPN:L2TP、三层VPN:IPsec、七层VPN:SSL、VPN)
9、网络知识OSI七层网络模型
①物理层:(双绞线、无线电波、光纤、比特流)
②数据链路层:(MAC地址、交换:VLAN/Trunk/STP、帧)
③网络层:(IP协议:IP子网划分/子网掩码/IP分类/IP v6、ARP协议、路由协议:静态路由协议/动态路由协议、ICMP协议)
④传输层:(TCP协议、UDP协议、端口)
⑤会话层
⑥表示层
⑦应用层:(HTTP协议、HTTPS协议、DNS协议、FTP协议、FTP协议)
10、APP专项测试能力
①App性能测试:(GT、emmagee、itest)
②App性能测试监控指标:(响应时间、内存、cpu、fps、ps、流量)
③App稳定性测试-monkey:(-v、-p、-s、–throttle、–randomize-throttle、–ignore-crashes、–ignore-timeouts、monkey API )
④App日志分析:
网络类型:WIFI/5G/4G/3G/2G
无网:断网重连./本地数据存储
延时、丢包:响应时间/超时重连/页面呈现完整性
弱网测试工具:Fiddler 、Charles、network emulator、Xcode
App性能测试监控指标:(adb、adb logcat、Trace文件)
软件测试工程师发展路径
1、初级测试工程师
刚入门拥有计算机科学学位的个人或具有一些手工测试经验的个人。开发测试脚本并开始熟悉测试生存周期和测试技术。
2、测试工程师/程序分析员
具有1~2年经验的测试工程师或程序员。编写自动测试脚本程序并担任测试编程初期领导工作。拓展编程语言、操作系统、网络与数据库技能。
3、高级测试工程师/程序分析员
具有3~4年经验的测试工程师或程序员。帮助开发或维护测试或编程标准与过程,负责同级的评审,并为其他初级的测试工程师或程序员充当顾问。
4、测试组负责人
具有4~6年经验的测试工程师或程序员。负责管理1至3名测试工程师或程序员。担负一些进度安排和工作规模/成本估算职责。
5、测试/编程负责人
具有6~10年经验的测试工程师或程序员。负责管理8至10名技术人员。负责进度安排、工作规模/成本估算、按进度表和预算目标交付产品。
6、测试/质量保证/开发(项目)经理
具有10多年的工作经验。管理8名或更多的人员参加的1个或多个项目。负责这一领域(测试/质量保证/开发)内的整个开发生存周期业务。
7、计划经理
具有15年以上开发与支持(测试/质量保证)活动方面的经验。管理从事若干项目的人员以及整个开发生存周期。负责把握项目方向与盈亏责任。
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
不要被现实的坎坷所击倒,因为奋斗是战胜困难的利剑;不要被失败的阴影所遮蔽,因为奋斗是创造辉煌的舞台。坚持追求,燃烧激情,相信自己,勇往直前。
在追逐梦想的道路上,奋斗是我们翻越高山的力量,是我们穿越沼泽的勇气。不论前路多曲折,保持坚定信念,不断努力奋斗,才能描绘出属于自己的辉煌篇章,将梦想化为现实的壮丽画卷!
披荆斩棘,拼搏不息;攀登巅峰,永不放弃。奋斗的道路上或许会艰辛,但坚持努力,才能获得无尽光明。勇敢追逐梦想,燃烧心中的热情,让奋斗成就辉煌,绽放人生最美的花朵!