51Testing:现在也有很多测试工具帮助我们进行软件测试,您能简单向我们介绍一下么?
周峰:可以把测试工具分成三大类:
1、执行类工具;
2、分析设计类工具;
3、管理类工具。
其中执行类工具又可以分为静态工具和动态工具;静态工具主要利用代码规则对代码质量进行检查,例如Pc-Lint、Logiscope等;动态工具可继续细分为单元测试工具、接口测试工具、系统测试工具,其中大家常见的主要是系统测试工具如QTP、LoadRunner等。
分析设计类工具比较少,目前成体系的还只有TestPlatform (TP)。另外可能还有个别只是实现了某个分析设计方法的小工具例如正交分析工具等。
管理类工具也比较多,功能比较全的有QC、RQM等,另外还有只针对某方面进行管理的工具例如Bugzilla等。
51Testing:QC、QTP、Loadrunner都是我们常见的工具,TP很多人却是头一次听说,可以简单介绍一下这个工具么?TP软件与同类测试工具有什么区别和优势?
周峰:一个完整的测试流程包括测试分析、测试设计、测试实现、测试执行等环节。前面三个环节主要解决“测什么”的问题,重点关注测试的完整性、充分性、覆盖率,以提高测试的质量为目标。而测试执行环节是解决“如何测”的问题,重点关注测试环境的模拟、测试的效率,以提高场景的真实性、测试的效率为目标。
目前业界主要的工具都集中在测试执行环节,前面三个环节除了TP外,几乎没看到过系统性的工具。
整个测试工作的质量很大程度上是由测试分析、测试设计这两个环节的活动决定的。如果这两个环节工作没做好,或者投入不够,将会遗漏测试需求、或遗漏测试需求的测试点,引起漏测,导致测试不充分,影响软件质量。
TP提供了整套从软件需求经过测试分析得到测试项、测试项经过测试设计得到测试用例的理论框架和工程方法,能帮助测试工程师辅助自动生成测试项、测试用例,提高测试的完整性、充分性、覆盖率,保证测试的质量。
另外,测试工作需要根据产品已发现缺陷情况,分析其质量薄弱点,全面掌握产品各功能模块质量情况,及时调整测试重点,保证测试投入产出比,这对多轮测试、回归测试时确定测试的重点尤其重要。测试工作需要考虑什么时候可以退出,这需要建立测试的退出准则,并根据测试发现缺陷的情况进行质量分析,预测产品的遗留缺陷情况,判断何时可以结束测试。
在这一点上,TP还提供缺陷管理和缺陷分析功能,主要有:
i 能实现缺陷流程的完全自定义,允许用户根据自己企业情况自由定义自己缺陷属性、流程环节、流转关系等;
ii 提供ODC分析工具、Rayleigh分析工具、四象限分析工具进行缺陷分析,全面掌握产品质量状况;
iii 提供Gompertz分析工具、DRE/DRM分析工具、Rayleigh分析工具、四象限分析工具评估测试充分性,预测遗留缺陷数,判断测试何时可以退出。
目前国产测试平台软件除了TP(TestPlatform)外还没有同类主流产品,国外同类产品以惠普公司的QC(Quality Center)和IBM公司的 RQM(Rational Quality Manager)为主流。现将TP和QC、RQM主要的技术指标和特性列表比较如下。