西安必信达软件技术有限公司
软件测试中接口测试概述与实践
「本文探讨了软件测试中接口测试,针对客户需求提出了应对策略和方法,研究了接口测试必须要遵循的几点原则和要求,旨在为接口测试提供相关的参考。(2020-9-20)」
关键词:软件测试;接口测试;系统
  中图分类号:TP311.5 文献标识码:A 文章编号:1007-9416(2020)03-0112-01
  1 接口测试定义
  接口测试主要是对被测系统的各个组件功能性和稳定性进行验证,整个测试包括了系统内部及外部之间的功能执行情况。接口测试核心在于对数据的传递、控制和交互进行全面的验证,同时还要对各子系统、功能的逻辑关系进行查验。
  2 接口测试的范围
  通常情况下,多个系统之间的信息传递、交互与控制或者系统存在多个子系统时,就会对其接口进行测试。接口测试主要是为验证服务系统对外提供支持的各类接口,功能是否齐全、稳定等。对于上层系统中的服务层接口,也可以进行接口测试,但是这种难度就会相对较大,且难度与层级成正比关系。通过对多系统多平台架构的接口进行测试,能够大大提高系统的成本收益率。通过接口测试的方式,可以识别复杂系统中存在的各种功能问题,从而确保其稳定性。
  3 接口测试的目标
  (1)实现自动化的检测,同时能够保持集成性;(2)应该从客户的角度出发,更加全面的、高效的对软件系统中的各个接口进行测试;(3)系统越庞大,平台越复杂,底层存在的问题会引起上层出现更多的问题,利用接口测试可以有效的控制测试费用,为测试人员提供一种高效的解决方案。
  4 频繁变化下接口测试的对策
  计算机技术的高速发展,推动软件应用的全面开发,客户对软件的需求也越来越多。系统应用软件的功能在开发过程中,会受到客户需求变更的影响,其目标和功能也会随之发生改变。因此在软件应用项目设计时会结合这种变化而不断改变,这就导致接口测试的工作也会随之发生调整,对于整个系统设计而言,会产生较大的影响,使得很多测试工作需要重头再来,不仅会对整个测试工期带来影响,同时也会增加系统测试的成本支出[1]。
  为了降低需求变化对接口测试产生的影响,可以从几个方面开展工作:(1)团队之间的要加强沟通,及时掌握需求的变化。系统开发、测试人员之间要密切协作,当发生需求变更时,及时制定对应的解决措施。(2)合理分配各项工作。项目开展过程中,要明确项目组个成员的工作要求和工作职责,当需求发生变化时,开发和测试人员要开展协助,提高团队的合作力。接口测试人员一旦掌握开发代码发生调整,则相应改变测试用例,最大限度控制修改的范围。(3)测试人员设计用例代码要保障其灵活性的特点。为确保测试的顺利开展,测试人员应该制定详细的策划方案,同时还要充分考虑到可能发生的需求变更,另外用到的测试用例要带有灵活性,以满足新需求可能引起的调整,最大限度控制所产生的影响。
  5 接口测试中测试与开发的配合
  在对接口的功能进行测试的过程中,测试人员与开发人员之间的工作交集较多,因此在制定测试计划开始,一直到系统问题暴露出来,测试人员要加强与开发人员的协作,提高团队的配合度[2]。
  (1)测试需求要充分调研开发的需求,不能只站在产品需求的角度。对于测试工作而言,产品需求是其工作的主要来源,可是全部以产品需求作为蓝本,往往注重的是产品的功能性,系统的各个环节无法全面考虑到,而各个环节又直接决定了整个系统的稳定性和功能性。所以在对系统开发前,测试人员应该全面评估和汇总开发的需求。(2)测试人员和开发人员之间的工作沟通要紧密联系在一起。开发工作和测试工作的进展及内容,对应的技术人员要相互了解和掌握。只有测试和开发工作的相互贯通,开发人员才会注意到提高测试代码的质量,以保障代码的可测性;测试人员才会配合开发工作的开展,全面验证系统的功能,从中识别系统中的问题,这样才会提高彼此的工作效率,保障项目达到目标要求。(3)明确各个岗位的职责,测试工作涵盖代码、配置及工作环境,开发人员不得改变和调整。对于测试工作,测试工程师主要维护测试代码及环境配置,其对整个测试结果承担责任。测试方面发现的问题都需要与测试工程师进行沟通和确定,开发人员不能随意的进行变更。因为测试环境和代码发生改变,就会导致测试用例失败,或者是破坏到测试环境,那么得到的测试结果也将不准确,系统的功能性和稳定性难以得到保障。(4)项目开展的整个过程中,测试与开发工作要密切结合起来。项目开发过程中,开发工作与测试工作应该紧密的关联在一起,确保双方技术人员为共同的目标而努力,以保障项目的顺利开展。(5)测试人员要对测试结果进行全面分析,充分识别系统中暴露出的缺陷,及时向开发人员反馈。为了确保系统功能的稳定性和全面性,测试人员要对测试结果进行全面的分析,从中找到系统存在的所有问题,为开发人员修复和完善系统提供有力支持。
  6 如何简单设计接口测试用例
  项目测试中接口测试是非常关键的一环,接口是测试的对象,其目的是对被测系统各个部件之间的功能性、稳定性进行全面验证。测试的核心内容是对数据的传递、控制和交互进行全面的查验,并验证各子系统、功能的逻辑关系[3]。
  接口测试用例设计可以按几个步骤开展:(1)测试应该确定目标,测试的目的在于找出程序中的缺陷和问题部分,基于此,设计测试方案要本着查找错误出发,这样才能最大限度发挥出测试的作用和价值。(2)测试对象选择要合理。接口测试的核心是要选择合适的测试对象,由于系统中的接口数量庞大,在选择测试对象时尽量选择易于出差的程序,以提高测试的效率。通常将外层的接口分为两种,一種为数据输出接口,另一种为数据输入接口。调试这些接口的参数,就能够查看到数据的输入和输出情况,从而达到验证系统功能的作用。(3)对测试对象的整体功能进行确认。要明确用户需求和系统所要实现的目标,才能确保系统具备这些功能,同时还可以稳定运行。依据测试对象功能设计,制定用例代码,才可以找准目标,提高测试的精准度。(4)重视用例内容的设计。其内容应该涵盖测试数据、功能点、环境和结果。
  设计接口测试用例要注意几点:(1)对于接口功能较多,系统较为复杂的测试时,要划分系统的结构,这样设计出的用例才具备较好的维护性及可读性,结构划分可以结合接口具备的功能点差异来开展,其通过划分粒度来实现。另外,还要充分考虑到测试环境、具体数据,采用相同功能点的用例。(2)根据测试环境的不同,可以分为程序内部环境和程序外部环境。(3)用例执行数据、接口参数数据共同构成了接口测试数据。测试用例数据需要耗费大量的时间和精力去设计。合理的、科学的、高效的测试数据才能确保系统中的问题暴露出来。测试数据的目的是为了对系统的各项功能进行验证,并从中识别出系统功能可能存在的一些缺陷以及系统之间的逻辑关系错误等。(4)接口用例设计中验证预期结果是重要的一环,其结果要详细,且不冗余。各个用例都要通过验证。
  参考文献
  [1] 何舒.API接口自动化测试系统设计及实现[D].成都:电子科技大学,2018.
  [2] 吴振宇,顾晓明,李翔.协议可扩展的软件接口测试工具的研究与实现[J].数字技术与应用,2017(12):58-60+62.
  [3] 张悦.通用软件接口测试平台的设计与实现[J].数字技术与应用,2019(12):145-146.
  Abstract:This paper discusses the interface testing in software testing, puts forward countermeasures and methods for customer needs, and studies several principles and requirements that interface testing must follow, the purpose is to provide reference for interface test.
  Key words:software test; interface test; system
(兵pb)
点击进入「必信达创业合作论坛」
Copyright © 1999-2020 西安必信达软件技术有限公司