天行健,君子以自强不息!

测试分析设计工具TestPlatform

上一篇 / 下一篇  2011-05-04 10:14:49 / 个人分类:TP

摘自51testing创始人之一:周峰的专访。

周峰:可以把测试工具分成三大类:

  1、执行类工具;

  2、分析设计类工具;

  3、管理类工具。

  其中执行类工具又可以分为静态工具和动态工具;静态工具主要利用代码规则对代码质量进行检查,例如Pc-Lint、Logiscope等;动态工具可继续细分为单元测试工具、接口测试工具、系统测试工具,其中大家常见的主要是系统测试工具如QTPLoadRunner等。

  分析设计类工具比较少,目前成体系的还只有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主要的技术指标和特性列表比较如下。

关于TestPlatform:

  51Testing:您是在什么契机下想到要开发TP软件的呢?

  周峰:我们在给企业客户进行咨询、培训的时候,有两门课非常受欢迎,《测试分析设计》、《缺陷分析》等,客户都觉得非常有价值。但受制于这方面工具的缺乏,这些方法论的东西在项目实践中要推行起来比较困难,因此我们决定开发这套工具,帮助企业把测试分析、测试设计、缺陷分析等真正做起来。

  51Testing:TP首创测试辅助分析设计功能,测试分析设计都有哪些理论?能给测试带来什么好处呢?能具体给大家讲讲么?

  周峰:测试分析的目的为从开发需求提取测试项,TP提供了继承性分析、质量模型分析、功能交互分析、用户场景分析、测试特性建模、测试项分解分配等分析功能;测试设计的目的为从测试项设计测试用例,TP提供了逐级细分法、域测试法、状态迁移分析法、流程分析法、判定表法、因果图法、正交试验法、错误猜测法等分析功能,TP能帮助测试工程师使用这些工程方法,自动生成测试项、测试用例,提高测试覆盖率。同时自动建立和维护需求-测试项-测试用例的跟踪关系,利用跟踪关系分析需求变更对后面测试资产的影响分析,以保持同步变更;利用跟踪关系分析需求所处状态、被测试充分性、需求的质量等等,方便保持这些资产的一致性。

  51Testing:我们都知道测试主要就是要找到软件的缺陷,而TP中也包含缺陷管理和度量,这个模块有什么特殊的功能么?

  周峰:TP提供完善的缺陷跟踪流程,定义完备的缺陷属性以进行缺陷度量,同时支持缺陷跟踪流程的用户自定义和缺陷属性自定义。在此基础上,提供ODC分析、Gompertz分析、Rayleigh分析、四象限分析、DRE/DRM等工程分析功能,对缺陷进行单维度、多维度分析、进行缺陷趋势分析、对缺陷进行预测等,为软件质量、测试质量的评估、测试是否退出的判断、遗留缺陷的预测提供支撑。

  51Testing:TP可以用在哪些测试工作中?

  周峰:TP是TestPlatform的缩写,我们将它定位为测试平台,即支撑所有测试工作的平台。对测试工程师而言,TP能够对其日常测试工作中的测试分析、测试设计、测试实现、测试执行等具体测试工作提供工程方法支持,同时实现了各环节测试资产(需求、测试项、测试用例、缺陷等)的管理和跟踪;另外还支持静态测试管理和个人工作日志管理。对于测试经理而言,TP提供三级测试计划体系,以测试计划为驱动,来支撑测试分析、测试设计、测试实现、测试执行、软件质量改进等软件测试所有环节的活动;支持测试全流程的度量,整个度量体系分规模、工作量、计划、质量等四大类共90多小类度量项,并在这些度量项基础上提供近100个分析指标,帮助管理者全方位评价软件质量、测试资产质量、测试效率、测试充分性等;提供提供ODC分析、Gompertz分析、Rayleigh分析、四象限分析、DRE/DRM等工程分析功能,帮助管理者建立软件研发过程的质量基线、测试能力基线,并帮助管理者将项目实际缺陷、能力数据和基线数据进行对比分析,发现软件过程中的改进点,判断测试是否可以退出、软件是否可以发布,并对软件中残留缺陷数进行预测。

  51Testing:给软件测试人员提一些意见和建议

  周峰:我谈谈我的两点心得吧:

  1、建议测试工程师在测试之余,有条件的话,多看开发文档(需求、设计等)、代码。做黑盒测试的不要满足于只了解系统外在的功能,而应该通过看文档和代码了解内在的实现和机制;而做白盒测试的工程师不能只满足于了解所负责模块的设计和代码,应该去阅读整个系统的文档和代码。从我个人的体会来看,当完整的从整体到内部细节完全弄通了一个系统后,整个人会上一个台阶,有一种一通百通的感觉。再接触新的系统就基本上很容易了;

  2、重视缺陷分析,发现缺陷后不要只满足于提交缺陷单、最后回归一下。这样永远都不会有提高。建议每轮测试完成后,在回归时,把所有的缺陷单中开发定位的原因、缺陷位置、代码找出来好好读一遍。这个基础工作积累到一定程度,会发生质变。可能一看到某种缺陷现象,就能推测出是什么原因造成的;或者还在前期需求、设计、编码阶段,就能直接发现需求、设计、代码中的问题,因为你已经积累了很多会引起缺陷的根源,一看就知道开发这样做不行。这样就会上升到能进行静态测试,通过看文档、看代码,发现问题。



TAG:

 

评分:0

我来说两句

Open Toolbar