软件产品质量 “新”标准

?

  Erik van Veenendaal( www.erikvanveenendaal.nl )是一名国际知名的尖端顾问和培训师,和一名在软件测试和质量管理领域广受认可的专家。他是Improve Quality Services BV(www.improveqs.nl)的创始人。他保持着欧洲之星的记录,三次获得最佳导师将!2007年,因其对测试专业做出多年贡献,他获得了欧洲测试优秀奖。他作为测试经理和顾问在各个领域工作了20多年。他撰写了多篇论文和多部著作,包括“实用基于风险的测试: Prisma法”和“软件测试ISTQB基础” 。他是TMap测试方法的核心开发人之一及一名国际需求工程局( IREB )的工作小组的参与者。Erik曾是艾恩德霍芬科技大学的一名兼职高级讲师及国际软件测试认证委员会的副会长( 2005-2009 ) ,目前是TMMi基金会的董事会成员。你可以在twitter上通过@ ErikvVeenendaal关注Erik。

?

?

  像你们大多数人一样,我测试职业生涯的大部分都在使用ISO9126作为软件产品质量的标准。这个众所周知的ISO标准从六个主要特征和许多所谓的子特性(见图1)定义产品质量。该标准一直很受测试人员以及那些参与需求工程和软件开发的人的欢迎。甚至多年来一直是世界上最畅销的ISO标准之一。作为一名测试专业人员,我经常把ISO9126产品质量标准用作产品风险评估期间的(术语)框架,测试策略和测试方法决策。当非功能测试是测试过程的一部分(这种情况很普遍)时,它就特别有用。

  讨论事项
   ISO9126标准也被用于和/或引用于各种ISTQB教学大纲,ISTQB词汇表和许多其他教科书中。我亲自在此框架下培训了很多测试人员,关于如何使用它,以及如何与利益相关方沟通非功能测试。许多人喜欢它,并在他们的日常实践中使用它,虽然也有一些如下评论:
   ??我怀念易用性! 
   ??安全性一定不能是功能的一部分? 
   ??熟悉RAMS的人也抱怨可用性没了。 
   ISO9126的下一代,ISO25010(图3)是若干年前发布的,但到现在为止还不怎么被认可理解。我也一样,一直没用过它。通常我倾向于坚持已被证明有用的事物,不去用新版本,例如一个标准。大多数标准几乎没有附加值。我快速浏览了一下ISO25010,但它并没有吸引我。

图1. ISO 9126质量模型

  历史
   1977年,McCall提出将质量概念分解为一系列质量因素的想法。这个想法一直被许多其他试图把软件产品质量放入特性集合及(反之与指标和衡量标准相关的)相关子特性的作者遵循。这样,每一个作者就宣传了他们的软件产品分级分层质量模型。国际标准化组织(ISO)和国际电工委员会(IEC)就已遵循了这一概念,并在1991年定义了一系列现被称为ISO 9126的质量特性。该系列反映了软件产业达成共识的一大步,从而确定了软件质量的一般概念。原先1991年的ISO 9126在2001年稍稍更新过一次。

  马来西亚SOFTEC
   2014年在马来西亚SOFTEC,我遇见了Azuma教授, ISO 9126和ISO 25010的编写者。我听了他的演讲,后来还与他谈过话。就是那时,我开始理解用ISO 25010取代ISO 9126的背景和原因,这算不上代替,而是针对信息通信技术演变背景的替代,如强大的微处理器,更大的内存,更好的显示器,更多的硬盘存储,及提升的通信网络(见图2)。信息通信技术的演变确保新应用系统的开发,反之新应用系统的开发又需要不同品质性状。1991年, 9126最初发布时,还没有谷歌,Facebook,智能手机,云计算,电子商务等。IT领域也就是它的应用,由于信息通信技术演变给组织提供的可能性,在过去20年发生了极大的改变。

图2.信息和通信技术演进

  软件质量是核心
   随着系统变得越来越复杂和较越来越大,基础软件的质量对企业成功的至关重要。软件系统的关键性能增加了不少。现在的应用程序有别于20年甚至10年前的;他们对产品质量也有不同的需求:
??交互式客户软件对可用性和共存性的要求很高
??网络和开放系统对安全性和互操作性的要求很高
??任务关键性系统对功能的正确性和可靠性要求很高

  实践中,ISO 9126仍然是最常用的软件质量特性标准。但是,ISO 25010正逐渐流行起来。 ISO 25010标准,基于能确保新应用系统的开发(而这又需要开发不同的质量特性)的信息通信技术演变,开发来取代ISO 9126,。我现在明白了,在ISO 9126框架需要更新以应对当今世界的信息通信技术及其应用。这不是为了改变而改变。新的软件产品质量标准ISO 25010是可用的,且应尽快成为测试人员和其他软件学科的重要标准。有趣的是9126上提出的问题,如本专栏前面所述,也得到了解决。让我们采用这种新架构,并开始在我们的日常测试实践中使用它。

图3.ISO25010产品质量模型

版权声明:本文出自 SPASVO泽众软件测试网:http://www.spasvo.com/news/html/2014610152809.html

原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。

?

软件产品质量 “新”标准

