单元测试中有人工介入的用例生成

来源:互联网 发布:怎样删除淘宝差评 编辑:程序博客网 时间:2024/05/16 11:27

       生成用例代码

        这种技术大量减少用例代码的编写,提高了测试工作效率,但只需生成一个用例,手工完善后再拷贝修改。

自动生成很多用例再分别修改是低效的,因为每个用例都需从头修改,造成大量重复工作,如果生成的用例代码不完整(例如缺少对全局变量和成员变量的初始化和判断,缺少前置或后置操作),重复工作量更大且令人厌烦。如果只生成一个用例,手工完善后再拷贝修改,由于不同用例之间通常只有一两个数据不同,修改工作量很少,效率将高得多,也不需要识别和删除多余的用例。

生成过程需要人工及时介入。用例输入只需涉及被测函数可能读取的数据,输出只需涉及被测函数可能改写的的数据,当输入输出含有复杂数据类型时,真正需要的可能只是其中的个别域,如果人工没有及时介入,指定真正需要的数据,必将生成大量垃圾。另外,工具也可能不了解用例涉及哪些成员变量和全局变量,人工指定可以提高用例代码的完整性。

      生成用例数据

       这种方式通常适用于用例数据与用例代码分离,并由数据表格来建立和管理用例的工具。

       生成步骤:

1) 人工根据程序设计功能,将参数等各个输入的有效范围、分段点列出来,由工具生成数据;

2) 工具生成组合选择表格,将1)产生的数据值的所有可能组合列出,人工根据程序的设计功能,选择必须覆盖的的组合。这一步是可选的;

3) 工具根据数据和指定的组合生成用例;

4) 人工根据程序设计功能为每个用例设定预期输出。

       由于数据是人工根据被测程序的设计功能来指定的,生成的都是有效用例,效率很高。由于数据完全与代码分离,也方便重用。

       这种方式最好与7.3.1相结合:工具首先生成用例代码,并自动将数据移到表格中,然后再由人工设定各种数据及其组合,生成用例。