接口测试

✍ dations ◷ 2025-09-09 15:09:47 #软件测试,计算机技术,软件

接口测试是软件测试的一种,它包括两种测试类型:狭义上指的是直接针对应用程序接口(下面使用缩写API指代,其中文简称为接口)的功能进行的测试;广义上指集成测试中,通过调用API测试整体的功能完成度、可靠性、安全性与性能等指标。

API的调用没有用户图形界面(下称GUI)操作,是一种发生在信息层的测试, 在由于敏捷开发广泛应用而使得GUI经常有变化的当下,利用GUI执行大批量自动化测试几乎不可能,因而针对相对稳定不变的API进行的测试有着极高的重要性,将其自动化也是一个很重要的工作。

API测试包括直接针对API本身进行的测试和将API置于实际应用环境,将API与其服务的用户逻辑一同进行集成测试两种。 此类测试包括针对表现层状态转换(SOAP)应用程序接口、Web服务,企业服务总线、数据库、大型机、网页(及其UI),以及 企业资源计划等相关系统的测试。

API测试的执行者除开发此API的开发人员外,还包括使用此API构建应用程序的人。

API测试用于测试API收到合理参数,被调用后是否能够以预期的格式返回正确的结果。在测试中尤其需要关注API对服务虚拟化(英语:Edge case)是否能够作出适当的处理:比如对一个不合理的输入抛出合适错误、对极端的输入也能够在可以接受的响应时间内给出正确应答或是能够妥善应对潜在安全攻击(如XSS攻击)。 虚拟化则是在API测试中常用的一种模拟广泛用户场景的方法。

相比于GUI测试,业界广泛认为API测试更适合应用自动化测试和持续测试(英语:Continuous testing)连续测试方法(尤其与敏捷软件开发方法和DevOps方法结合时)。 原因如下:

由于这些原因,API被认为是待测系统中最稳定的界面,开发人员应当减轻他们对GUI测试的依赖,更多的向API测试中投入精力。

将API测试自动化的一大优点便是测试覆盖面可以变得非常大,绝大多数的测试都可以自动化,这样更多的边缘就能被测试覆盖到,可以有效地减轻边缘缺陷造成的软件问题。 这样之后,也可以保留一部分GUI测试来针对系统级典型用户场景进行迁移、可用性的测试。

API测试通常应用在下列测试当中:

在计算机编程中,单元测试(英语:Unit Testing)又称为模块测试,是针对程序模块(软件设计的最小单位)进行函数级正确性检验的测试工作。程序单元是应用的最小可测试部件。在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括基类(超类)、抽象类、或者派生类(子类)中的方法。

通常来说,程式设计师每修改一次程式就会进行最少一次单元测试,在编写程式的过程中前后很可能要进行多次单元测试,以证实程式达到软件规格书要求的工作目标——没有程序错误。

功能测试是一种质量保证流程,是一种基于测试用例的软件组件规范的黑盒测试。在这种测试当中,被测函数是通过检查输入和输出是否合理来测试的,很少考虑内部程序结构(不像白盒测试)。它是一种比单元测试规模更大的的测试,针对由多个单元构成的某一特定功能进行的测试, 包括测试用例的定义、执行、验证和回归测试。

负载测试有时称为极限测试(Extreme),这个术语在专业软件测试社区中以不同的方式使用 。它通常是指通过模拟多个用户同时访问软件程序来模拟软件实际使用场景中会遇到的情况并对其进行测试。因此,这种测试在测试多用户系统时很常见。这种测试通常使用客户机/服务器模型(如web服务器)构建。然而,其他软件也可能需要进行负载测试。例如,文字处理器或图形编辑器可能遇到读取非常大文档的情况;而一个金融方案可能会被要求按照总共几年以上的数据生成一份报告。因此负载测试广泛应用于各中软件的开发中。负载测试最好模拟实际使用情况直接进行测试,而不是使用理论或分析模型“模拟”。

运行错误指的是尽管程序可以通过编译开始执行,但是在执行过程中发生异常,提前退出程序。最常见的是指针越界,打开文件失败继续读取文件,资源泄露(如内存泄漏、死锁)等。总而言之是让计算机执行一些不能执行的语句时抛出的错误。

