为什么说接口测试是你的必修课?
那么在测试中,我为什么要强调接口测试的重要性呢?
从它对项目的影响来说,接口测试直接测试后端服务,更加接近服务器上运行的代码程序, 也更能发现影响范围广泛的 Bug。
在质量保障过程中,我们的测试工程师会不断增大接口测试的测试深度和测试广度,往下逐 渐覆盖一些公共接口的单元测试内容,往上则逐渐覆盖应该由 UI 层保障的业务逻辑测试, 这么做的主要目的,就是为了更好地完成质量保障工作,交付一个可靠的、高质量的项目。
所以,从接口测试这一环节开始,测试工程师就变成了质量保障工作的主要推动者,接口测 试也变得愈发重要。那它有什么好处和优越性呢?我觉得可以从下面这 3 个角度来看:
1. 接口测试更容易和其他自动化系统相结合;
2. 相对于界面测试,接口测试可以更早开始,也可以测试一些界面测试无法测试的范围, 它使“测试更早的投入”这句话变成现实;
3. 接口测试还可以保障系统的鲁棒性,使得被测系统更健壮
接口的本质,它其实就是一种契约,遵循这样一种形式:在开发前期, 我们约定接口会接收什么数据;在处理完成后,它又会返回什么数据。
在测试手段上,接口测试算是技术驱动和业务驱动双管齐下的工作(界面测试却是业务 驱动为主的工作),因此,你需要借助一定的工具来完成它。这个工具既有可能是成熟的工具,也有可能是你自己写的代码,因此,测试技术会在接口测试阶段,变得和业务 知识一样重要。
在工作范围上,接口测试影响的范围会更广一点,它会覆盖一部分单元测试的内容,也 会覆盖一部分业务测试的内容,但是,无论是哪一部分的内容被它侵占,相对应部分的 工作投入其实都减少了
接口测试和业务测试的关系,那就是“相互依存,不可分割”:
1. 接口测试是通过设计输入和预期输出来完成测试验证的,你之前掌握的测试用例设计方法等测试基本功,在这里还是有用武之地的;
2. 接口测试是一个技术知识和业务知识相结合的工作,可以更好地提升你自己的技术实力,让那些说我们是“点工”的人早早闭嘴;
3. 接口测试也是功能测试,要说有和界面测试不同的地方,仅仅是和我们交互的,不再是 开发工程师设计的界面,而是测试工具或者代码