一天一个关于测试知识点,5分钟内讲解你最关心的软件测试问题,今天就接着来谈谈关于软件测试中的“接口测试的意义是什么”。
一、接口测试的含义
接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。
测试的重点是要检查数据的交换,传递和控制管理过程以及系统间的相互逻辑依赖关系等。
二、接口测试的意义
1、为什么测试接口
接口其实就是前端页面或APP等调用与后端做交互用的,但是功能测试都测了,
如测试用户注册功能,规定用户名为6~18个字符,包含字母(区分大小写)、数字、下划线。
▲ 功能测试
对用户名规则进行测试,比如输入20个字符、输入特殊字符等
但这些可能只是在前端做了校验,后端可能没做校验,如果用户名和密码未在后端做校验,而有人又绕过前端校验的话,那用户名和密码不就可以随便输了吗?如果是登录可能会通过SQL注入等手段来随意登录,甚至可以获取管理员权限,那这样不是很恐怖?
2、接口测试的意义
▲ 更早地发现问题
1.测试工作应该更早地介入到项目开发中,因为越早发现bug,修复的成本越低。
功能测试必须要等到系统提供可测试的界面后才能进行。
2.单元测试和接口测试是更早介入测试的两个方面。
接口测试可以在功能界面未开发出来之前对系统的接口进行测试,从而可以更早地发现问题并以更低的成本修复问题。
在一些实际项目开发过程中,开发人员并没有充足的时间去编写单元测试,并且他们往往对自己编写的代码有足够的信心,不愿意将时间“浪费”在单元测试的编写上。这个时候接口测试就会变得更加重要。
▲ 缩短产品研发周期
接口测试的介入可以更早地发现并解决bug,使得留到功能测试阶段被修复的bug减少,从而缩短整个项目的上线时间。
▲ 发现更底层的问题
1.系统中的有些bug如果想通过UI层功能测试会比较困难,或者构造测试条件非常复杂。通过接口测试可以更简单更全面地覆盖到底层的代码逻辑,从而可以发现一些隐藏的bug。
2.通常把UI层的验证称为弱验证,这是因为它很容易被绕过。如果只针对UI层的功能进行测试,就很难发现后端系统对一些异常情况的处理能力,而接口测试可以很容易地验证这些异常情况。
▲ 前端随便变,接口测好了,后端不用变
1.前端与后端的分离,是近年来Web应用开发的一个发展趋势。
2.这种模式的优势
● 前端的专业性越来越高,通过调用Web接口获取数据,从而专注于数据展示和页面交互的设计。
● 后端不必精通前端技术(HTML5/JavaScript/CSS),只专注于数据的处理并提供Web接口即可。
由后端开发的接口既可以提供给Web页面调用,也可以提供给移动APP调用;
既可以提供给公司内部系统调用,也可以提供给公司外部系统调用。
▲ 检查系统的安全性、稳定性