如何提高测试效率

发布: 2010-12-28 14:34 作者: webmaster 来源: 本站原创 [浏览次数:167 ]

1、提高测试效率的基本思路

  提高测试效率的方法有两个:"节","挖"。"节"就是利用工具尽可能减少测试时间,"挖"就是挖掘编码工作和调试工作中的效率潜力,编码、调试与单元测试具有紧密的关系,利用单元测试工具可以提高编码和调试效率,从而抵消部分或全部测试时间。

  2、减少测试时间

  要减少测试时间,首先要弄清楚哪些环节消耗时间最多,然后才能对症下药。单元测试最耗时的环节有:编写测试代码、建立测试用例、找出遗漏用例。

  测试代码具有很多固定的内容,例如都要建立和销毁被测试对象,执行被测试程序等测试人员只要设定测试用例的输入输出就行了。

   如果测试用例也由工具自动生成当然最省时,可惜这是不现实的,因为测试工具不能自动了解程序的功能,只能依靠参数的数据类型之类的信息生成测试用例,生 成的用例和实际需要往往相差很远。用工具自动生成大量测试用例然后手工修改怎么样?听起来不错,但用起来效率不高,因为很多输入输出是比较复杂的,必须由 人工补充一些代码,如果预先生成大量用例,那么每个用例都是在相同的起点上修改,效率并不高。如果工具只生成第一个测试用例,再用拷贝并修 改的办法建立其他用例

   找出遗漏用例是一个大难题,多数单元测试工具都只能统计出覆盖率,但是未覆盖的往往是最难的,解决这个问题对提高测试完整 性,降低测试成本具有极其重要的意义。这里提出一个新的思路:在运行现有的测试用例后,针对某一未覆盖的逻辑单位,由测试工具从现有的用例中计算出可以覆 盖该逻辑单位的近似用例,再提供一些提示,由用户根据提示进行修改,从而获得预期的测试用例。这里说的近似用例是指需修改的数据最少,数值的差异也最小, 例如,程序涉及到三个参数,那么近似用例大概只需要改一个参数就行,如果有多个用例可供选择,那么就选择数值改动幅度最小的。这个思路涉及到复杂的技术, 这里就不详述了。

  3、提高编码效率

  编程的主要时间消耗不在于敲键盘,而在于编程思路和调试。这里说的编码,主要是指编写有一定复杂度的函数,即局部代码的实现,这是单元测试的重点,也是编码阶段最主要的工作。

   程序员通常是在了解程序需实现的功能,并有了大概思路后即开始编码,而不是先将所有细节都想清楚。编码时也很难一气呵成,一般来说,写几行,就要编译调 试一下,输出一些数据,看看已经写的对不对,再想下一步要怎么写,也就是说,要不断地了解已经编写的程序的行为,不断整理和完善编程思路。如果测试工具可 以自动地描述程序行为,就可以帮助程序员更快捷地整理和完善编程思路,从而提高编码效率。

  程序行为是什么?无非就是三点:输入是什么?执行了哪些代码?输出又是什么?在测试结果中显示输入输出数据,是完全可以做到的,对于较复杂的程序而言,这种功能可以成倍地提高编码效率。

  4、使用测试代码调试

  调试是开发过程中无可逃避的工作,调试时必需执行程序,如何执行?一般由别的代码来调用,也就是说需要驱动,驱动大致可分为自然驱动和专门驱动。

  自然驱动:利用项目中已有的代码作为驱动,通常是在被调试的函数中加断点,从界面执行一个需要调用该函数的功能,调试器中断时就可以调试了;专门驱动:为需要调试的函数编写专门的驱动代码,通过执行驱动代码来执行被调试函数。

   自然驱动的主要优点是不需要其他工作就可以直接调试,甚至感觉不到需要驱动,主要缺点是输入数据通常是公共的,造成调试不全面,难于做到全面地考虑各种 可能输入。

  专门驱动的主要优点是输入数据是专门针对于被测试程序,容易做到比较全面,程序员的思维也会比较全面,要针对某种特定输入进行调试比较容易,缺点是需要花费大量的时间来编写驱动代码。

  调试也需要"驱动"和"输入数据",也需要执行程序,这与测试是一样的,因此,我们可以利用测试代码来调试,既避免了自然驱动的缺点,又无需编写专门的调试驱动代码。

  5、减少调试工作

   如果边编码边测试,则只有在测试失败时才可能需要调试,从而大量减少调试工作。另一方面,如果测试工具具有描述程序行为的功能,即显示输入输出数据,及 标示出所执行的代码,那么,当程序有错时,浏览输入输出数据和所执行的代码,通常都能快速发现错误原因,从而进一步减少单步调试。




文章“如何提高测试效率”由 软件测试 整理发布
转载请注明 http://www.testtimes.net/html/29/n-5429.html


 

评分:0

我来说两句:


培训  课程
师资  联系我们

1694083235@QQ.Com

北京市通州区弘祥文化园A座