因为培训被分到做接口测试,就大致看了下。对于一个根本不会Java的人来说,拿两天学这个还是有点难度的。
简单看了下,采用junit4来做接口测试。
一些注意点如下:
1.Java中采用接口进行封装,接口函数必须是public,不能有方法体具体的实现。
2.异常用于处理非预期情况(文件没有找到,网络错误,非法参数等);断言用于证明和测试程序的假设是否一致,断言测试可以在运行时从代码中完全删除,代码的运行速度不受影响。
3.异常分为必须处理异常和非必须处理异常RuntimeException
4.catch有顺序,必须先子类后父类。try不一定要和catch配对,也可以和finally配对。
5.如果一个异常在当前try-catch块中未处理,则将它抛给此方法的调用者,如果最后返回到main仍旧未处理那么程序将非法停止。
6.只有System.exit()方法可以阻止finally块的执行,return在返回前也需要执行finally块。
7.可以使用throw在方法体中抛出异常
8.Assert《boolean_exp》:《detail_exp》;
9.断言的推荐使用方法:内在不变式,控制流程不变式,后置条件和类不变式。
10.断言屏蔽 java -da 或者 java -disable-assertions
11.测试文件结构尽量和开发工程的层级保持一致。
12.测试类结构中:
引入xml文件 TC 用例组 这三项为必选项
引入excel文件 引入数据源 为可选项
一个用例就是一个测试类里的方法,一个用例对应xml文件中的一组<test>
13.接口测试是面向系统组件间接口的一种测试。主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点,测试重点是要检测数据的交换,传递和控制管理过程以及系统间的相互逻辑依赖关系。接口的种类可以包括:webservice,http,jms消息接口,hessian接口,app api等等。接口测试在测试粒度上分应该属于集成测试,但是如果要将测试粒度分细,比如说正对一个class或者interface中的方法的测试可以说是单元测试也可以说是接口测试,总体上来说接口测试应该属于集成测试。
14.问题6、想了解一下开源的自动化测试工具哪些应用得比较广泛?
答:对于UI层的自动化测试工具有selenium,qtp等等
对于接口层有robot,fitnesse,testng,junit等等对于数据库DAO层有daunt等对于单元层有junit,testng等当然还可以用spring等框架开发自己的工具。
15.接口测试的主要设计关注点:
- 接口中的所有入参都要写测试用例
- 每个入参的每个错误类型都要准备一个异常用例。如必须参数缺省、参数类型错误、参数范围错误、参数超过最大位数、参数没有达到最小指定位数、参数的无效值、参数含非法字、参数含违禁字、参数关联性检查等。
16.在一般的项目里,我们往往需要进行多个版本的测试工作,但是在我们按照计划执行正式的系统集成测试前,我们需要作一些中间测试版,在刚刚编译出来后,软件编译人员需要进行基本性能确认测试,例如是否可以正确安装/卸载,主要功能是否实现,是否存在严重死机或数据严重丢失等Bug。如果通过了该测试,则可以根据正式测试文档进行正式测试。否则,就需要重新编译版本,再次执行版本可接收确认测试,直到成功。
这样的测试就叫做冒烟测试,它是一种自由测试。