一.软件生命周期
定义:
是指软件开发的全部过程,活动和任务的结构框架,包含了可行性研究,需求分析,软件设计,编码,测试,版本发布维护的整个过程。
模型:
瀑布模型:计划->需求分析->软件设计->编码->测试->版本发布维护(此模型测试者介入的时间周期较短,对产品不利,一般较少使用)
螺旋模型:判断目标,可选方案和限制->明确解决风险->评估可选方案->本阶段开发和测试->下阶段开发和测试->决定下一阶段的做法->判断目标,可选方案和限制 (此模型首尾相接)
二.软件测试的生命周期
三.软件测试流程
测试计划阶段
测试设计和开发阶段
测试实施阶段
测试评估阶段
四.软件测试计划
1.目的:测试计划文档要达到的目的
注意:制定测试目标需要考虑的因素有:
(1)理解系统:从系统高度了解测试系统所要满足的功能性和非功能性的要求
(2)及早介入:增加对客户需求客户问题潜在的风险以及重要功能方面的理解
(3)吸取教训
(4)测试期望:测试目标绝对(包括阶段目标),可衡量
(5)工作量:根据项目复杂程度预估工作量
(6)预算:测试预算对测试计划有决定性影响
(7)时间表:根据工作量等其他因素决定时间表
(8)软件开发解决方案的类型
(9)技术选择
2.项目简介
(1)产品规格
产品名称、制造商和产品版本号的说明
(2)产品信息
产品的用户、开发该产品的背景
(3)技术结构
介绍产品的主要功能,可以借助图表的格式表述
3.测试参考文档
产品规格说明书,概要设计,使用说明书等等
4.测试提交文档:包含测试计划中模板和要求测试团队提交的相关文档
(1)测试用例:包含测试用例模板和测试用例执行情况记录
(2)测试日志(工作周报):包含工作周报模板和工作周报提交规定
(3)缺陷报告:使用缺陷管理工具或者使用电子文档记录缺陷
(4)测试总结:提供缺陷总结模板
5.术语和定义:定义了开发产品或测试过程中常用术语的含义
6.测试策略:用于描述测试组测试整体和每个阶段的策略方法,确定测试策略要从模块,功能,整体,系统,版本,压力,性能,安装和配置等方面考虑。
7.测试内容:功能的测试(理论上测试要覆盖每个功能点),设计测试(查看界面等设计是否合理,友好),整体考虑(主要是查看数据是否能从一个模块正确地流向另一个模块),功能项优先级(风险性>复杂度>需求)
8.资源:系统资源和人力资源
9.测试进度(时间安排)
10.测试人员任务分配
11.风险和问题
造成风险的主要因素:
1.短时间面市
2.新的设计过程
3.复杂程度
4.使用频率
5.不可测试需求