(1)应强调软件总体质量(低成本、高质量),而不应片面强调软件正确性,忽略可维护性、可靠性、可用性与效率等。
(2)应在软件工程化生产的整个周期的各个阶段都注意软件的质量,而不能只在软件最终产品验收时注意质量。
(3)应制定软件质量标准,不能仅局限于定性地评价软件质量,应采用同行评审和度量等多种方法来定量地评价软件质量,使软件产品评价走上评测结合、以预防为主的科学轨道。

2.什么是软件的缺陷
美国的Ron Patton在其著作《软件测试》中把符合下列5条规则的问题称为缺陷(Software Bug)。
(1) 软件未达到产品技术说明书表明的功能(客户要求的功能定义);
(2) 软件出现了产品说明书指明不会出现的错误;
(3) 软件实现了产品说明书中未提及的功能,即超出了说明书指明的范围;
(4) 软件未达到产品说明书虽未指出但应达到的目标;
(5) 软件测试员认为软件语义、逻辑、算法等难于理解、不易使用、中断错误多。
在R.B.Grady的著作“Practical Software Metrics forProject Management and Process Improvement”中,缺陷(Defect)被定义为“在说明、设计或者实施产品过程中的任何不足”(Any flaw in thespecification, design, or implementation of aproduct)。
而ISO 9000对缺陷的定义“未满足与预期或者规定用途有关的要求”,表明缺陷是软件中已经存在的一个部分,可以通过修改软件而消除。
失效(Failure)是什么,当系统或者软件运行时,出现不正确的输出,则称为失效。失效可能由软件缺陷引起,还可能由其他诸如人为因素、硬件故障等原因引起。
缺陷(Defect)是系统任一方面(包括需求、设计或者代码等)的缺点,该缺点会促成或者潜在地促成一个或者多个失效发生。
错误(Error)是在缺陷发生后出现的现象,指软件产品与预期属性发生的偏离现象,即在软件出现逻辑上的错误或疏忽(即俗称的Bug)。
在软件工程整个生命周期中,任何背离需求、无法正确完成用户所要求的功能的问题,包括存在于组件、设备或系统软件中因异常条件不支持而导致系统的失败等都属于缺陷的范畴。
(1)软件错误(Software Error)
(2)软件缺陷(Software Defect)
(3)软件故障(Software Fault)
(4)软件失效(Software Failure)