资源描述
接口测试系列接口测试系列理论篇理论篇姓名:姓名:邱功圆部门:部门:测试技术部时间:时间:2015/7/28职位:职位:软件测试工程师目录目录3 34 41 1什么是接口测试接口测试流程接口自动化测试总结2 2为什么做接口自动化测试什么是接口测试什么是接口测试接口测试:接口测试:用来检查各个组件的接口的测试,接口测试主要检查外部系统与系统之间以及各个子系统之间的交互点,测试的重点在数据的传递上。接口测试分类:接口测试分类:1、服务之间的调用,比如:应用层调用服务层提供的接口;service层会调用DAO层的接口;注册用户先调用用户查询的服务,查看该用户是否存在(标准接口测试)。2、用户(浏览器)和服务之间的调用(web业务接口测试,我自己定义的)。接口类型和测试工具接口类型和测试工具接口类型接口类型 接口类型取决于通信协议,常见的通信协议有:HTTP、HTTPS、rest、webservice、RPC接口、socket等。接口测试工具:接口测试工具:Fiddler Jmeter SoupUI Postman Java:httpclient Python:urllib、urllib2、suds标准接口文档规范接口文档接口文档包含如下内容:1、接口概述:1)接口名称2)接口功能3)接口类别4)提交者、提交时间、需求来源及时间要求2、HTTP请求方式3、认证说明4、请求限制说明(次数)5、请求参数说明 参数名、是否必选、类型、取值范围、描述(非必选项的默认值)6、相关约束(消息头)7、注意事项8、调用示例9、返回说明1)返回数据格式2)返回结果示例3)错误代码及返回说明接口测试内容u功能逻辑u参数格式校验u返回结果u调用方式u安全性u其他异常场景自动化测试本质和目的自动化测试本质和目的1、自动化测试的本质是发现变化的东西对不变东西的影响。2、自动化测试的目的是增加开发和回归效率。自动化主要用于回归测试,可以滞后于新功能;希望自动化作用于新功能的,可以说都是不懂自动化的人。自动化测试不能完全代替点点点,它的核心作用是规范流程,提高效率什么样的项目适合做自动测试什么样的项目适合做自动测试产品型项目产品型项目:产品型的项目,每个项目只改进少量的功能,但每个项目必须反反复复 测试未改动过的功能。这部分测试完全可以让自动化测试来承担,同时也可以把新功能加入到自动化测试当中。增量式开发、持续增量式开发、持续性性项目项目(敏捷开发):(敏捷开发):由于这种开发模式是频繁的发布新版本进行测试,也就需要频繁的自动化测试,以便把人从中解脱出来测试新的功能。回归测试回归测试:回归测试是自动化测试的强项,它能够很好的验证你是否引入了新的缺陷,老的缺陷是否修改过来了。在某种程度上可以把自动化测试工具叫做回归测试工具。频繁运行频繁运行的的测试测试(巡检)(巡检):在一个项目中需要频繁的运行测试,测试周期按天算,就能最大限度的利用测试脚本。多次重复、机械性多次重复、机械性操作操作:自动化测试最适用于多次重复、机械性动作,这样的测试对它来说从不会失败。测试分层测试分层缺陷定位容易修复成本更低反应真实需求更加接近业务web业务接口测试业务接口测试 主流程接口测试流程主流程接口测试流程:确定主流程业确定主流程业务测试的范围务测试的范围熟悉被测平熟悉被测平台业务场景台业务场景用用fiddler或或jmeter录制录制123调试接口脚本调试接口脚本集成接口脚本集成接口脚本到到jenkins中中45标准接口测试标准接口测试 单一接口测试流程单一接口测试流程:确定单接口测试范围确定单接口测试范围熟悉被测平台业务场景和熟悉被测平台业务场景和数据库结构数据库结构获取开发接口设计文档获取开发接口设计文档jmeter设计脚本设计脚本12345接口脚本集成到接口脚本集成到jenkins接口自动化测试总结接口自动化测试总结接口测试中应该注意的问题如下:1、注意数据清理 在写脚本后注意及时清理接口测试过程中,向数据库插入的数据,以免脚本的持续运行,导致大量的脏数据影响平台正常的使用。2、在编写脚本前,提前写好用例(可以从手工用例中挑选)接口测试虽然对代码的要求比较高,但是目前我们采用的工具对代码的要求没那么高,而是设计用例能力的高低。用例的设计的好,脚本的可移至性好。3、断言校验要全面充分调用接口后,会返回一个response数据,对这个result进行校验时,要将校验点想全面,不仅仅包括,调用是否成功,还需要知道为什么成功,为什么失败:调用成功:result返回调用成功,还需要校验更改的信息是否被更改,其他不需要更改的信息是否被改变 调用失败:result返回调用失败,还需要校验失败的原因是否和期待的一致,确保调用失败后信息没有被更改;4、写sql语句更新数据库时,一定要写限制条件 在脚本中编写sql语句更新数据库时,要特别小心,一定要写限制条件,不然会将数据库中的所有记录都更新掉,而且脚本是要持续运行的,信息会被一次次修改,这样会给其他人带来困扰。而且这种问题排查是很困难的,所以一定要小心。谢谢 谢!谢!
展开阅读全文