为什么要做接口测试以及怎么做,接口测试用例编写

一、为什么要做接口测试
1、更容易实现持续集成
ps:怎么样理解持续集成。工作中怎么用的?由于现在的大型系统更多更复杂,系统间模块越来越多,不同的模块由不同的人员开发,不断的进行迭代组装,为了更好的发现问题和解决问题,就需要通过持续集成来对每一次合代码时进行发布,以便及时的发现每一次合代码时出现的问题。
在工作中使用自动化测试各个模块的功能是否通过验证,如果都通过了,再集成完所有模块后测试是否通过测试,然后再发布到线上。
2、自动化测试落地性价比高,比UI更稳定
3、大型系统更多更复杂,系统间模块越来越多
4、BUG更容易定位
分模块进行测试,将系统切割成不同的小部分,发现BUG时将对应的模块的日志抛出进行问题查找。
5、降低研发成本,提高效率
二、接口自动化测试开发技能树
1、开发语言:JAVA,Python等
2、测试框架:TestNG,HttpClient
3、Mock技术:模拟所有的接口,开发人员还未开发出来接口时,前端需要接口调试,可以mock对应的接口,交给前端人员进行使用。
4、数据持久层框架:如:Mybatis等
5、持续集成工具:如:jenkis等
6、接口协议相关基础知识:如:HTTP协议等
三、接口自动化测试应该怎么做?
项目开发流程:
需求阶段:项目立项–产品设计–需求文档(测试参与其中)
研发阶段:UI设计–前端开发–后端开发–测试设计–测试开发(工作都是并行的,提高效率)
测试阶段:环境搭建–多项测试执行–BUG修复
项目上线:线上回归测试–上线报告–添加监控(接口存活监控:端口号是否活着,程序假死:起一个定时任务,检查程序心跳,定一个时间发一个参数去请求一个接口,看是否正确返回)
四、接口测试的用例设计
1、接口测试的范围:
功能测试:
等价类划分法–边界值分析法–错误推断法–因果图法–判断表驱动法–正交实验法–功能图法–场景法
2、异常测试:
数据异常:null、" " 空字符串、数据类型:如int类型的字段传了一个字符串
环境异常:负载均衡架构:如用Nginx对请求进行分发至多个tomcat时,其中一个服务挂了,这个时候就出现了异常、冷热备份:热备份(如:前面有4个tomact,后面有对应的4个Tomcat看着前面的Tomcat,防止前面有服务挂了后面的能够顶上)
3、性能测试(狭义):
负载测试:
压力测试或强度测试:
并发测试:并发请求进行测试,测试服务能不能被压垮
稳定性测试或可靠性测试:让程序连续跑一段时间,查看稳定性
4、怎么去进行用例设计:
围绕的一个原则:将用例设计映射为一个表,才能更好的进行程序加载
接口测试不需要"执行步骤",而是"目标URL",常见的接口用例设计如图:
工作中,这些表头都应该是英文,方便代码读取。映射到对应的字段
为什么要做接口测试以及怎么做,接口测试用例编写
5、环境异常该怎么测试?
环境异常通常的指的是用户在使用我们的系统或者程序时,由于系统运行环境出现问题,导致系统不按正常场景执行对应的处理。比如说:Nginx处理分发请求时,关联的服务挂了的场景。
如图:用户在web进行请求时,此时可能Tomcat2出现问题不能处理用户请求时,系统如何处理,是否将原本属于Tomcat2的请求分发给其他服务如Tomcat3进行处理;
当Tomcat2恢复了之后,能不能再次正常的处理后续请求等场景。

如何知道系统怎么去处理这些异常呢?
答:通过日志来进行确认。
为什么要做接口测试以及怎么做,接口测试用例编写