质量保证中的质量定义:产品或服务满足显式或隐含需求能力的功能和特性总和。而我们外包测试我们提供的是测试服务,我们除了分析客户的显式需求,还要分析客户的隐含的需求。显式的需求我们很好理解,即客户通过需求文档、口头要求、电子邮件要求、变更管理系统中对需求的变更等,这些都是用户提出来的需要我们作为测试中依据的。当然我们不是特别希望客户通过口头要求、电子邮件等非正规形式提出需求,但是目前现实的情况,我们也要考虑,规范需求管理是我们帮助客户不断改进的一个方面。而我们更多的应该关心客户的隐含需求,这些需求包括:
1、 用户可能认为我们理解或遗漏的。例如认为我们很熟悉其行业的特点,而没有在文档中说明;
2、 行业规范。每个行业都有一些行业中大家中的一种规则,例如会计帐务记录和报表,嵌入式领域中对物理内存考虑等;
3、 计算机领域的规范和习惯。例如,窗口中的确定按钮在取消按钮的左侧。Web中的导航设置等。
4、 客户对计算机技术的限制。例如,其不太清楚对性能指标如何来描述。对系统中的安全性要求,从哪些方面描述等。
度量不是指具体的事物,而是对每个事物的度量。质量是一个度量元,事物度量的结果应该有一个明确的描述,不管是定量的还是定性的。当然定性的也最好是通过能够一些量化的参数判断。
目前很多的质量保证原则不会与当今的商业软件系统开发的现实相符合,也存在一些对质量方面的片面认识。下面是根据一些书籍结合我对外包方面的一些经验汇总的对质量的认识误区。
1、质量需求决定进度。事实上,对于大多数软件系统而言,市场压力和竞争决定进度。而对于我们外包测试行业来说,客户要求则决定我们的测试进度,归根结底,客户要求也是基于市场压力和竞争等方面的考虑。引用1997年Microsoft公司的测试主管Roger Sherman讲述的一段话来很好的证明。“进度通常是质量的敌人,但在Microsoft,进度被看做是产品质量的一个部分。的确,Microsoft研究其市场并基于市场需求确定其自己的质量定义。而我们目前提高测试服务的金融客户,尤其是银行,对质量要求非常高,而基于国有银行、商业银行、城市银行,还有WTO开放后进入的外资银行,对新产品的推出速度或多或少决定其在市场上的占用率,这些从外汇交易、黄金交易、基金托管等业务可窥见一斑。
2、质量等于可靠性,或可以说零缺陷是高质量产品的要求。而实际上可靠性仅仅是产品质量的一部分。我一直认为所说的零缺陷,只是一个海市蜃楼之类虚无缥缈的东西。这种零缺陷的软件系统我想可能很少存在,当然如果是经过了实践证明,的确某软件系统不存在任何缺陷,那就是说这种软件系统连用户认为连建议修改或完善的地方都没有。例如,控制激光手术的伽马刀系统是否满足零缺陷的要求。一般商用软件不愿意支付零缺陷产品或100%可靠性所需要的成本。而对于
3、用户清楚他们的需求。事实上,用户需求往往是模糊的和粗略的,并不详细和具体。上面我们分析过,由于用户各种因素,很难准确的描述他们的需求。例如一个银行的报表经常有上百个之多,而这些报表是否都是需要的。有时候可能通过调研获得需求,但是这种调研是否对需求带来用途呢,而在需求描述中还是需要尽量把所能考虑的需求都描述了,结果使系统臃肿不堪。
4、需求就是正确的。提出业务需求的人也是普通人,人是需要通过实验及排错的过程才能得到好的设计。如果开发过程没有充足的时间完成设计、测试和修复缺陷将不可能开发出好的产品
文章来源于领测软件测试网 https://www.ltesting.net/