接口自动化设计时其中注意事项中最主要的一点是用例独立,就是说测试用例之间不能相互依赖。相互依赖最后的体现就是上下游,比如注册和登录,我只有注册了用户才能进行登录,测试用例就是要解除这样的依赖关系,也就是用例解耦,使每个测试用例可以单独运行。
为什么要用例独立?
测试用例解耦之后,用例可以并行运行,提高用例执行效率;不同的测试用例之间不会相互响,不会因为其他测试用例影响到测试点的断言;当我们单独对某一个测试点进行测试时,可以独立执行。
如果解耦测试用例?
我觉得最主要的步骤就是丰富的前置条件,在没有解耦之前,只有运行了A接口后B接口才能进行测试。当测试用例解耦,我们需要将A接口放到B接口的前置条件中,且不能影响到A的测试。
比如注册和注销两个接口,注销接口进行测试时一定是先注册完成才能注销。没有解耦之前,我们需要先执行一次注册接口,再去执行注销,所以我们将注册接口放入注销接口前置条件中实现接口层面的解耦。但是会存在另外一个解耦的问题,注册接口也是单独的测试用例,他的前置条件,应该是此账户不存在或者已注销。当两个用例同时进行时,极有可能会出现注销接口测试用例中前置条件注册接口注册了新的数据,但是同时注册接口测试用例正在请求这个数据,进行注册的测试。这是我们就要考虑到测试数据的区分,避免在测试数据上相互影响。
如何做好测试用例前置条件?可以参照我的另外一篇短思考-接口自动化测试之前置条件的思考
网友评论