是项目测试的一部分,正如其名,它测试的主要对象是接口,是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与所测系统之间以及内部各系统之间的交互点。测试的重点是检查数据交互、传递、和控制管理过程以及系统间的相互依赖关系等。接口测试的内容如下图所示:
1、 等价类划分法
有效等价类:完全合法的值,验证程序是否实现了规格说明中的功能和特性
无效等价类:测试系统的容错性----对异常输入情况的处理
2、 边界值分析
使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据。
3、 错误推测法
根据经验列举出程序中所有可能有的错误和容易发生错误的特殊情况
编写单元测试代码遵守 BCDE 原则,以保证被测试模块的交付质量。
B:Border,边界值测试,包括循环边界、特殊取值、特殊时间点、数据顺序等。
C:Correct,正确的输入,并得到预期的结果。
D:Design,与设计文档相结合,来编写单元测试。
E:Error,强制错误信息输入(如:非法数据、异常流程、非业务允许输入等),并得到预期的结果。
*获取列表:
1、 无参数获取列表是否成功
* 查询(根据id)
1、合法的值(从数据库里调取合法的id值);
2、合法的值前后加空格,验证是否可以成功过滤空格;
3、合法的值加上特殊字符或者sql注入语句,验证是否可以成功过滤掉特殊字符和sql语句,例如:delete、alert、#、@、等
4、参数设置为超长字符串
5、边界值(大于小于或等于边界值)
6、空值
7、错误的值(多种错误组合)
*日期
1、格式:例如20170401 合法的值;
2、格式不正确 ,例如:2017.04.01;
3、日期格式多于8个数字字符;
4、日期格式少于8个数字字符;
5、有非数字字符
*保存(更新)
1、合法的值
2、重复保存
3、有必填项为空时,是否保存失败
4、不做任何修改,验证是否更新(保存)成功
*删除
1、数据库中合法的值
2、空值
3、不存在的值
Junit中常用的接口和类:
1. Assert:当条件成立时候assert方法保持沉默,但若条件不成立就抛出异常。
断言是判断期望值和实际值是否相同。例:assertEquals、assertTrue、assertNull。
2. TestResult:包含了测试中发生的所有错误或失败。
3. TestListener: 测试中若产生(开始,结束,错误,失败)会通知TestListener。
4. TestCase:定义了可以用于运行多项测试的环境(实现了Test接口)。
5. TestSuite:运行一组test case(他们可能包含其他 test suite),它是Test的组合(实现了TestSuite)。
6. BaseTestRunner:用来启动测试的用户界面,BaseTestRunner是所有test runner的超类。
一个测试case示例与讲解:(本例略有不足,只供参考)
看示例可知:
1、 测试方法必须用publicvoid修饰
2、 测试用例的测试方法名的前置修饰必须是test
3、 测试用例的测试方法无任何传递参数
4、 注释写明要测试的接口,测试内容、参数、作者和创建时间等信息
5、 每一个测试用例都要包含元数据,如@Test(注意大小写),使用Eclipse创建测试类已经自动写好了,@Test指明了下面是要测试的方法。@BeforeClass(@AfterClass)会在所有的测试方法开始(结束)前(后),先运行一遍它里面写的方法,假如要连接数据库,要是使用@Before的话,会在每一个测试方法前都连接一次数据库,如果数据库内容很多,那么就拖慢了整个测试的速度,所以这时就有了@BeforeClass(@AfterClass),即在所有测试方法前先连接上数据库,待所有测试方法执行完后再关闭数据库;
6、 和数据库相关的单元测试,比如更新会从数据库中调取数据,可以设定自动回滚机制,不给数据库造成脏数据。或者对单元测试产生的数据有明确的前后缀标识,以便后期删除。
铸剑团队签名:
【总监】十二春秋之,[email protected];
【Master】戈稻不苍,[email protected];
【Java开发】雨鸶,[email protected];思齐骏惠,[email protected];小王子,[email protected];巡山小钻风,[email protected];
【VS开发】豆点,[email protected];
【系统测试】土镜问道,[email protected];尘子与自由,[email protected];
【大数据】沙漠绿洲,[email protected];张三省,[email protected];
【网络】夜孤星,[email protected];
【系统运营】三石头,[email protected];平凡怪咖,[email protected];
【容灾备份】秋天的雨,[email protected];
【安全】保密,你懂的。
原创作者:尘子与自由
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。