基于需求的测试策略

9月中旬开始陆续和大家分享了性能测试系列文章,从今天开始未来两周将和大家一起讨论分享测试策略相关系列文章,包括基于风险的测试策略、基于需求测试策略、基于质量模型的测试策略、基于上下文驱动的测试策略等文章,欢迎大家一起学习讨论。更多文章见文末链接

基于需求的软件测试方法由理查德本德先生1977年始创,这一方法使测试更加有效,因为它更专注于质量问题产生的根源。基于需求的软件测试是从用户的角度出发进行测试,它是软件测试的本质。该文主要讨论了基于需求的软件测试中的测试操作过程及测试的困难以及在需求明确和需求不明确下的测试策略。

- 1 - 

 为什么要进行基于需求的测试 

一项调查(James Martin (“An Information Systems Manifesto,” Prentice Hall, 1984)表明56%的缺陷其实是在软件需求阶段被引入的。而这其中的50%是由于需求文档编写有问题、不明确、不清晰、不正确导致的。剩下的50%是由于需求的遗漏导致的。

以上数据说明,要保障软件质量稳定和缺陷尽早被发现需要从需求层面开始尽早介入而开展测试。

基于需求的软件测试方法由理查德本德先生1977年始创,这一方法使测试更加有效,因为它更专注于质量问题产生的根源。此方法从上世纪90年代起为中国软件测试工程师使用至今。

基于需求的软件测试是从用户的角度出发进行测试,它是软件测试的本质。该文主要讨论了基于需求的软件测试中的测试操作过程及测试的困难以及在需求明确和需求不明确下的测试策略。

- 2 - 

 基于需求的测试策略操作要点

如何基于需求测试,根据多年工作经验总结出以下三步:需求项分析收集、测试输入项整理、使用组合分析测试工具。

2.1测试需求分析收集

需求要点分析,通过对整理需求项,提取需求性进而进行需求项分解合并形成需求要点。

outside_default.png

整理需求时从需求来源着手,通过需求来源分析理清需求的风险和需求优先级及重要程度,需求来源包括:用户需求、使用说明、开发需求、竞争对手需求、协议需求、法律法规、测试经验库等进行分类分析等等。

继承性需求也是梳理需求项的重要工作,继承性分析主要对产品历史版本需求的继承的特性分析主要对线上版本使用情况、历史测试情况、应用变化情况、与新开发特性的交互关系等进行分析

测试需求项分析分解是对原始测试需求和继承性需求的细化和分解,形成的可测试的分层描述的测试需求。

2.2测试输入项整理

通过对测试需求分析整理形成测试要点,对每一条测试要点根据等价类划分,边界值分析法等基础测试方法,形成基本的输入输出。在第三步中使用组合测试方法进一步进行分析设计。

2.3使用组合测试方法

在动态测试中,测试需要依赖测试用例驱动,测试用例分为基于需求的测试用例和基于覆盖的测试用例,也可以称为黑盒测试用例和白盒测试用例。基于黑盒测试用例的设计方法包括边界值法,等价类法,正交组合对法(Orthogonal Pairs)和因果图法(Cause Efffect)等等,其中组合配对法和因果图法由于涉及到输入条件与输出结果直接的组合与逻辑关系比较复杂,不适合用人工的方式计算。

因果图法就是从需求规格说明书的描述中找出因(输入条件)和果(输出或程序状态的改变),通过因果图转换为判定表,最后为判定表中的每一列设计一个测试用例。这种方法的起源是硬件数字集成电路的测试方法(敏感路径法),能够设计出有效地测试用例,舍弃对测试没有贡献的测试用例,并且能够实现功能的全部覆盖。

组合配对对法就是把多个输入和多个输出两两结对,以发现由两个因子的交互关系导致的可观测的软件故障。这种方式设计的测试用例比穷举测试减少了很多,但是依然可以有效地发现软件缺陷。

outside_default.png

在配对测试方法中,着重推荐一款组合测试方法工具,微软的PICT工具。

(1)PICT简介

    PICT是一种正交组合测试工具,输入与测试用例相关的所有参数,可输出简化版以达到全面覆盖的效果。

(2)PICT的安装

  点击下载  ,然后一直下一步即可。

  安装完成后,cmd打开后,输入pict,很容易就能看到此工具是否安装成功

(3)PICT的简单实用

新建一个test.txt文件,放在D:

使用命令行把目录切换至D盘,执行pict test.txt会自动生成组合用例

执行pict test.txt >text.xls,可以把屏幕上打印的组合用例输出到Excel或TXT,这样整合后的用例就少了,减轻测试人员的工作量

- 3 - 

 基于需求测试策略的最佳实践

基于需求的测试是测试中最常用的测试策略,通过长时间的测试实践,基于需求的测试有几点实践经验需要测试重点关注。

3.1 尽早测试,频繁地测试

确认需求的业务价值。

各利益相关方应该对需求进行评审。

通过用例检查需求的完整性

应用语言分析技术确保需求文档清晰一致,不会引起同一问题不同人有不同的解释。

3.2不要单凭经验测试

不要依赖测试人员的经验来设计测试用例,应该采用系统、严格的测试用例设计方法,而不是依赖有经验的测试人员的技巧。通过这样的方式来增加测试覆盖的有效性。格式化、结构化的需求文档有助于测试人员评估需求的测试覆盖率。

通过测试用例评审来检查测试用例存在的错误,并且找出需求的不足之处。

3.3测试过程中要保持度量

在使用基于需求的测试方法的过程中,保持对需求的可追踪性非常重要。保持需求与测试用例及测试之间的可追踪性有助于监视进度、度量覆盖率,当然也有助于控制需求变更。

基于需求的测试策略是测试过程中最常用,最重要的测试策略,是每个测试工程师都应该掌握的测试策略。991b2fd18e1b87574599be3b0d040eca.jpeg文章来源:MiniStarClub北京,致力于提供最具价值的测试及测试管理领域原创文章。包括测试技术、测试方法、测试思想、测试管理等。

· 推 荐 阅 读 ·

RECOMMENDATION

基于风险的测试策略

基于业务分层的测试策略

服务端性能测试指标及问题排查

全面的质量保障体系之发现缺陷

全面的质量保障体系之回归测试策略

全面的质量保障体系之测试用例分级

服务端性能问题排查及优化---CPU高问题分析

服务端性能问题排查及优化 ---内存问题分析

服务端性能问题排查及优化---高延迟问题分析

京东金融App端链路服务端全链路压测策略

一次服务端性能问题排查过程

再读《性能之巅》学习心得

你点的每个“在看”,我都认真当成了喜欢!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值