|
|
51CTO旗下网站
|
|
移动端

1.2.1 软件质量特性

《软件测试基础教程》第1章软件测试的基本知识,本章作为一个导引,其目的在于让读者熟悉与软件测试相关的基本概念,建立起全书的框架。在本书后续章节中将要详细阐述的问题,首先在这里被提了出来。读完这章之后,读者就能够在软件测试和软件质量方面提出一些有意义的问题。本节为大家介绍软件质量特性。

作者:王峰/郭长国/陈振华 等译来源:机械工业出版社|2011-09-16 20:41

1.2 软件质量

我们都想要高质量的软件。对于软件质量也存在许多种定义。同样,针对具体用户来说,某个质量特性可能比其他质量特性更重要。在任何情况下,软件质量都是多维的,并且软件质量是可度量的。现在来看看软件质量是如何定义的。

1.2.1 软件质量特性

软件质量的度量方法有多种,它们可进一步划分为静态质量特性和动态质量特性。静态质量特性是指实际的代码和相关文档;动态质量特性是指软件在使用中表现出来的行为。

静态质量特性包括结构化的、可维护的、可测的代码以及正确而又完整的文档。你也许听到过这样的抱怨:“某软件很好,我喜欢它的功能,但它的用户手册太烂!”在这种情况中,用户手册影响了整个产品的质量。假如你是个软件维护工程师,并被分派了一个软件纠错性维护任务,在你对软件进行修改之前,很可能需要了解那部分代码。这就涉及与软件文档、代码易理解性、代码结构相关的质量特性。一段没有文档说明的代码是很难理解的,因此也很难修改。进一步地讲,结构化很差的代码也是很难修改和测试的。

动态质量特性包括软件可靠性、正确性、完整性、一致性、易用性和性能。

可靠性指软件无失效地运行的概率。

正确性指一个软件的正确操作,并且通常与一些软件文档相关。例如,对测试人员来说,正确性往往针对需求规格说明而言;而对软件使用者来说,正确性往往针对用户手册而言。

完整性指全部得到软件需求规格说明或用户手册中所有功能的可能性。一个不完整的软件是没有完全实现所有规定功能的软件。当然,我们常常在一个软件的每个新版本中发现一些新增功能,但这并不意味着由于其下一版本具备一些新功能就认为该版本的软件是不完整的。完整性是相对于某个功能集合来定义的,这个集合本身又是某个更大功能集合的子集,而这个更大的功能集合是软件将来某个版本要实现的。很容易得出这样的结论——一个正确软件,它的每一部分相对于其功能集合来说也是完整的。

一致性指软件对常规惯例和假设的遵循程度。例如,用户界面中的所有按钮遵从统一的颜色编码规定。当数据库应用软件显示一个人的生日日期时,可能会出现一个不一致的反例。生日日期以各种各样的格式显示出来,完全依赖于用到的数据库功能,丝毫不管用户偏好的日期格式。

易用性指使用软件的难易程度。这本身又是一个研究领域,有大量的技术可用于易用性测试。心理学在易用性测试设计中扮演着重要角色。易用性测试也包括由潜在用户完成的产品测试。开发组织可以邀请一部分挑选过的潜在用户来测试新产品,用户依次测试产品的易用性、功能、性能、安全性和保密性。这样,用户就充当了测试的重要资源,而开发组织中的开发人员和测试人员也许都没想到。易用性测试有时也被称作以用户为中心的测试。

性能指软件完成规定任务所花费的时间。性能是一个非功能性需求,常常被描述为“软件在一台运算速度为Y、内存为Z×109字节的机器上,以每秒完成X个事务处理单位的速度运行”。例如,一个编译系统的性能需求可能会用编译一组数值计算程序所需的最少平均时间来描述。

【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

数据库系统工程师考试全程指导

为了满足广大考生的需要,我们组织了参与过多年资格考试命题或辅导的教师,以新的考试大纲为依据,编写了《数据库系统工程师考试全程指导》...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