|
本帖最后由 lvchongen 于 2012-7-10 09:41 编辑
我对题目的理解是,问题中的QA主要职责是白盒或者灰盒测试。
首先,我们需要明确一个问题,什么是代码覆盖率?基本上可以理解为测试过程中运行代码的行数与总行数的比率。代码覆盖程度的度量方式有很多种,比如语句覆盖,判定覆盖,条件覆盖,路经覆盖,这四种基本的覆盖方式测试能力从弱到强,那么问题是题目中的覆盖率100%是采用了哪种覆盖方式,即使采用了最强的 覆盖方式,测试人员就不能再发现缺陷了么?
软件缺陷,即为计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。所以我们测试代码的时候需要从很多角度出发,功能,性能,安全等。
(1)性能方面,常见的错误就是内存泄露,算法有待优化等,而这些往往是开发人员的思维死角。
(2)安全方面,一般是隐藏的漏洞,加密算法,容错能力等,有兴趣的朋友可以百度以下WebShell提权,典型的针对代码漏洞取得管理员权限。
(3)功能方面,比如集成测试,虽然模块功能正确,但集成后失效,其实就是接口存在缺陷。
随着测试人员对代码的理解,对系统的认识,知识的累积,会找到更多的角度测试,所以即使开发人员的代码覆盖率100%,我们要做的还有很多。 |
|