第一讲 初识软件测试
一、软件测试的就业岗位
无计算机基础 初级测试工程师
手工功能测试(搭建测试环境、执行测试用例、提交缺陷报告、编写测试文档)
有计算机基础 中级测试工程师
手工功能测试(测试计划编写、需求分析、用例设计与编写)、自动化功能测试、性能自动化测试、编写简单的测试脚本
有开发基础或者有测试基础需要提升 高级测试工程师
性能、接口、App等自动化测试、熟练编写测试脚本、编写测试框架
二、软件测试的职业规划
软件测试的薪资水平
企业的招聘需求与薪资水平
三、学习内容
- 操作系统基础
- Windows操作系统
- Linux操作系统(CentOS/RedHat/Ubantu)
- 软件开发知识
- Java语言
- Python语言
- 数据库(MySQL/Oracle/SQL Server)
- 软件测试理论和实战
- 软件测试的过程
- 测试计划的编写
- 测试需求分析
- 测试用例的设计
- 缺陷报告的提交与管理
- 黑盒测试方法
- 白盒测试方法
- 非功能测试方法
- 测试项目实战
- 自动化测试工具
- 功能自动化测试
- QTP/UFT
- Selenium(与Java结合、与Python结合)
- 性能自动化测试
- Loadrunner
- Jmeter
- 接口自动化测试
- Python测试接口
- Jmeter测试接口性能
- Fiddler抓包
- App自动化测试
- Appium
- 学习期间的同步项目
- OA办公自动化系统
- 实训项目
- 网上招聘系统
- 新闻发布系统
- 员工信息管理系统
- CRM客户关系管理系统
- 电子政务网
- 进销存管理系统
- 基于WEB的网上购物系统
- …
四、软件测试入门
- 软件
- 程序+数据+文档
- 单机版、C/S、B/S
- 软件测试
- 发现缺陷
- 提高软件质量
- 改进软件开发
- 软件缺陷
- 不满足用户需求的问题
- 软件测试的流程
- 编写测试计划
- 分析测试需求
- 设计和编写测试用例
- 搭建测试环境
- 执行测试用例,提交缺陷报告,跟踪缺陷报告
- 测试评估和总结
- 调试
- 由开发人员进行
- 用于识别缺陷产生原因,定位缺陷位置和修改缺陷代码
- 软件测试
- 由测试人员进行
- 在最短的时间内发现尽可能多的缺陷,并确保这些缺陷得以修复
- 黑盒测试
- 属于测试方法
- 主要依据规格说明书对软件的功能进行测试
- 关注输入和输出
- 白盒测试
- 属于测试方法
- 对程序结构进行测试
- 会涉及编码
- 单元测试
- 属于测试级别或测试阶段
- 对程序最小部分的单元代码进行测试
- 会涉及编码,测试人员需要懂开发
- 集成测试
- 属于测试级别或测试阶段
- 对程序不同的单元、模块或子系统合并后进行测试
- 会涉及编码,测试人员需要懂开发
- 系统测试
- 属于测试级别或测试阶段
- 对程整个软件系统进行测试,会涉及功能、性能、接口、兼容性、易用性、界面、安装方面的测试等
- 由专业测试人员进行
- 对开发基础的要求比较低
- 对行业知识有要求
- 验收测试
- 属于测试级别或测试阶段
- 有用户对系统进行测试
- 一般由第三方测试和用户共同参与
- 软件测试会有反复
- 1.确认测试
- 缺陷修复以后
- 2.回归测试
- 缺陷修复以后
- 版本升级之后
- 测试用例
- 指定操作步骤、输入数据,预期结果和测试条件的文档
- 有的公司不写用例(甚至不做需求分析)
- 用例一般都有格式要求
- 黑盒测试的用例设计方法
- 场景法
- 等价类划分法
- 边界值分析法
- 决策表法
- 错误猜测法
- 白盒测试的用例设计方法
- 逻辑覆盖法
- 语句覆盖
- 判定覆盖
- 条件覆盖
- 判定-条件覆盖
- 条件组合覆盖
- 路径覆盖法
- 静态测试
- 软件测试未必要执行程序
- 可以审查文档
- 可以阅读代码
- 缺陷报告
- 将缺陷记录下来并提交给开发的一种文档
- 有些公司不需要编写
- 大多数公司使用软件进行提交
- 有格式要求
五、送给自己
- 不是因为有了希望才坚持,而是因为坚持了才有希望
- 不是因为成功了才挑战,而是因为挑战了才成功
- 只要功夫深,铁杵磨成针