质量一词,在百度百科解释为“质量是物体本身的属性,物体的质量与物体的形状、物态及其所处的空间位置无关,质量是物体的一个基本属性”。
针对软件,可将质量理解为“软件产品满足用户或规定显性需求或隐性需求的程度”。ISO9000:2005《质量管理体系基础和术语》中对质量的定义是“一组固有特性满足要求的程度”。从质量定义可以看出,软件质量的关键点是满足要求,可使用差、好及优秀等修饰词进行表述。
针对软件而言,“满足要求”包含两个层次:
一是用户显性需求;
二是满足其隐性需求。
通常情况下,用户容易表述其显性需求,如需要何种功能、何种性能表现等,但无法明确其隐性需求,如软件产品无论在哪种用户需求背景下,都需满足法律法规的限制、行业限制、用户约定俗成习惯,甚至是企业内部的规章制度等。因此,考虑软件质量时,既需考虑用户显性需求,也需考虑其隐性需求,这点测试工程师在分析测试需求时必须考虑。
衡量一个软件系统的好坏,可从过程质量、内部质量、外部质量、使用质量等几个方面考察。
过程质量关注软件产品整个生产流程是否规范;内部质量关注软件内部设计及静态测度是否合格;外部质量关注软件产品功能、性能的表现,使用质量则关注软件系统在使用过程中的易用性、