`

软件测试工程师必知:如何做好接口测试

阅读更多

本文主要分为两个部分:

  第一部分:主要从问题出发,引入接口测试的相关内容并与前端测试进行简单对比,总结两者之前的区别与联系。但该部分只交代了怎么做和如何做?并没有解释为什么要做?

  第二部分:主要介绍为什么要做接口测试,并简单总结接口持续集成和接口质量评估相关内容。

第一部分:

首先,在做接口测试的过程中,经常有后端开发会问:

  1. 后端接口都测试什么?怎么测的?
  2. 后端接口测试一遍 ,前端也测试一遍,是不是重复测试了?

      于是,为了向开发解释上述问题,普及基本的测试常识,特意梳理了接口测试的相关内容以及其与前端测试的区别,使开发团队与测试团队在测试这件上达成基本的共识,提高团队协作效率,从而更好的保证产品质量。

然后,我们试着回答上面的问题:

问题1.1、后端接口都测试什么?

  --回答这个问题,我们可以从接口测试活动内容的角度下手,看一下面这张图,基本反应了当前我们项目后端接口测试的主要内容:

 

问题1.2、我们怎么做接口测试?

  --由于我们项目前后端调用主要是基于http协议的接口,所以测试接口时主要是通过工具或代码模拟http请求的发送与接收。工具有很多如:postman、jmeter、soupUI、java+httpclient、robotframework+httplibrary等。

问题2、后端接口测试一遍 ,前端也测试一遍,是不是重复测试了?

--回答这个问题,我们可以直接对比接口测试和app端测试活动的内容,如下图为app测试时需要覆盖或考虑内容:

 

   从上面这两张图对比可以看出,两个测试活动中相同的部分有功能测试、边界分析测试和性能测试,其它部分由于各自特性或关注点不同需要进行特殊的测试,在此不做讨论。接下来我们针对以上三部分相同的内容再进行分析:

1、基本功能测试:

由于是针对基本业务功能进行测试,所以这部分是两种测试重合度最高的一块,开发同学通常所指的也主要是这部分的内容。

2、边界分析测试:

在基本功能测试的基础上考虑输入输出的边界条件,这部分内容也会有重复的部分(比如业务规则的边界)。但是,前端的输入输出很多时候都是提供固守的值让用户选择(如下拉框),在这种情况下测试的边界范围就非常有限,但接口测试就不存在这方面的限制,相对来说接口可以覆盖的范围更广,同样的,接口出现问题的概率也更高。

 3、性能测试:

这个比较容易区分,虽然都需要做性能测试,但关注点确大不相同。App端性能主要关注与手机相关的特性,如手机cpu、内存、流量、fps等。而接口性能主要关注接口响应时间、并发、服务端资源的使用情况等。两种测试时的策略和方法都有很大区别,所以这部分内容是需要分开单独进行测试的,理论上来说这也是不同的部分。

 

综论:

1、接口测试和app测试的活动有部分重复的内容,主要集中在业务功能测试方面。除此之外,针对各自特性的测试都不一样,需要分别进行有针对性的测试,才能确保整个产品的质量。

2、接口测试可以关注于服务器逻辑验证,而UI测试可以关注于页面展示逻辑及界面前端与服务器集成验证

 

第二部分:

1、什么是接口测试?

接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

 

2、为什么要做接口测试?

a) 如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,接口测试可以提供这种情况下的解决方案。

b)  接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。接口持续集成是为什么能低成本高收益的根源。

c)   现在很多系统前后端架构是分离的,从安全层面来说:

1、只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前面实在太容易), 需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。

2、前后端传输、日志打印等信息是否加密传输也是需要验证的,特别是涉及到用户的隐私信息,如身份证,银行卡等。

 

3、接口测试持续集成:

对接口测试而言,持续集成自动化是核心内容,通过持自动化的手段我们才能做到低成本高收益。目前我们已经实现了接口自动化,主要应用于回归阶段,后续还需要加强自动化的程度,包括但不限于下面的内容:

a) 流程方面:在回归阶段加强接口异常场景的覆盖度,并逐步向系统测试,冒烟测试阶段延伸,最终达到全流程自动化。

b) 结果展示:更加丰富的结果展示、趋势分析,质量统计和分析等

c) 问题定位:报错信息、日志更精准,方便问题复现与定位。

d) 结果校验:加强自动化校验能力,如数据库信息校验。

e) 代码覆盖率:不断尝试由目前的黑盒向白盒下探,提高代码覆盖率。

f) 性能需求:完善性能测试体系,通过自动化的手段监控接口性能指标是否正常。

 

4、接口测试质量评估标准:

a) 业务功能覆盖是否完整

b) 业务规则覆盖是否完整

c) 参数验证是否达到要求(边界、业务规则)

d) 接口异常场景覆盖是否完整

e) 接口覆盖率是否达到要求

f)  代码覆盖率是否达到要求

g) 性能指标是否满足要求

h) 安全指标是否满足要求

 

原文地址:http://www.51test.space/archives/2029

分享到:
评论

相关推荐

    软件测试工程师模拟题

    本文档是关于软件测试工程师模拟题,通过阅读本文文档,您可以了解软件测试工程师模拟题等等。

    软件测试工程师精英培训班(Web自动化,APP自动化,接口自动化,面试)

    软件测试工程师精英培训班(Web自动化,APP自动化,接口自动化,面试)

    接口测试用例设计以及模板.xlsx

    适合接口测试工程师,接口测试用例

    0-3年软件测试工程师面试前必看

    培训机构面试前的资料整理,,软件测试工程师面试必会知识,涵盖功能测试,接口测试,自动化测试,手机测试知识点

    软件测试的资料及测试计划书

    软件测试工程师管理系统 详细设计说明书 目 录 1 引言 3 1.1 编写目的 3 1.2 项目背景 3 1.3 定义 3 1.4 参考资料 3 2 项目概述 3 2.1 软件总体说明 3 2.2 总体数据流图 3 2.3 使用者的特点 4 2.4 条件和限制 4 3 ...

    接口测试面试复习笔记.docx

    文档包含接口测试基础+招聘需求+网络协议+请求方法+接口测试工具的讲解 接口测试: 一、教学环境准备 1、Postman: 接口测试工具、接口自动化工具 需要注册 右上角 Sign in 进行登录 点击 Create Account 注册 ...

    嵌入式软件接口测试.pptx

    嵌入式系统测试教学实训平台(Kiyun ETest Training Platform,简称:ETest_TP )适应于各类高等院校与培训机构在嵌入式系统测试方面的科研与教学以及军工研究所、各研发型企业用于软件测试工程师的培训与考核。...

    2024年软件测试工程师海量面试真题收录

    软件测试高频面试题

    [软件测试].赵瑞莲.文字版

    中文名: 软件测试 作者: 赵瑞莲 ...12.2 优秀软件测试工程师应具备的素质 12.3 软件测试信息资源 12.3.1 正规培训 12.3.2 因特网 12.3.3 专业组织 小结 第12章习题 附录 软件工程的测试标准 参考文献 参考网站

    软件测试全套教程【进阶篇】-适合有基础的伙伴

    该教程适合于有一定基础的伙伴学习,本教程包括:自动化测试、接口测试、性能测试等全面解析软件测试进阶提升技术,学完这些可以达到软件测试高级工程师要求,可上手从事软件测试自动化及性能测试工作。

    JMETER分布式部署实践详解.rar

    想步入性能测试领域的、测试工程师、性能测试工程师、接口自动化测试工程师、开发工程师以及感兴趣的人 适合想往 中高级开发工程师或者测试工程师发展的人员 课程目标: 通过全面系统的学习,具备独立完成公司性能...

    联合阿里工程师写的 【接口测试+自动化接口接口测试详解]

    非常实用,帮助你更快应对行业面试,相信你看了之后,不会后悔你的选择

    软件测试技术与实践培训班

    王斌 IBM自动化测试专家、多年的软件开发和测试经验,高级软件开发工程师和高级测试工程师;精通 LoadRunner,QTP等主流测试工具。根据敏捷开发原则,组织基于持续集成原则的软件开发自动化以及性能测试流程。 曹林林...

    smart-doc接口文档生成工具.rar

    smart-doc虽然使用简单,但在进行接口测试时,如果每次都单独导出接口文档,再进行测试,显然相对麻烦。尤其是多人针对同一个项目的接口进行测试时,显得更加不便。 没关系!好在,我们不仅有smart-doc,我们还有...

    Nokia手机软件测试

     新进测试工程师的培训  回答本组内其他测试人员的问题  制作工作进度表,随时报告本组工作进度  监督协调本组成员的工作  收集本组成员的建议和要求  部分测试工作  检查测试条件是否满足  控制...

    Jmeter了解与打开方法

    内容概要:使用jmeter是用于接口/压力测试的工具,jmeter认识,使用场景等 适用人群:测试工程师 使用场景:接口测试,压力测试,性能测试,自动化测试等

    软件测试用例,用例写法

    如果问测试工程师测试用例如何编写,就好象是问程序员如何编写代码一样,每个人都会给出不同的方法,但是实用的测试用例却象优秀的程序一样困难。 本章针对上面的问题,主要讲解在企业实际工作中,如何有效划分测试...

    软件测试用例之性能测试用例

    软件测试用例之性能测试用例 软件测试 性能测试、压力测试、负载测试、强度测试、稳定性测试、健壮性测试、功能测试、接口测试……,这么多眼花缭乱的测试类型名称,估计很少有人能准确的区分并说出定义来,至于...

    教你在软件测试中如何书写测试用例

    教你在软件测试中如何书写测试用例性能测试、压力测试、负载测试、强度测试、稳定性测试、健壮性测试、功能测试、系统测试、集成测试、接口测试,这么些眼花缭乱的测试类型名称,估计很少有有人能准确的区分和说出...

    自动化软件测试面试题

    自动化软件测试工程师(QTP)面试题1-150,后期待续。

Global site tag (gtag.js) - Google Analytics