时间: 2024-11-05 16:11:31

软件产品质量 “新”标准的相关文章

软件产品质量模型

软件产品质量模型将一个软件产品需要满足的质量划分为六大属性(功能性.可靠性.易用性.效率.可维护性和可移植性),每类属性又细分出了很多“子属性”,如下图所示. 软件产品质量模型对产品设计时需要考虑的地方进行了高度概括.一个高质量的产品,一定是一个在质量六属性上都设计得很出色的产品:如果一个产品的设计在质量六属性上存在缺失,这个产品的质量一定不会太高.下面就6个特性和27个子特性一一说明: 一.功能性:是指软件产品在指定条件下使用时,提供满足明确和隐含要求的功能的能力. 1.适合性:软件产品为特定

关注C++细节——C++11新标准之decltype的使用注意

c++11新特性--decltype decltype是C++11添加的一个新的关键字,目的是选择并返回操作数的数据类型,重要的是,在此过程中编译器分析表达式并得到它的类型,却不实际计算表达式的值. 对于内置类型的对象,使用decltype很直观,但当参数为复合类型的时候就应该注意一些使用细节问题. 1.当decltype作用于数组的时候就应该小心了,本文作者(CSDN   iaccepted). intiarr[10] = {0}; decltype(iarr)ib; 这个时候ib的定义等价于

2017年APP软件开发新趋势

郑州APP开发公司商宇科技表示:对于很多行业而言,2016年有着很多的机遇和挑战,也有很多的困难险阻.对于手机APP软件开发行业也是一样,2016年是国内逐渐进入移动互联网时代的第四个年头,APP软件开发行业越来越火热.那么,2017年手机APP软件开发行业又会发生什么样的变化呢?2017软件app开发的前景又是如何呢??2017年APP软件开发新趋势1.2017年手机APP软件开发行业前景分析据郑州APP开发公司商宇科技获悉,截止2016年11月底,我国移动互联网用户已经接近10亿.在2016

《Javascript权威指南》学习笔记之十九--HTML5 DOM新标准---处理文档元信息和管理交互能力

一.了解DOM 1.DOM是Document Object Model的缩写,即文档对象类型,是文档在内存中的表示形式,是一个应用程序接口,定义了文档的逻辑结构以及一套访问和处理文档的方法. 2.HTML DOM与Core DOM的区别:前者提供了大量的方法和属性,与现有的程序模型一致,更便于脚本的编写者控制. 二.document对象 使用window.document属性返回一个document对象,代表当前window内加载的文档.window可以省略.winName.document返回

李彦宏:下个行业机会是企业级软件和新数据

真正的数据并不是让用户通过一定佩戴什么设备才能收集,而是用户在日常生活中就能收集数据,这样的数据收集上来才是非常有价值的. [财经网讯]5月29日消息,2014百度联盟峰会今日在黄山举行.百度CEO李彦宏在峰会上分享了对未来趋势的判断:一是新型企业级软件,解决企业从内部到外部链接的问题:二是挖掘新的有价值的慢数据,帮助发掘个性化的预测信息. 李彦宏说,"巨大机会都来自BAT不会做的领域",这两个领域分别是:一是新型企业级软件,不仅提升企业内部效率的,更能帮助解决企业从内部到外部链接的问

C++11新标准:nullptr关键字

一.nullptr的意义 1.NULL在C中的定义 #define NULL (void*)0 2.NULL在C++中的定义 #ifndef NULL #ifdef __cplusplus #define NULL 0 #else #define NULL ((void *)0) #endif #endif 3.为什么C++和C中NULL定义不一样呢? void foo(int a) { cout<<"This is int"<<endl; } void foo

C++11新标准:decltype关键字

一.decltype意义 有时我们希望从表达式的类型推断出要定义的变量类型,但是不想用该表达式的值初始化变量(如果要初始化就用auto了).为了满足这一需求,C++11新标准引入了decltype类型说明符,它的作用是选择并返回操作数的数据类型,在此过程中,编译器分析表达式并得到它的类型,却不实际计算表达式的值. 二.decltype用法 1.基本用法 int getSize(); int main(void) { int tempA = 2; /*1.dclTempA为int*/ declty

C++11新标准:auto关键字

一.auto意义 编程时常常需要把表达式的值赋给变量,这就要求在声明变量的时候清楚地知道表达式的类型,然后要做到这一点并非那么容易.为了解决这个问题,C++11新标准引入了auto类型说明符,用它就能让编译器替我们去分析表达式所属的类型. 二.auto用法 1.基本用法 int tempA = 1; int tempB = 2; /*1.正常推断auto为int,编译通过*/ auto autoTempA = tempA + tempB; /*2.正常推断auto为int,编译通过*/ auto

C++旧源码向新标准移植陷井(一)_局部栈变量的生命周期

之前在VC++6.0上面写了下面这样的代码: int _tmain(int argc, TCHAR* argv[], TCHAR* envp[]) { int nRetCode = 0; //不重要的部分略过if (argc>1) {if (strcmp(argv[1],"createpcsstep") == 0) { CDlgCreateStepPcs dlg; dlg.DoModal(); break; } else if (strcmp(argv[1],"clea