入门级软件测试人员这样做接口测试,薪资不翻倍都难~
发布时间:2019-10-15

       哈喽,小伙伴们,入行软件测试半年的我,近期一直忙于公司的一个项目,这两天刚结束,赶紧总结一下接口测试心得与各位共同探讨,欢迎各位留言指正~
 

         1、接口测试的理解  

 

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

       2、做接口测试的意义  

 

       1.越底层发现bug,它的修复成本是越低的。 
 

       2.前端随便变,接口测好了,后端不用变,前后端是两拨人开发的。
 

       3.检查系统的安全性、稳定性,前端传参不可信,比如京东购物,前端价格不可能传入-1元,但是通过接口可以传入-1元。
 

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


 

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

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

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

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

      3、接口测试的测试点  

 

       重点:检查数据的交换,传递和控制管理过程,还包括处理的次数。
 

       核心:持续集成是接口测试的核心。
 

       4、怎样做接口测试? 

 

       由于我们项目前后端调用主要是基于http协议的接口,所以测试接口时主要是通过工具或代码模拟http请求的发送与接收。另外,你也可以用接口自动化来实现,就是用代码实现,框架和UI自动化差不多,发送请求用断言来判断。
 

       推荐相关工具:postman、jmeter、soupUI、java+httpclient、robotframework+httplibrary等。
 

       5、设计用例  

 

       通常情况下主要测试最外层的两类接口:数据进入系统接口(调用外部系统的参数为本系统使用)和数据流出系统接口(验证系统处理后的数据是否正常)。
 

       在这里,我们要注意,在设计用例时,要分析外部接口想要提供给使用者什么功能?使用者真正需要什么功能等。
 

    ♦   6、一些测试细节  

 

       在这里,具体怎样进行测试相信大家都有一定认知,就不一一赘述了。我此次的总结主要针对一些细节做一些分析,欢迎各位抛砖~
 

       1)后端接口都测试什么?
 

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


 

       2)后端接口测试测一遍,前端也测一遍,是否重复测试了?
 

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


 

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

       a) 基本功能测试
 

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

       b) 边界分析测试
 

       在基本功能测试的基础上考虑输入输出的边界条件,这部分内容也会有重复的部分(比如业务规则的边界)。
 


 

       但是,前端的输入输出很多时候都是提供固有的值让用户选择(如下拉框),在这种情况下测试的边界范围就非常有限,但接口测试就不存在这方面的限制,相对来说接口可以覆盖的范围更广,同样的,接口出现问题的概率也更高。
 

       c) 性能测试

       这个比较容易区分,虽然都需要做性能测试,但关注点却大不相同。App端性能主要关注与手机相关的特性,如手机cpu、内存、流量、fps等。
 

       而接口性能主要关注接口响应时间、并发、服务端资源的使用情况等。两种测试时的策略和方法都有很大区别,所以这部分内容是需要分开单独进行测试的,理论上来说这也是不同的部分。
 

       3)综述
 

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

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

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

       7、必备知识点  

 

       下述知识点在做接口测试时,必须熟练掌握~
 

       ①了解系统及内部各个组件之间的业务逻辑交互;

       ②了解接口的I/O(input/output:输入输出);

       ③了解协议的基本内容,包括:通信原理、三次握手、常用的协议类型、报文构成、数据传输方式、常见的状态码、URL构成等;

       ④常用的接口测试工具,如:jmeter、loadrunner、postman、soapUI等;

       ⑤数据库基础操作命令(检查数据入库、提取测试数据等);

       ⑥常见的字符类型,如:char、varchar、text、int、float、datatime、string等。
 

文章来源:网络
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8103),我们将立即处理。

相关阅读
/