管理的作用是预防。预防可能有效也可能无效,预防了并不代表一定不会出错。质量体系的作用就是预防,就是要降低出错的概率。这恰如中药,中药见效慢但是能够强身健体,从根本上解决病因。而测试与同行评审则好比是西药,立竿见影,直接作用在痛处。
同行评审是在软件开发的各个生命周期阶段都可以实施的质量管理措施,测试是当软件模块开发完成后才可以采取的质量管理措施,二者是互补的,同行评审可以发现测试无法发现的问题,测试也可以发现同行评审无法发现的问题。
根据统计数据证明,同行评审发现问题效率一般是测试发现问题的3倍以上,因此越来越多的企业开始重视同行评审的工作量投入。在TSP/PSP中,Humphery建议设计评审的工作量要大于设计工作量的1/2,代码评审的工作量要大于编码工作量的1/2。企业在做同行评审时,往往由于工期的原因而省略了同行评审,急于进入编码,于是需求阶段注入的缺陷、设计阶段注入缺陷全都集中在了测试阶段来发现与修改,则增加了测试的负担。据研究,在生命周期的后期修改缺陷的成本是在前期修复缺陷的成本的10倍,这些成本都是隐性成本,如果没有度量数据来证明,往往为管理者所忽略。
测试分为单元测试、集成测试、系统测试、验收测试,在实践中,企业往往是侧重在系统测试,而没有关注单元测试与集成测试,系统测试无法发现单元测试可以发现的所有问题,这正如盖房子,每块砖的质量无法保证,则整个楼的质量也无法保证,楼已经盖好了,再去检验每块砖的质量就比较困难。单元测试是集成测试与系统测试的基础,单元测试一般要求语句覆盖率为100%,即每个语句都要被测试过。单元测试可以由开发人员自己也可以由其他人员来进行,单元测试也需要编写测试用例,需要记录缺陷。
文章来源于领测软件测试网 https://www.ltesting.net/