软件测试的定义
软件测试是用人工或者自动的手段测试某个软件系统的过程,目的在于检验是否满足规定的需求或弄清预期结果和实际结果的差别。
软件测试面临的挑战(为什么需要软件测试)
- 软件功能越来越复杂,规模越来越大,如何进行有效和充分的测试成为难题
- 系统的复杂程度要求测试工程师进一步学习具备更高的能力
软件测试职业生涯规划发展
- 自动化测试工程师
- 接口测试工程师
- 性能测试工程师
- 测试开发工程师
- 安全测试工程师
- 测试架构师
软件的生命周期
计划阶段
- 确定开发目标:开发什么样的产品
- 完成项目的可行性研究:确定软件能不能做?做出来有没有意义?
- 对项目进度进行预估和安排:安排人力和时间,确定预算
- 制定实施计划
需求分析阶段
- 分析整理项目的需求项:项目具体有哪些功能需要开发。
- 根据整理出来的需求项,编写需求规格说明书(SRS):Software Requirement Specification。
- 制作产品原型
设计阶段
完成概要设计
完成项目详细设计
编码阶段
根据概要设计说明书和详细设计说明书编写程序代码
测试阶段
- 单元测试:对程序的最小单元进行测试的过程。最小单元指函数或者一个类的代码。
- 集成测试:对模块与模块之间调用的接口进行的测试叫集成测试。
- 系统测试:对完成编译的系统整体进行测试的过程。
- 验收测试:交付给客户或者最终用户时,和客户一起完成的测试。
运维阶段
- 产品部署
- 运行维护
- 功能升级
- 性能提升