软件测试1 正规流程
1.软件测试的基本流程(重点)
测试需求分析阶段:阅读需求,理解需求,主要就是对业务的学习,分析需求点,参与需求评审会议
测试计划阶段:主要任务就是编写测试计划,参考软件需求规格说明书,项目总体计划,内容包括测试范围(来自需求文档),进度安排,人力物力的分配,整体测试策略的制定。风险评估与规避措施有一个制定。
测试设计阶段:主要是编写测试用例,会参考需求文档(原型图),概要设计,详细设计等文档,用例编写完成之后会进行评审。
测试执行阶段:搭建环境,执行冒烟测试(预测试)-然后进入正式测试,bug管理直到测试结束
测试评估阶段:出测试报告,确认是否可以上线
Plan-Do-Report
总结
开发流程:了解用户需求--》进行需求分析--》得知功能组成及设计软件结构--》开发设计计划--》概要设计--》详细设计--》进行软件编码--》单元测试--》代码审查--》打包提交给测试部--》测试部返回bug--》更新修复bug--》再次进入测试部测试-。。。直到bug解决--》版本上线--》面向用户使用
测试流程:了解用户需求--》参考需求规格说明书--》测试计划(人力物力时间进度的安排)--》编写测试用例--》评审用例--》搭建环境--》测试包安排预测(冒烟测试)-正式测试-bug-测试结束出报告--》版本上线--》面向用户
2.软件测试规范
2.1软件需求规格说明书
软件达到的各项功能的目标,没有需求就没法判断测试结果是正确的。
2.2软件设计说明(概要与详细设计)
设计说明书包括软件的一些框架、字段、数据库设计等。软件设计说明对测试工作展开有很大影响,没有软件设计说明很多问题将无法追根溯源,测试准备的前期工作也是根据软件设计说明来制定的。
2.3 页面原型(demo)
页面原型是项目快速熟悉项目的最佳路径。在需求不够明确,设计说明书不够全面的情况下,页面原型也是后期测试用例编写思想的重要依据。
3.测试过程设计
明确测试目的,最终达成目的并验证结果。
1)测试范围:描述本次测试中的测试范围,如:测试软件功能范围、测试种类等。
2)简单描述如何搭建测试平台及测试的测在风险。
3)项目信息:说明要测试的项目的相关资料,如:输入输出文档,产品描述,软件主要功能。
4)人力资源的分配。
5)测试需求:以测试中的所有设计和需求文档,作为本次测试的依据,展开测试。
3.1测试策略制定
有计划的分出产品的功能,扣出测试的功能点。
对需求进行分析,列出具体的功能列表。
测试过程:
- 功能测试(划分各自负责的功能模块,使用测试方法,测试标准)
- 界面测试
- 兼容性测试
3.2测试计划
要充分考虑测试计划的实用性,即测试计划与实际之间的接近程度和可操作性,编写测试计划的目的在于充分考虑执行测试时的各种资源,包括测试内容、测试标准、时间/人力资源等等。准确的说是要分析执行时所能调用的一切资源及各种条件限制,可能受到的各种影响等。
1)测试内容:明确本次测试会做哪些测试
如系统测试(界面测试,功能测试,性能测试,兼容性测试,安装卸载测试,可靠性测试等)
2)测试目的:保证产品是否达到目标
3)测试标准:本次测试需要输入哪些文档,项目结束标准定义,测试结束标准定义?bug优先级定义、bug级别定义、bug管理流程定义。
4)资源分配
5)测试风险(项目开发延期,测试人员不足,用例无法全面覆盖测试点,时间不足用例无法全部执行,bug无法及时修改导致无法验证,测试人员技能不足导致测试进度拉长)
3.3测试附件
用例模板、缺陷报告模板
测试环境的搭建
缺陷管理流程和缺陷级别定义
缺陷状态一般分为:新建、打开、已分配、已修复、关闭、重新打开
中间会有:延期、重复、拒绝
1)测试人员或开发人员发现bug后,判断输入哪个模块的问题,填写bug报告后,系统通过Email通知开发组长和模块开发者
2)开发组长根据具体情况,重新reassigned分配给bug所属的开发者
3)开发者收到email信息后,判断是否为自己的修改范围
- 若不是,重新assigned分配给开发组长或实际分配开发者
- 若是,进行处理,resolved并给出解决方法。
4)测试人员查询开发者已修改的bug,进行回归测试。
- 经验证无误后,修改状态为verified,待整个产品发布后,修改为closed。
- 还有问题,reopened,状态重新变为new,并重新发送邮件通知
缺陷等级划分
4.测试实施
4.1执行
开发转版本到测试部进行系统测试。
1)首先搭建测试环境
2)做一个预测试,判断该版本是否可以测试,如果测试不通过,打回开发部返工,如果通过了,开始一轮系统测试
3)执行编写好的测试用例,做好测试结果记录,发现缺陷提bug到禅道,由研发进行修改。
4)在bug修复期间,对该轮系统测试做一个测试评估,出测试报告,并根据实际情况,对用例进行修改和增加。开发改bug结束,提交新版本到测试,我们重新搭建测试环境进行第二轮系统测试。首先是回归我们的缺陷报告,然后从用力中挑选一些优先级比较高的用例进行测试,发现问题了继续提交缺陷报告,然后在用例中挑选一些优先级较高的用例进行测试,发现问题了继续提交缺陷报告,只要缺陷率低于用户需求了,我们就进行最后一轮回归测试,结束系统测试。具体根据版本质量和项目复杂度决定。
5.测试评估
测试总结报告文档的输出:
1)可以让具体的任务负责人对本次测试中个人负责的模块进行评价,提出相关建议,给出总体评估。
2)整体上的bug按照不同等级统计出来,用例数量,用例执行数量。
3)对项目中测试人力资源的统计(单位:人\天)
4)项目软硬件资源统计。
5)软件总体的评价
6.测试报告
测试报告包括对软件功能的结论,说明对满足此项功能而设计的软件能力以及经过一项或多项测试已经证明的能力
说明该项目软件的开发是否达到预定目标,是否可以交付使用。
总结测试工作的资源消耗数据:如工作人员的水平级别数量。机时消耗等。
记录测试结果与发现及本项目测试工作所得到的各项输出承载体。根据输入与计划、要求的对比总结此次项目所获得的经验。