基于Java实现代码级接口测试
作者:强哥   类别:测试开发    日期:2018-03-16 15:46:06    阅读:3130 次   消耗积分:0 分


实验简介


通过对被测程序的接口和调用关系进行分析后,可以得知,ArrayCompare是适合做接口测试的。同时,我们也可以根据接口的调用层次关系,来决定先对哪些接口进行测试。如果时间紧迫的情况下,那么笔者建议从上而下进行,这样当我们测试上层接口时,下导接口自然会被调用到,一并进行了测试。但是这样的测试并不完整,也不够细致,所以笔者仍然建议从下而上地进行。更加完整地测试各个开放出来的接口。

本节主要针对arraySort()和splitString()两个接口为例,来完成其驱动程序和测试数据。

 

实验目的


(1) 掌握测试驱动程序开发过程。

(2) 应用路径覆盖法和条件覆盖法设计测试用例。

 

 

实验流程


1. 开发arraySort测试驱动程序


// 测试接口arraySort()的测试驱动程序

public void testArraySort(Integer[] array, Integer[] expect) {

ArrayHandle ah = new ArrayHandle();

Integer[] actual = ah.arraySort(array);

if (Arrays.equals(actual, expect)) {

System.out.println("ArrayHandle-arraySort接口: 测试成功.");

} else {

System.out.println("ArrayHandle-arraySort接口: 测试失败.");

}

}

 

2. 设计针对arraySort的测试用例


public static void main(String[] args) {

MainTest mt = new MainTest();

// 测试接口arraySort(),实参直接实例化数组的方式传递,更加快捷

mt.testArraySort(new Integer[] { 1, 3, 2, 4 }, new Integer[] { 1, 2, 3, 4 });

mt.testArraySort(new Integer[] { -1, -3, -2, -4 },

new Integer[] { -4, -3, -2, -1 });

mt.testArraySort(new Integer[] { -100, -300, 0, 200 },

new Integer[] { -300, -100, 0, 200 });

}

 

3. 开发splitString测试驱动程序


// 测试接口splitString()的测试驱动程序

public void testSplitString(String source, String delimiter, Integer[] expect) {

StringHandle sh = new StringHandle();

Integer[] actual = sh.splitString(source, delimiter);

if (Arrays.equals(actual, expect)) {

System.out.println("StringHandle-splitString: 测试成功.");

} else {

System.out.println("StringHandle-splitString: 测试失败.");

}

}

 

4. 设计针对splitString的测试用例


public static void main(String[] args) {

MainTest mt = new MainTest();

// 测试接口splitString()

mt.testSplitString("11,22,33,44", ",", new Integer[] { 11, 22, 33, 44 });

mt.testSplitString("11#22#33#44", "#", new Integer[] { 11, 22, 33, 44 });

// mt.testSplitString("11,22T,33,44", ",", new Integer[]{1});

// mt.testSplitString("-1,-2,-3", ",", new Integer[]{-1,-2,-3});

}

 

5. 注意事项


(1) 我们一定要在不同的包里面完成测试开发,而不要与源代码在同一个包下面进行。因为真实的情况下,我们的测试代码是不允许对源代码有任何侵入行为的。所以上述的测试,我们需要新建一个包来进行,那么在测试类的源代码中要记得先导入被测试类的包:com.woniuxy.compare。

(2) 通常情况下,代码级接口测试的关注重点在接口上,也就是被测试接口需要传入什么样的参数,返回什么样的值或者进行什么样的处理。我们不会过多关注于代码的实现逻辑,但是如果不关注这些东西,我们将很难实现高效的测试。所以针对代码级测试设计,如何高效的设计测试用例,是一个非常值得探讨的话题。

 


思考练习


(1) 如何确保我们的测试用例是完整的?

(2) 如果没有代码,只有接口规范,你会如何设计测试用例?




为了答谢大家对蜗牛学院的支持,蜗牛学院将会定期对大家免费发放干货,敬请关注蜗牛学院的官方微信。

20181009_153045_341.jpg

   
版权所有,转载本站文章请注明出处:蜗牛笔记, http://www.woniunote.com/article/103
上一篇: 基于Java实现TDD测试驱动开发
下一篇: 蜗牛学院&巴人互动再度强强联手,成立了“物联网实验室”
提示:登录后添加有效评论可享受积分哦!
1776964992   2022-01-28 21:07:57
       
有接口规范,你
最新文章
    最多阅读
      特别推荐
      回到顶部