问题描述:

  当开发人员的单元测试覆盖率达到100%时,QA可以发现什么样的缺陷?

  精彩答案:

  会员 livexmm:

  单元测试一般是测试代码的严谨性,并且代码是否按照详细设计来做。如果详细设计过关,单元测试一般是以详细设计为基础设计,而不是以代码为基础。

  恩,说国内,一般很多公司开发软件都不会做详细设计,或者详细设计不够严谨,这个先不说,先按照出题者的思路来回答。

  一般情况下单元测试覆盖率很难达到90%以上。既然题目说是单元测试覆盖率达到100%,那基本上想表达的意思应该是程序已经完完全全按照详细设计来做,并且代码逻辑上很严谨。

  会出现问题的地方以及测试范围:

  先细分一下单元测试包含的内容:软件在该单元模块的功能,画面显示与画面迁移(如果单元测试覆盖率只表示代码覆盖率,那这个测试点还是得测试)。

  那么从这里我们能确定剩下还需要进行的测试:需求合理性,模块间的集成,软件性能,软件可操作性,如果有必要还需要进行安全性测试。

  各个测试范围内可能出现的问题:

  需求合理性:

  这里会出的问题是需求没做好,我认为这个反倒是目前国内软件开发有可能出现问题的地方。需求出现问题随之带来的需求变更有无数的谚语与语录可以供认调侃。严格的需求审核是保证这方面质量的一个关键。并且不能把原始业务需求与需求用例混为一谈。

  另外,测试团队需要在这方面发现问题必须业务熟练,并且有一定的开发经验。所以如果是完全没基础的新项目,测试团队这方面能力又不足的话,还是别考虑吃这方面的肉了。虽然确实很诱人。但是一搞不好也很丢人。

  模块间的集成:

  这点严格来说属于详细设计没做好。比如接口间传递的数据不对,导致画面上显示的不正确,或者干脆造成下一个业务流程无法进行下去。保证这个方面没有问题主要靠详细设计的审核与测试团队的测试。

  软件性能:

  这里会出现的问题主要是由2部分组成。

  1、代码。举个例子,一般公司都会有代码规范,并且规定数据库查询语句不允许写在循环内,但是有多少公司真正有QA,并且QA真正去追这方面的问题呢?实际上这里只需要开发人员之间的一个代码走查能搞定了。

  2、数据量过大。这个详细设计的时候需要提一根弦,碰到查询页面不加个分页功能实在是不应该的。

  还有诸如网络环境,硬件配置,业务人员操作习惯等等天灾人祸的原因太多了。不过我实际碰到的情况,90%都是以上2点组成。另我很遗憾的是,我发现只要代码规范写得仔细,并且开发人员能够执行,很多性能问题不会出现。

  当然,性能终反馈的问题是执行效率过慢!!想要保证性能,设计、开发、测试各个阶段都需要注意。

  软件可操作性:

  比如用户操作习惯的一致性,画面风格的一致性,页面简洁等等。这里主要还是一些操作习惯。如果是对用户体验比较重视的软件,那这方面到成了重点。这里会由测试团体负责,客户体验也占了很大一部分。

  安全性:

  安全性么,比如SQL注入,加密,文件上传与下载,网络环境的配置。涉及不多,不多说了。