各质量的关系是相互影响又相互依赖的关系。
过程质量
对于软件的质量好坏,要从软件的研发过程来控制,有严格的方式方法,这也是一个质量保证。
过程质量由公司的QA(Quality assurance)人员来保证,QA保证软件的研发过程是按照比较科学的方式方法进行,并将科学的方式贯彻到项目团队,这个活动我们称为软件质量保证(SQA,software quality assurance)。
内部质量
内部质量是指软件研发过程中软件的质量,在这个过程中会产生的需求文档、概要设计、详细设计等文档依据,这些文档的优劣直接影响内部质量。内部质量是由开发来把控。
外部质量
外部质量指地是软件开发完成后,整体运行时暴露出来质量特性,外部质量的界定是由系统测试的来对软件进行质量评判的工作,外部质量由测试人员把控。
使用质量
当软件交付用户后,由用户在使用时感受及目标的符合程度,简单来说就是用户说你的软件好不好,这就是使用质量。
前面的过程、内部、外部质量都是由公司的内部人员来进行评估的;使用质量由用户来评估的。
ISO9126提出了如下图的质量模型。
六大特性包含了27个子特性,但它只是一个质量模型,我们还是要根据具体的软件环境、背景去考察其他方面的特性。
软件质量活动软件组织主要的软件质量活动:
软件质量保证(SQA,Software Quality Assurance)。
测试。
SQA和测试的关系
软件质量由组织、流程和技术三方面决定:
SQA从流程方面保证软件的质量。
测试从技术方面保证软件的质量。
只进行SQA活动或者只进行测试活动不一定能产生好的软件质量。
SQA监控整个项目的流程,比如项目的立项、开发、测试、发布。
测试活动就是项目流程中的一部分。