51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 1304|回复: 2
打印 上一主题 下一主题

[原创] 如何进行接口测试

[复制链接]
  • TA的每日心情
    奋斗
    2017-5-10 10:12
  • 签到天数: 7 天

    连续签到: 2 天

    [LV.3]测试连长

    跳转到指定楼层
    1#
    发表于 2017-5-9 10:03:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    简单介绍一下什么是接口测试:
    接口测试,正如其名,测试的主要对象是接口,是测试系统组件间接口的一种测试方法,主要用于检测外部系统与被测系统之间以及内部各系统之间的交互点,其中会包括数据的交互、传递、关系等等。实际上接口测试也是功能测试中的一个环节,只是对于测试新手常常是忽略的状态。其实说到这里,懂的人自然懂,不懂的人还是不知道接口是什么,继续往下看。有想要接口测试学习视频的可以加我微信号wanderx99,免费全部分享给大家

    接口实际上是无处不在的,要解决接口这个抽象的概念,首先分离两个大概念,第一种是代码内部所谓的接口,代码A与代码B在组合的时候,必然需要定义一些名称以及参数、类型,这种在测试中一般划分在白盒测试中,也算是集成测试阶段,需要与开发有类似的代码知识才能上手。而另一种接口,是系统与系统之间,通过网络数据的传递进行交互,此类测试属于黑盒层面,也就是看不到代码,但可以通过各种手段将网络数据发送到接口从而得到接口的响应信息,达到测试的目标。第一种接口很抽象,或者可以算是完全代码层面的东西,作为测试很少会接触,至少目前是这样,所以这里我们主要阐述第二种黑盒层面通过网络交互方式的接口,因为无处不在,即使你现在还在做最简单的功能测试。

    只要你测试的不是单机软件,就离不开接口,就算是网页从服务器上读一张图,实际上也是通过HTTP接口地址去获取图片文件,然后再界面上显示,只是这种类型的静态文件接口没有逻辑,确保图片地址和文件是匹配的即可。但程序动态接口则不一样,会涉及到各种各样的参数,即使同一个接口,也会因为接口传递的参数内容不同、用户不同、权限不同等等出现不一样的情况。接口、参数就是一种程序的输入,而接口返回的信息就是一种程序的输出,其实这也类似于在界面输入测试用例一样,但在接口中,用例的数量会大大提升,因为不受界面文本输入限制、不受选择内容限制,甚至还有很多界面上你根本看不到的东西。输入项内容多了,自然用例也会复杂很多,除了满足需求以外,还要根据接口的数据交互设计定制用例和预期结果,好的用例无非更能发现有深度的问题。

    接口测试的方法有很多,比较常见的是通过一些接口测试工具来实现接口数据的传递,也有编写代码来实现数据传递,以上都是可以在没有客户端界面的情况下做的,但需要对接口的实现比较熟悉。另外其实还有别的方式,比如在网络中将接口数据调包修改,或者以修改客户端的方式达到某些目的,且非常真实有效,最终达到测试的目的,找出程序的错误。


    至于自动化测试,实际上这个对质量本身是没有影响的,机器没有人类的AI,想让机器发现错误,必然是已经发现过的错误了,那么主要目的是回归测试,将重复的成本机器化来降低成本,并不能去发现更多的问题,甚至发现不了问题,如果使用频率低,制作、维护成本大于人工直接操作,这就需要考虑该不该做了。

    安全测试,相信刚入测试行业的人都对安全测试是一种渴望,但其高大上无法触及。实际上大部分的安全都是利用接口层面来实现的,只是用例带有一定特殊性,但千万别想着把那些用例放在界面上输入,那是完全无效的。想攻击?不通过接口怎么把恶意数据发到位呢,这就是渗透测试。当然安全测试还不止这些,但从接口层面实现的至少有一半以上。


    评分

    参与人数 1测试积点 +10 收起 理由
    lsekfe + 10 赞一个!

    查看全部评分

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-4-30 23:40 , Processed in 0.066918 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表