减少测试时间
要减少测试时间,首先要弄清楚哪些环节消耗时间最多,然后才能对症下药。单元测试最耗时的环节有:编写测试代码、建立测试用例、找出遗漏用例。测试代码具有很多固定的内容,例如都要建立和销毁被测试对象,执行被测试程序等,这些代码完全可以由工具自动生成,测试人员只要设定测试用例的输入输出就行了。
如果测试用例也由工具自动生成当然最省时,可惜这是不现实的,因为测试工具不能自动了解程序的功能,只能依靠参数的数据类型之类的信息生成测试用例,生成的用例和实际需要往往相差很远。用工具自动生成大量测试用例然后手工修改怎么样?听起来不错,但用起来效率不高,因为很多输入输出是比较复杂的,必须由人工补充一些代码,如果预先生成大量用例,那么每个用例都是在相同的起点上修改,效率并不高。如果工具只生成第一个测试用例,由用户完善后,再用拷贝并修改的办法建立其他用例,那么就可以充分利用已完善的用例,如果每次都选择拷贝近似的用例,通常只需要修改一两个数据就能建立新的用例。
找出遗漏用例是一个大难题,多数单元测试工具都只能统计出覆盖率,但是未覆盖的往往是最难的,要提高覆盖率往往成本很高,解决这个问题对提高测试完整性,降低测试成本具有极其重要的意义。这里提出一个新的思路:在运行现有的测试用例后,针对某一未覆盖的逻辑单位,由测试工具从现有的用例中计算出可以覆盖该逻辑单位的近似用例,再提供一些提示,由用户根据提示进行修改,从而获得预期的测试用例。这里说的近似用例是指需修改的数据最少,数值的差异也最小,例如,程序涉及到三个参数,那么近似用例大概只需要改一个参数就行,如果有多个用例可供选择,那么就选择数值改动幅度最小的。这个思路涉及到复杂的技术,这里就不详述了。 还有一方面是对遍历出的用例进行精简,在这里正交试验法会得到很灵活的使用。
关于正交试验法,可以GOOGLE下相关贴子
3q
3q sdlkfj5 sdlkfj3 sdlkfj6 人多了,任务分细一点,时间自然也就少了。
页:
[1]