质量保证 (quality assurance)为了提供足够的信任表明实体能够满足质量要求,而在质量体系中实施并根据需要进行有系统的活动。
QA:监控公司质量保证体系的运行状况,审计项目的实际执行情况和公司规范之间的差异,并出具改进建议和统计分析报告,对公司的质量保证体系的质量负责。
质量保证分为内部质量保证和外部质量保证两类。
a.内部质量保证:在组织内部,质量保证向管理者提供信任
b.外部质量保证:在合同或其它情况下,质量保证向顾客或他方提供信任。
质量控制和质量保证的某些活动是相互关联的。只有质量要求全面反映了用户的要求,质量保证才能提供足够的信任。商业目标决定质量目标。提高软件质量的最终目的是为了赢利,而不是创造完美无缺的产品。因此对于普通商业软件而言,并不是“质量越高越好”,而是恰好让广大用户满意,并且将提高质量所付出的代价控制在预算之内。
任何一项工作,都会随着项目的进展变得越来越不明显,随着项目的深入,进度与质量的矛盾会越来越尖锐。
测试管理的基本原则是保证在预算内、满足质量的前提下,按进度完成项目。因此,可以看到,进度与进度存在一定程度上的矛盾关系。有时要保证质量,进度就必须放慢,有足够的时间进行需求评审和设计评审;有时要保证进度,质量就会受到影响或存在较大的风险。如何处理质量和进度的关系?
应该强调“质量第一”的文化,保证质量是前提,然后考虑资源的调度和进度的调整。其次,尽量利用历史数据,从以前完成过的项目来进行类比分析,以确定质量和进度所存在的某种数量关系,来控制进度和管理质量。
软件质量保证是一个长期的工作。这体现在两个方面: 一方面,不仅在软件部署和重大升级时需要进行测试,而且在打补丁和小的发布时都需要进行测试。而后者很容易被企业忽略。另一方面,也是更重要的,需要对软件进行长期的监控,即生产中和生产后的监控,也就是生命周期的测试。只有这样才能在高进度要求下保证项目的质量。