📜  软件质量管理-简介

📅  最后修改于: 2020-12-04 07:53:32             🧑  作者: Mango


质量软件是指合理地无错误或无缺陷,在指定的预算内及时交付,满足要求和/或期望并且可维护的软件。在软件工程方面,软件质量既反映功能质量又反映结构质量

  • 软件功能质量-它反映了根据功能要求或规格,它对给定设计的满意程度。

  • 软件结构质量-它处理支持交付功能需求的非功能需求,例如健壮性或可维护性以及正确制作软件的程度。

  • 软件质量保证-软件质量保证(SQA)是一组活动,以确保最终产生高质量软件产品的软件工程过程的质量。这些活动建立并评估生产产品的过程。它涉及以过程为中心的行动。

  • 软件质量控制-软件质量控制(SQC)是确保软件产品质量的一系列活动。这些活动着重于确定实际生产产品中的缺陷。它涉及以产品为中心的行动。

软件质量挑战

与其他工业产品制造商通常不同,在软件行业中,开发人员永远不会声明软件没有缺陷。该差异是由于以下原因。

产品复杂度

这是产品允许的操作模式数。通常,工业产品在机器设置的不同组合下仅允许少于数千种操作模式。但是,软件包允许数百万种操作可能性。因此,正确确保所有这些操作可能性是软件行业的主要挑战。

产品可见度

由于工业产品是可见的,因此可以在制造过程中检测出大多数缺陷。同样,可以容易地在产品中检测到工业产品中没有零件。但是,看不到存储在软盘或CD上的软件产品中的缺陷。

产品开发与生产过程

在工业产品中,可以在以下阶段中检测出缺陷-

  • 产品开发-在此阶段,设计人员和质量保证(QA)人员检查并测试产品原型以检测其缺陷。

  • 产品生产计划-在此阶段,设计和准备生产过程和工具。此阶段还提供了检查产品的机会,以检测在开发阶段未被发现的缺陷。

  • 制造-在此阶段,将应用质量检查程序来检测产品本身的故障。通常,可以通过更改产品的设计或材料或更改生产工具来纠正在制造的第一阶段中检测到的产品缺陷,从而消除将来制造的产品中的此类缺陷。

但是,对于软件,唯一可以检测到缺陷的阶段就是开发阶段。如果是软件,则不需要进行产品生产计划和制造阶段,因为软件副本的制造和软件手册的打印是自动进行的。

下表列出了影响软件产品与其他工业产品中缺陷检测的因素。

Characteristic Software Products Other Industrial Products
Complexity Millions of operational options thousand operational options
visibility of product Invisible Product Difficult to detect defects by sight Visible Product Effective detection of defects by sight
Nature of development and production process can defect defects in only one phase can detect defects in all of the following phases
  • Product development
  • Product production planning
  • Manufacturing

软件的这些特性(例如复杂性和隐蔽性)使软件质量保证方法论及其成功实施的开发成为高度专业的挑战。