前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >软件测试中影响软件需求质量的因素有哪些?

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

原创
作者头像
新梦想IT职业教育
修改2019-08-20 18:05:27
1K0
修改2019-08-20 18:05:27
举报

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

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

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

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

一、理解性

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

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

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

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

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

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

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

二、必需性

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

三、可修改

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

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

四、非冗余

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

五、简洁性

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

六、可测试

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

七、跟踪性

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

八、范围定义

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

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档