一、软件的生命周期
软件的生命周期是指软件从产生直到报废。
二、软件生命周期的阶段
- 问题的定义及规划
- 需求分析
- 软件设计
- 软件编码
- 软件测试
- 运行维护
三、软件模型
V模型
W模型
四、软件测试的基本流程
需求分析阶段:对业务进行学习,分析需求点。
计划阶段:编写测试计划,参考软件需求规格说明书,项目总体计划,测试范围,进度安排。
设计阶段:编写测试用例,参考需求分析,概要设计,详细设计等文档。
执行阶段:搭建测试环境,执行预测,以判定当前版本可测与否,如果预测通过,正式进入系统测试,遇到问题提交bug到缺陷 管理平台,并对bug进行跟踪,直到被测软件达到测试需求,没有重大bug,测试结束。
评估阶段:出测试报告,对整个测试的过程和版本质量做一个详细的评估。
五、软件开发流程、测试流程梳理
开发流程:需求分析-->概要设计、详细设计-->编写代码-->单元测试-->代码审查-->集成测试-->打包提交测试部-->等待测试提交bug-->修复bug-->等待测试回归bug-->N轮之后符合需求-->版本上线-->面向客户使用
测试流程:需求分析-->编写测试用例-->评审测试用例-->搭建测试环境-->等待开发提交测试包-->部署测试包-->冒烟测试(主体功能预测)-->执行测试用例-->bug跟踪处理(提交及回归bug)-->N轮之后符合需求-->版本上线-->面向用户使用
六、软件测试详解
- 按测试技术分类:白盒测试、黑盒测试、灰盒测试
白盒测试:要完全了解程序的逻辑结构和处理过程,按照程序内部逻辑测试程序,检验程序中每条通路是否按照预定要求正确工作。又被称为结构测试或逻辑驱动测试。
黑盒测试:在程序接口进行测试,看程序功能是否按照规格说明书的规定正确运行。也被称作功能测试或数据驱动测试。
灰盒测试:介于白盒和黑盒测试中间,既要想黑盒那样关注输出对于输入的正确性,又要关注内容表现,但是不想白盒那样详细完整,只是通过一些表征性的现象、事件、标志判断内部的运行状态。
- 按测试方式分类:静态测试、动态测试
静态测试:是指不运行程序,对程序和文档进行分析与检查。又称为静态分析技术。
动态测试:通过运行程序来检查、分析程序的执行状态和程序逻辑的外部表现。
- 按测试阶段分类:单元测试、集成测试、系统测试、验收测试
单元测试:主要是测试程序代码,为的是确保各单元模块能够正常编译。(一般具体到模块、类、函数。)
集成测试:进行单元测试后,将各单元组成完整的体系,测试软件单位之间的接口是否正确,数据是否能够正常传递。(比如注册和充值两个功能是否能连通。)
系统测试:把软件系统搭建起来,按照《软件规格说明书》中的要求对各项功能进行测试,看是否符合需求、系统运行是否存在漏洞——根据测试用例,进行完整的系统测试。
验收测试:客户拿到软件后,根据前面所提的需求及《软件规格说明书》来做相应的测试,以确定软件是否符合需求效果——客户对软件进行验收。
(单元测试、集成测试、系统测试之间的区别:句子—段落—文章;砖—墙—楼)
七、面试常见问题
1.生命周期模型包含哪些阶段?开发模型是什么?
答:软件的生命周期包括问题的定义及规划、需求分析、软件设计、软件编码、软件测试、运行维护等6个阶段。
开发模型是V模型。
2.测试阶段包含哪些阶段?
答:测试阶段包括需求分析、计划阶段、设计阶段、执行阶段、评估阶段等5个阶段。
3.总结一下开发流程?
答:需求分析-->概要设计-->详细设计-->代码编写-->单元测试-->代码审查-->集成测试-->打包提交测试部-->等待测试部提交bug-->修改bug-->N轮之后符合需求-->版本上线-->面向用户使用
4.总结一下测试流程?
答:需求分析-->编写测试用例-->评审测试用例-->搭建测试环境-->等待开发提交测试包-->部署测试包-->冒烟测试(主体功能预测)-->执行测试用例-->bug及跟踪处理(提交及回归bug)-->N轮之后符合需求-->版本上线-->面向客户使用
https://blog.csdn.net/ChaosMax/article/details/71628867?locationNum=9&fps=1