专栏首页新梦想软件测试软件测试中影响软件需求质量的因素有哪些?
原创

软件测试中影响软件需求质量的因素有哪些?

软件的开发和上线应用,离不开软件测试这一过程,软件测试是分析者用来发现软件缺陷的过程。没有任何软件是完全无缺陷的,测试者的目标是减少在项目中找到的缺陷,并且将质量灌输到软件应用中。

软件测试和用户体验有非常直接的关系,因为软件测试者需要通过分析软件来获知软件是否符合用户的期望。软件测试是一种设计来适当保障软件符合用户所需求的质量活动。

用户所需求的也就是软件所需求的,所以软件需求是保证最终软件质量最为关键的一环,也是软件测试的基础。高质量的软件需求,为产品的最终质量打下了坚实的基础。

那么,影响高质量软件需求质量的因素有哪些?

一、理解性

需求必须是可以理解的,可理解的需求组织方式便于阅读、评审。下面是一些提高可理解性的方法:

1、根据对象(如用户、订单和发票)来组织需求。

2、用户需求应该按业务过程或者场景来进行组织,这样,行业专家就能快速判断是否有遗漏的需求。

3、将功能需求和非功能需求分开,例如,将功能需求和性能需求分开说明。

4、根据详细程度来组织需求。由需求对系统的影响来决定,例如“系统应该能够接收订单”与“系统应该能够接收销售点的零售订单”对系统就有不同的影响。

5、编写出来的需求应该符合语法规则,样式应该便于阅读、评审。如果需求是用word文档编写的,就应该启用拼写检查选项,同时注意上下文,因为word并不检查下文是否合适。

6、需求应该是明确的,在需求中应恰当的使用“应该”一词,而不要使用“将会”或者“应该会”,因为后面两个词讲的是目标,而不是需求。如果使用非命令式的词语,这样表明需求是可选的,可能会导致需求被误解,可能增加项目成本,也可能使时间周期增加,降低质量,或者出现合同纠纷。

二、必需性

需求应该是必需的。举个非必须需求的例子。假设下面这个需求已包含在需求规格说明书中:“如果有100个测试用例通过,那么系统应该是可接受的。”这实际是一个项目过程,而不是需求,不应该记录在需求规格说明里。需求必须与正在构建的目标应用或系统相关。

三、可修改

需求及相关信息必须是可以修改的。选用存储需求的技术影响着需求的可修改性,例如,字处理器中的需求比需求管理工具(如CaliberRM)中的更难修改。但是,针对非常小的项目,因为需求管理工具成本与学习曲线的关系,字处理器就成了最佳选择。

一致性也对可修改性有影响。需求的编写模板结构应该使需求很好呈现,从而方便修改。最佳实践应把每个需求用唯一标识符进行标记。任何需求的依赖关系都应该有标注,例如,需求X应该依赖于需求Y。

四、非冗余

不应该出现重复的需求,否则会引发问题。重复需求会加重维护工作,例如,每次修改某个需求时,也要修改与之重复的那个需求。重复需求还会提高出现注入需求错误的可能性。

五、简洁性

一个好的需求必须杜绝出现冗词赘句或者多余信息。一个简洁的需求表达应该一语中的,诸如“另一方面”、“然而”、“回想起来”这类词眼应该杜绝。

六、可测试

可测需求必须可以被验证确认,也可以说,需求的意图应该是能够证明的。不可测试的需求适合测试人员要做客观解释的时候。最好就是带着问题:我是否可以测试这个需求,了解它能否行得通?

七、跟踪性

需求必须是可跟踪的,这是验证是否满足需求的关键。复合需求很难跟踪,可能导致产品测试失败。例如“系统应该计算出退休金和遗属抚恤金”就是一个复合需求。通过列表方法可以避免在评审各个需求的跟踪能力时造成误解。

八、范围定义

所有需求必须在指定范围内定义。项目的范围是根据为项目建立的所有需求而定的。项目范围按照对需求的标识、分析和基准线来定义和细化。“跟踪能力矩阵”有助于保证需求位于指定范围内。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【新梦想干货】RobotFramework环境搭建步骤

    RobotFramework作为公司能快速落地实现UI自动化测试的一款框架,同时也非常适合刚入门自动化测试的朋友们去快速学习自动化,笔者计划通过从搭建逐步到完成...

    新梦想IT职业教育
  • 【新梦想干货连载】网络情缘之TCP的分包处理

    上次我们知道小明把他的床通过了快递公司运回家里了,但是快递的发送细节并不太清楚。所以关于小明的故事还是得继续,我们回到小明跟小MM对话的场景,当小MM确定好接收...

    新梦想IT职业教育
  • 新梦想干货——网络情缘之传说中的HTTP协议(一)

    自打有了互联网,每天开始看新闻,看朋友圈,刷微博等等,HTTP都起着非常关键的作用,大部分的数据都是靠HTTP协议送到你的面前的。So,HTTP有着怎么样的前世...

    新梦想IT职业教育
  • 谈谈需求管理要管哪些?

    由开发方和客户共同对主要需求文档“软件需求规格说明书”进行评审,双方达成共识后作出书面承诺,使需求文档具有商业合同效力。

    公众号php_pachong
  • 前端进阶之路:如何高质量完成产品需求开发

    作为一个互联网前端老鸟,这么些年下来,做过的项目也不少。从最初的我的QQ中心、QQ圈子,到后面的QQ群项目、腾讯课堂。从几个人的项目,到近百号人的项目都经历过。

    IMWeb前端团队
  • 需求采集和分析

    产品的需求管理有需求采集、需求分析和需求筛选几个阶段,经过这几个阶段之后才会进入立项的阶段。

    公众号php_pachong
  • 从3个方面聊聊,如何正确使用需求池?

    参与到项目中,经常发现项目的需求源源不断,刚做完一堆需求,马上又有新的需求要做,感觉总是做不完,就像一个“无底洞”。实际上,这里涉及到一个需求管理的概念。项目中...

    物流IT圈
  • 软件需求分析与管理的十个问题

    首先需求包括了产品需求,用户需求,软件需求。产品需求关注的是产品的标准化和通用化,会对收集到的用户需求进行分类和优化,结合业界标准系统模型进行抽象并通用化。用...

    阿新
  • 前端进阶之路:如何高质量完成产品需求开发

    本文作者:IMWeb 陈映平 原文出处:IMWeb社区 未经同意,禁止转载 写在前面 作为一个互联网前端老鸟,这么些年下来,做过的项目也不少。从最初的...

    IMWeb前端团队
  • 企业级需求管理工具选型报告

    近年来,随着利率市场化、互联网金融的冲击,银行面临市场竞争压力越来越大。特别是商业银行一方面要面临互联网金融企业(如:支付宝、微信)的市场挤压,必须持续业务创新...

    用户7177459

扫码关注云+社区

领取腾讯云代金券