包括 渗透测试 和 模糊测试 以及验证认证、加密和访问控制API运行是否正常等测试内容,。

是集成测试的一部分,也涵盖API测试的内容。

互操作性(英文:Interoperability;中文又称为:协同工作能力,互用性)作为一种特性,它指的是不同的系统和组织机构之间相互合作,协同工作(即互操作)的能力。系统工程设计方面常常会用到这条术语。通过测试在不同环境下调用API时,API给出的功能反馈是否符合预期来测试待测系统的兼容性则是互操作性测试侧重的内容。

测试待测系统(一般针对应用SOAP协议的系统)是否符合WS-*规范。

渗透测试是指一个具备资安知识与经验、技术人员受雇主所托,为雇主的网路设备、主机,模拟骇客的手法对网路或主机进行攻击测试,为的是发掘系统漏洞、并提出改善方法。这种攻击通常是出于善意的。对于API而言,这种测试则指的是通过渗透手段测试某个API中是否有可以利用漏洞。

模糊测试 (fuzz testing, fuzzing)是一种软件测试技术。其核心思想是将自动或半自动生成的随机数据输入到一个程序中,并监视程序异常,如崩溃,断言(assertion)失败,以发现可能的程序错误,比如内存泄漏。模糊测试常常用于检测软件或计算机系统的安全漏洞。对于API而言,模糊测试指的是将大量随机数据(或称“噪声”或“模糊”)强制输入到API中以试图引起系统崩溃、内存溢出或者其他负面情形来测试API应对“最坏的情况”时的极限处理能力。

相关

  • 线粒体基因组线粒体基因组 指的是线粒体内的所有遗传物质。线粒体是真核细胞内能通过半自主复制进行繁殖的细胞器 。组成线粒体基因组的遗传物质在结构上与原核生物遗传物质相似。线粒体
  • 感觉剥夺感觉剥夺(sensory deprivation)是故意从一个或多个感官减少或去除刺激。简单的设备,如眼罩或头罩和耳罩可以切断视觉和听觉分别,而更复杂的设备还可以切断嗅觉,触觉,味觉。短期感
  • 对马海流黑潮(日语:黒潮/くろしお kuroshio,英语:Kuroshio Current),又称日本暖流,是太平洋洋流的一环,为全球第二大洋流,只居于墨西哥湾暖流之后。自菲律宾开始,穿过台湾东部海域,沿着日本往东
  • 阿根廷军事阿根廷军队包括陆军,海军和空军,有70,000名现役军人,比在1983年恢复为民主国家之前少了三分之一,阿根廷总统是武装部队总司令,国防部长则行使日常工作。阿根廷还有两只另外的部队
  • 杜松山杜松丘陵(英语:Juniper Hills)是位于美国加利福尼亚州洛杉矶县的一个非建制地区。该地的面积和人口皆未知。在21世纪初,大卫·伍达德担任市长。杜松丘陵的座标为34°26′39″N 1
  • 无产阶级国际主义无产阶级国际主义(英语:proletarian internationalism),又称国际社会主义(international socialism),音译英特纳雄耐尔(法语:internationale,时指国际工人协会,代称无产阶级国际主义)是
  • 希腊内战希腊王国临时民主政府(英语:Provisional Democratic Government)马其顿民族解放阵线(英语:National Liberation Front (Macedonia))希腊国民军(1945年8月16日至1951年12月22日):15,26
  • 珍妮·奇莲珍妮·奇莲(英文:Jeanne Crain,1925年5月25日-2003年12月14日)生于美国加利福尼亚州,美国20世纪著名电影女演员之一。
  • 泉里香泉里香(日语:泉 里香/いずみ りか ,1988年10月11日-),本名‘泉里香’。日本的模特儿兼女演员。京都府出身。身高166cm,血型是A型。浜千咲、泉梨华及泉里果均为旧艺名。隶属于Stardu
  • 原位杂交技术原位杂交化学技术(英语:In situ hybridization,缩写:ISH),简称原位杂交,是核酸杂交技术的一种方式。其使用标记的互补DNA,RNA或修饰的核酸链(即探针)定位组织的一部分或部分中的特定DN