WEBX层的接口测试的优点
1. 能够测试手工和GUI自动化测试难于测试的功能点,比如与支付宝的异常处理,重复调用,后台时间程序的测试不需要开发配合。对于这些手工难于测试的,使用接口测试比较容易测试。
2. 重复利用力高。
3. 相对来说比GUI自动化测试维护成本低
4. 更了解开发代码,能提高测试覆盖率。
5. 加强测试人员与开发人员的关系,提高测试人员的在开发人员心目中的地位。
6. 提高测试人员评估业务回归点,定位问题能力。
WEBX层的接口测试的缺点
1.不能完全取代手工测试和GUI层的自动化测试。
2.对文档要求高,需要开发提供全面的接口文档,而此文档开发往往无法在早期提供,即使提供也是不全面的文档,此时测试人员需要通过代码中去查找相应的参数和接口方法。
3.对测试人员的要求比较高,前期需要搭建WEBX层的环境特别麻烦。排错麻烦,有时候不知道是配置的错误还是代码的错误。
4. 无法用于跨应用的集成测试和跨页面的流程测试。
5. 无法测试浏览器的兼用性测试,无法测试页面的JS问题。
6. 一般前端代码完成比较晚,要达到稳定程度太晚,如早期投入编写WEBX接口测试代码改动比较大,需要跟踪和修改,投入大,产出小。
7. 对于改造性的老系统,基本无全面的接口文档,需要对老系统的架构非常了解,切入点高。
8. 很难发现底层BUG。
基于以上三种测试手段的优缺点比较和实践比较,感觉手工测试还是占主导地位,发现的BUG比GUI自动化测试和WEBX层的接口测试发现的BUG多得多。但是WEBX层的接口测试和GUI自动化测试可以起到互补的作用,那么什么情况下使用GUI自动化测试,什么情况下使用WEBX接口测试合适呢?
WEBX层的接口测试适用性:
1. 对于一些手工难于测试的功能点可以使用WEBX层的接口测试实现。测起来比较方便。
2. 单页面回归性测试可以使用WEBX层接口测试,减少部分人力资源投入。
GUI自动化测试适用性:
1. 日常回归测试中需要反复重复执行的用例,使用GUI自动化测试能够提高工作效率,定时运行即可。
2. 对于数据准备比较繁琐的回归测试使用GUI自动化测试起到很大的效果,能够大大提高工作效率。
3. 对于周期比较长的项目,比如有一期,二期等多期的项目,并且执行重复率比较高的用例,使用GUI自动化测试较合适。
其他的比如周期短的项目,业务规则复杂的项目,有与物理机交互的项目,业务易用性测试,破坏性测试,复杂的业务场景测试,兼容性测试等等使用手工测试比较合适。目前就想到这些了,希望大家多多发表建议。更好的结合这三种测试手段提高测试效率。(以上言论仅代表作者的个人观点,不代表51Testing观点)