3、自动化测试能力
从事自动化测试的话,首先要从语言开始,至少要熟练使用一到两门的脚本语言,不然Java、Python,VB、Javascript等,现在使用python语言随着大数据、人工智能的崛起,也越来越火。
选择一门脚本语言,建议先从Python入手,可以形成下面的Python技术栈。
基本的语言知识,语法、函数、模块、输入与输出、面向对象编程
脚本编写、标准库、第三方库,外部数据处理
unittest、pytest测试框架、参数化、数据驱动
熟练掌握自动化测试流程,参考:
web端的自动化测试,建议Python+selenium+unittest
selenium安装、元素定位、脚本开发
unitest框架的使用
PageObject设计模式使用
ddt数据驱动测试
kdt关键字驱动测试
移动端APP自动化测试,建议Python+Appium+unittest
appium使用、元素定位、脚本开发
APP控件定位、交互,参数化用例
测试框架封装改造
ios自动化测试
接口自动化测试,建议Python+requests+unittest
接口自动化测试框架request
接口请求构造、断言(json/xml请求、响应断言)
接口报文抓包(浏览器、fiddler、charles等)
代理技术与mock挡板技术
headcookie处理、认证体系
4、再拔高一点
通过几年的项目锻炼,熟练掌握前面的技术要求之后,作为测试工程师,基本上能够拿到30W年薪啦,再掌握后面的技术及行业知识,可以转测试开发或者行业专家、顾问,年薪60W也不是梦想。
性能测试
Loadrunner、jmeter测试工具使用
性能测试脚本的开发、优化
性能测试场景设计
性能测试结果分析
性能测试调优
持续集成/持续开发/docker
jenkins持续集成
Jenkins持续交付
docker容器、docker镜像
docker下测试环境搭建
Java或者Python栈测试开发
java+maven+SpringMVC 的技术栈
Python+django
行业知识深耕,掌握行业特点
互联网行业系统软件特点
金融行业系统软件特点
电信行业系统软件特点
软件测试的原则
- 所有的测试都应追溯到用户需求‘
- 应当把“尽早发现和不断测试”
- 独立的专业的软件测试
- Pareto原则,测试发现的错误中80%很可能起源于20%的模块中
- 设计测试用例是,应该考虑各种情况
- 对测试出的错误结果一定要有一个确认的过程(描述缺陷报告)
- 制定严格的测试计划
- 完全测试是不可能的,测试需要终止
- 注意回归测试的关联性:修改了旧代码后,重新进行测试
- 妥善保存一切测试过程文档
软件产品质量模型(ISO/IEC26)
- 功能性
- 功能的依从性
- 适合性
- 准确i性
- 互操作性
- 保密安全性
- 功能的依从性
- 可靠性
- 可靠性的依从性
- 成熟性
- 容错性
- 易恢复性
- 可靠性的依从性
- 易用性
- 易用性的依从性
- 易理解性
- 易学性
- 易操作性
- 吸引行
- 易用性的依从性
- 效率
- 效率依从性
- 时间特性
- 资源利用性
- 效率依从性
- 可维持性
- 维护性的依从性
- 易分析性
- 易改变性
- 稳定性
- 易测试性
- 维护性的依从性
- 可移植性(跨越不同系统)
- 可移植性的依从性
- 适应性
- 已安装性
- 共存性
- 易替换性
- 可移植性的依从性
软件质量模型保证(SQA)
目的:使软件制作的过程对于领导层是可见的
定义:它是一套计划和方法来向领导层保证
五个基本目标:
- 保证有计划的进行
- 保证遵循了步骤和需求
- 及时通知给对应人员
- 高管可以接触到项目内部
- 软件质量需要测试工作来保证
QA和QC
QC:检验产品的质量
QA:审计过程的质量
工作关系:QC进行质量控制,QA是确保QC按照步骤