接口测试用例代码实现基本分为5步:环境部署、数据准备、接口调用、数据验证、垃圾数据清理。每个测试用例代码实现都要做这五步操作,这其中有很多相同的代码,当某一环节需要修改时,面对几百个测试用例,测试人员需要针对每个测试用例做很多重复的工作。如何避免这种无谓的人力资源的浪费,提高我们测试代码的灵活性?测试用例基类是一个还不错的解决方法。
正如基类的定义而言:通过继承机制,可以利用已有的数据类型来定义新的数据类型。所定义的新的数据类型不仅拥有新定义的成员,而且还同时拥有旧的成员。利用基类的这些特性,分析我们测试用例中代码,提取出公共的部分在测试基类中用公有的函数实现。每个测试用例仅需要继承自这个测试基类,简单几句基类的方法的调用就能完成以前需要写几十条代码才能完成的测试工作。这个方法适用于接口测试的环境部署、接口调用、数据验证、垃圾清理这四步。当有新的配置文件需要加载、新的接口需要调用、新的验证点需要验证或是新的脏数据需要清理时,只需要修改测试基类中的方法就可以完成,不必要像以前那样修改所有相关的测试用例。进一步,我们可以对测试用例基类进一步提取,提取出最基本的测试基类和适合的每个测试接口的子测试基类,每一个测试接口都有其自己的测试子基类,已使测试代码更加灵活。
举例说明,就拿我现在的项目短消息网关来说,主要对上行短信和下行短信进行验证。针对这两个方面,将测试基类分为三个:一个测试基类MmsgeBaseTestCase、上行短信测试子基类MmsgeReceiveTestCase、下行短信测试子基类 MmsgeSendTestCase,所有测试用例根据各自的测试重点分别继承各自的测试基类。每个测试基类都有测试用例所公用的测试方法函数。如下图所示。
这种方法虽然比较简单,但是用好了还是很方便的。要用好这种方法,我们需要在用例设计时对测试用例进行合理的分类,并且需要在测试代码抽取时合理划分,掌握好划分的粒度,要综合考虑各种情况,以增加其适用性。一般测试基类抽取以两层为最佳:即测试基类和测试子基类。并且根据不同的项目,可采用相应的方法,使测试基类达到维护方便,简单易查,且通用性高的目的。相信测试基类可以让我们的测试代码更灵活,发挥更大的作用。
相关阅读: