软件测试流程剖析

最近看到一本好书,给大家分享,<软件测试架构实践与精准测试>。这本书提供了一个我认为很好的测试概念:以测试引导开发,以文档化把控质量。

1.全程软件测试生命周期各阶段文档输出

前期测试阶段输出资料:软件测试需求说明书(测什么)与软件测试计划(做什么)。
中期测试阶段输出资料:软件测试方案(怎么做)和软件测试用例。
后期测试阶段输出资料:软件测试报告、软件验收大纲和软件验收报告。

1.1前期测试阶段

测试需求分析:产品需求和用户的理解转化与分解成测试功能点。细化用户类需求、隐藏类需求和继承类需求。
测试计划:来源于测试需求。包括各种测试阶段任务、争议事项、质量目标、风险评估、人员分配、时间安排、工作规范、读者对象。

1.1.1软件需求分析

1.确保软件需求满足如下特性

1.完整性
2.一致性
3.可追溯性
4.清晰性
5.正确性
6.可行性

2.软件测试需求重要性

1.保证测试人员、项目经理、用户测试目标一致
2.定义测试对象和测试范围
3.在有限的时间内做更有效的测试
4.有效估计项目所需资源
5.合理分配资源
6.避免出现测试遗漏现象
7.测试进度跟踪
8.有效计算测试覆盖率
9.发现需求问题,及早沟通
10.为编写测试计划或测试方案提供依据

3.软件测试需求分析方法

1.根据需求规格说明书,按照业务流或模块化与需求分析矩阵的方式进行逐项分析,并细化到每个小功能点。
2.从质量要求出发进行分析,如从功能、性能、稳定性、安全性等各个质量要求出发,进行细化,找出相关的测试需求,增加覆盖率,提高软件质量。
3.从用户角度进行分析,通过业务流程或模块化、业务数据和业务操作等分析,明确要验证的功能、数据和业务场景等内容,分析业务方面的测试需求。
4.从技术角度,通过研究系统框架设计、代码实现设计和数据库设计等,分析其技术特点,了解设计和实现要求等方面分析测试需求。
5.与市场竞争产品进行对比分析,明确测试重点。
6.从行业标准或规范方面进行分析。
7.版本对比,发现缺陷分布,从而找出遗漏的测试需求。
8.同用户交流,向用户提出问题。
软件测试需求包括:功能需求(做什么)、性能需求(要达到什么指标)、可靠性需求(不发生故障的概率)、用户界面需求、环境需求、安全保密需求、资源使用需求(软件运行时所需的内存和CPU等)、软件成本消耗与开发进度需求、预先估计以后可能要达到的目标。

4.软件测试需求编写

1.功能性测试需求
主要描述与功能相关的详细功能需求,是必须提交给用户的软件功能。
2.非功能性测试需求
性能需求:主要描述软件响应时间、数据传输、转换处理需求、错误或故障处理等。
接口需求:包括硬件接口和软件接口。
安全需求:系统安全性、完整性等安全问题。
环境需求:硬件资源、软件资源、人员续期。
人员需求:测试人员具备的技能水平等。

2.测试准备时间评估

需求页数:系统测试用例页数=1:1
编写系统测试用例时间=系统测试用例页数*1个小时
编写系统测试用例时间:执行系统测试用例时间 =1:2
系统测试用时:回归测试用时=2:1


以需求页数为单位去评估准备时间

3.测试计划和测试方案区别

1.测试方案大纲
声明、背景、测试依据、测试环境、测试项说明、测试策略、测试通过准则、职责分工、测试安排和测试提交文档等方面内容。

2.测试计划和测试方案区别
测试计划和测试方案区别在于他们的看重点不同。
测试计划:看中进度安排、人力、物力资源分配(包括组织结构等)、争议事项、质量目标、风险评估风险和规避措施。
测试方案:看中测试策略中使用的测试技术和方法。

4.测试总结

4.1测试总结

测试报告:主要包括声明、背景说明、适应范围、测试环境、测试范围说明、测试过程分析、测试结果分析、测试问题汇总及 差异、测试总结和评价、建议。
1.测试过程分析:根据测试计划和测试方案中的测试策略进行测试过程分析,列出测试项的测试结果,以及在该测试项发现的重点Bug.
2.测试结果分析:主要描述本次测试的覆盖率和缺陷汇总分析。覆盖率分析主要包括需求覆盖率和测试用例覆盖率,避免出现漏测的情况。缺陷汇总分析主要包括被测试系统的质量,主要从严重程度、缺陷类型和功能分布对缺陷进行汇总,以图形化进行展示。
3.测试问题汇总:总结本次所有的测试项和每项功能点的测试结果。
4.差异:主要描述被测系统实现的功能与需求是否存在差异。
5.测试总结和评价:对测试结果的分析,标明遗留缺陷、局限性、软件的约束限制等,提出软件测试过程中程序存在的不足之处。根据测试标准及测试结果,综合评价是否达到预期,最后分析产品是否提交给客户进行验收。
6.建议:对系统存在问题进行说明,描述测试所揭露的软件缺陷和不足,以及可能给软件实施和运行带来影响。

4.2 测试总结重点事项

测试报告主要对软件整个测试过程进行汇总和分析,包括单元测试、集成测试、系统测试等每个阶段。
验收报告主要对软件合同或软件需求规格说明书的技术指标进行验证
在写测试报告的时候,要如实汇报测试结果。
在编写测试报告的时候,要说明测试前版本、测试的版本以及本测试程序的MD5值。
在编写测试报告时,一定要真实记录测试过程使用的软件资源、硬件资源和测试环境。

5.测试理念

1.尽早测试
2.全面测完
3.全过程测试
4.独立与迭代的测试

6.川模型的理念

以测试引导开发,以文档化把控质量。川模型由3条相对独立的测试实施流程组成。主要包括验收测试实施流程、需求级测试实施流程和业务级测试实施流程。
川模型工作组织规程图:


川模型工作组织规程图
全程软件测试流程图
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容