Software Development·软件开发 Web项目接口测试 文/胡春美 测试,后来扩展到其它领域。相比loadrunner 的接口,在实际的测试过程中根据团队的成员 情况以及项目实际特点制订测试计划及确定测 近年来互联网行业发展迅速, 软件产品也变得越来越复杂。随 着网站应用规模的不断扩大,一 个应用部署所有功能的时代已经 过去,分布式架构逐渐成为主流。 接口的概念在开发过程中无处不 在,接口测试也成为了质量保证 的一个重要方面。Web接口测试可 来说,它内存占用小,免费开源,轻巧方便。 目前企业会在Jmeter的基础上进行二次开发 以适应实际项目的需求。 试方式。测试是Web服务质量保证的主要手 段之一,测试自动化是降低测试代价的有效途 径。对于接口测试,可以采用手动测试和自动 3 Web项目接口测试策略 测试人员的测试流程一般为:需求分析, 化测试相结合的方式。除了使用现有的工具外, 也可以开发自己的接口测试工具和平台。在质 量控制前移思想的指导下,测试人员需要在更 分为两类:服务器接口测试和外 部接口测试。本文对Web项目的 接口测试内容,过程和策略进行 了分析,希望对实际的项目测试 工作起到一定的借鉴作用。 【关键词】接口测试Web项目质量保证 成熟度好的团队不再认为质量仅仅是测 试人员的工作,保证质量人人有责。软件项目 的质量管理贯穿软件项目的整个周期。测试人 员是质量保证过程中重要角色,在不同阶段有 不同的质量保证策略。如今人们的生活离不开 网络,各网站不仅功能复杂而且用户数量庞 大,分布式服务架构和微服务架构逐渐被企业 所采用。接口是获取和操作资源的方式,在复 杂的项目中,接口测试必须重视。本文主要讨 论Web项目接口测试的相关内容。 1接口测试的定义及重要性 接口测试就是测试系统组件间接口的一 种测试,主要用于检测外部系统与系统之间以 及内部各个子系统之间的交互点。其以保证系 统的正确和稳定为核心,重要性主要体现在以 下几个方面: (1)能够提早发现bug,符合质量控制 前移的理念。 (2)接口测试低成本高效益,因为接口 测试可以自动化并且是持续集成的。 (3)接口测试从用户的角度对系统接口 进行全面检测。实际项目中,接口测试会覆盖 一定程度的业务逻辑。 2常见的web接口测试工具 用于接口测试的工具有很多,比如 postman、RESTClient、jmeter、loadrunner等, 比较常用的是postman和jmeter。 (1)Postman是一种网页调试与发送网 页http请求的chrome插件。该插件使用简单, 可以用来很方便的模拟get或者post及其 他方式的请求来调试接口。 (2)Jmeter是Apache开发的基于Java 的压力测试工具。最初被设计用于Web应用 测试计划,用例设计,测试执行及测试报告。 对于某个具体的阶段可以细分为多个task。其 早的阶段关注接口的质量,同时质量保证工作 中,用例设计是核心环节,用例的好坏在某种 贯穿整个项目流程: 程度上影响软件的质量保证。根据Web项目 (1)在需求分析及review阶段,思考可 的特点及接口类型,测试的内容和方式也不同。 能涉及的接口; (2)在开发方案设计阶段,参与开发方 3.1 nttp接口 案设计讨论,明确接口变动,如有风险及时提 出: 对于浏览器与服务器的交互,分为get请 (3)制订测试计划阶段,明确测试内容 求和post请求。请求中如果是通过ur1访问, 此时用例设计需要注意传参的设计,参数的边 及测试方案和工具等; (4)用例设计阶段,设计测试用例,注 界情况,组合情况,此时,功能测试方法中常 意安全,异常及边界情况。 用的等价类思想和边界思想仍然适用。除此之 外,url传参访问要注意安全性测试,防止对 (5)代码及review,从代码层关注接口 系统造成攻击。举一个实际的例子,一个Web 的变动和设计,同时review开发接口测试覆 盖率; 项目用户登录进去后可以访问属于自己的客户 (6)测试执行,按照测试计划和用例, 列表,这里己做了安全策略,但是当点击某一 进行接口测试,跟踪bug: 条客户数据想要访问客户的detail页面时,发 现并不需要用户账号验证,在浏览器直接输入 (7)测试报告及总结,总结经验和教训; (8)上线及维护,持续关注系统的稳定 地址即可访问,这是对安全问题忽视造成的结 性。 果。如果被同行所利用,盗取客户资源,会造 成巨大的经济损失。如果是json串的形式, 4总结 可以借助postman等工具完成测试。 随着Web项目逐渐变的复杂,现多采用 3.2数据库接口测试 分层的结构进行开发,同时不同系统间进行交 测试人员可以从数据库的基本操作增删 互获取数据。接口的增多需要接口测试得到足 改查的角度进行测试用例的设计。以增加数据 够重视。本文阐述了接口测试的重要性及工具, 为例,测试用户在系统里提交数据的时候,需 然后根据实际的项目经验分析了Web项目一 要验证数据库能否正常保存。在用户提交数据 般的接口测试过程和策略,具有一定的指导意 较多的系统里,尤其需要注意。比如,系统的 义。 核心功能是提交电子合同。那么,在合同模板 中有较多的数据需要用户填写,在测试的时候 参考文献 需要对数据是否在数据库中正确存储进行验 [1]任永昌编著.软件项目管理[M】.清华大 证。此时进行测试用例设计要注意空值,异常 学出版社,20l2. 值的测试。 【2]侯可佳,白晓颖,陆皓,李树芳,周立 柱.基于接口语义契约的Web服务测试数 3· 外部接口 据生成【J】.软件学报,2O1 3,24(09):2020— 2O4】. 对于外部接口或者是分布式架构中的各 个服务的接口,需要将测试提前,即在提测 前,可由开发人员进行测试,这也符合测试驱 作者简介 动开发和质量控制前移的思想。在提测前代码 胡眷美(1989-),女,河北省人。硕士学位。 review的过程中,测试人员在开发人员的帮助 助理实验师。研究方向为领域数据工程、软件 下对API测试用例进行审核,如有遗漏或者不 测试。 合适的用例,即时提出并改正。一些自动化的 技术可以应用进来 作者单位 以上是Web项目中比较常见的需要测试 曲阜师范大学软件学院 山东省曲阜市 27 3165 Electronic Technology&Software Engineering电子技术与软件工程·45