APP下载

Web项目接口测试

2018-02-28胡春美

电子技术与软件工程 2018年20期
关键词:质量保证

胡春美

摘要

近年来互联网行业发展迅速,软件产品也变得越来越复杂。随着网站应用规模的不断扩大,一个应用部署所有功能的时代已经过去,分布式架构逐渐成为主流。接口的概念在开发过程中无处不在,接口测试也成为了质量保证的一个重要方面。Web接口测试可分为两类:服务器接口测试和外部接口测试。本文对Web项目的接口测试内容,过程和策略进行了分析,希望对实际的项目测试工作起到一定的借鉴作用。

【关键词】接口测试 Web项目 质量保证

成熟度好的团队不再认为质量仅仅是测试人员的工作,保证质量人人有责。软件项目的质量管理贯穿软件项目的整个周期。测试人员是质量保证过程中重要角色,在不同阶段有不同的质量保证策略。如今人们的生活离不开网络,各网站不仅功能复杂而且用户数量庞大,分布式服务架构和微服务架构逐渐被企业所采用。接口是获取和操作资源的方式,在复杂的项目中,接口测试必须重视。本文主要讨论Web项目接口测试的相关内容。

1 接口测试的定义及重要性

接口测试就是测试系统组件间接口的一种测试,主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。其以保证系统的正确和稳定为核心,重要性主要体现在以下几个方面:

(1)能够提早发现bug,符合质量控制前移的理念。

(2)接口测试低成本高效益,因为接口测试可以自动化并且是持续集成的。

(3)接口测试从用户的角度对系统接口进行全面检测。实际项目中,接口测试会覆盖一定程度的业务逻辑。

2 常见的Web接口测试工具

用于接口测试的工具有很多,比如postman、RESTClient、jmeter、load飞胜nner等,比较常用的是postman和jmeter。

(1)Postman是一种网页调试与发送网页http请求的chrome插件。该插件使用简单,

可以用来很方便的模拟get或者post及其他方式的请求来调试接口。

(2)Jmeter是Apache开发的基于Java的压力测试工具。最初被设计用于Web应用测试,后来扩展到其它领域。相比loadrunner来说,它内存占用小,免费开源,轻巧方便。目前企业会在Jmeter的基础上进行二次开发以适应实际项目的需求。

3 Web项目接口测试策略

测试人员的测试流程一般为:需求分析,测试计划,用例设计,测试执行及测试报告。对于某个具体的阶段可以细分为多个task。其中,用例设计是核心环节,用例的好坏在某种程度上影响软件的质量保证。根据Web项目的特点及接口类型,测试的内容和方式也不同。

3.1 Http接口

对于浏览器与服务器的交互,分为get请求和post请求。请求中如果是通过URL访问,此时用例设计需要注意传参的设计,参数的边界情况,组合情况,此时,功能测试方法中常用的等价类思想和边界思想仍然适用。除此之外,url传参访问要注意安全性测试,防止对系统造成攻击。举一个实际的例子,一个Web项目用户登录进去后可以访问属于自己的客户列表,这里己做了安全策略,但是当点击某一条客户数据想要访问客户的detail页面时,发现并不需要用户账号验证,在浏览器直接输入地址即可访问,这是对安全问题忽视造成的结果。如果被同行所利用,盗取客户资源,会造成巨大的经济损失。如果是json串的形式,可以借助postman等工具完成测试。

3.2 数据库接口测试

测试人员可以从数据库的基本操作增删改查的角度进行测试用例的设计。以增加数据为例,测试用户在系统里提交数据的时候,需要验证数据库能否正常保存。在用户提交数据较多的系统里,尤其需要注意。比如,系统的核心功能是提交电子合同。那么,在合同模板中有较多的数据需要用户填写,在测试的时候需要对数据是否在数据库中正确存储进行验证。此时进行测试用例设计要注意空值,异常值的测试。

3.3 外部接口

对于外部接口或者是分布式架构中的各个服务的接口,需要将测试提前,即在提测前,可由开发人员进行测试,这也符合测试驱动开发和质量控制前移的思想。在提测前代码review的过程中,测试人员在开发人员的帮助下对API测试用例进行审核,如有遗漏或者不合适的用例,即时提出并改正。一些自动化的技术可以应用进来。

以上是Web项目中比较常见的需要测试的接口,在实际的测试过程中根据团队的成员情况以及项目实际特点制订测试计划及确定测试方式。测试是Web服务质量保证的主要手段之一,测试自动化是降低测试代价的有效途径。对于接口测试,可以采用手动测试和自动化测试相结合的方式。除了使用现有的工具外,也可以开发自己的接口测试工具和平台。在质量控制前移思想的指导下,测试人员需要在更早的阶段关注接口的质量,同时质量保证工作贯穿整个项目流程:

(1)在需求分析及review阶段,思考可能涉及的接口;

(2)在开发方案设计阶段,参与开发方案设计讨论,明确接口变动,如有风险及时提出;

(3)制订测试计划阶段,明确测试内容及测试方案和工具等;

(4)用例设计阶段,设计测试用例,注意安全,异常及边界情况。

(5)代码及review,从代码层关注接口的变动和设计,同时review开发接口测试覆盖率;

(6)测试执行,按照测试计划和用例,进行接口测试,跟踪bug;

(7)测试报告及总结,总结经验和教训;

(8)上线及维护,持续关注系统的稳定性。

4 总结

随着Web项目逐渐变的复杂,现多采用分层的结构进行开发,同时不同系统间进行交互获取数据。接口的增多需要接口测试得到足够重视。本文阐述了接口测试的重要性及工具,然后根据实际的项目经验分析了Web项目一般的接口测试过程和策略,具有一定的指导意义。

参考文献

[1]任永昌编著.软件项目管理[M].清华大学出版社,2012.

[2]侯可佳,白曉颖,陆皓,李树芳,周立柱.基于接口语义契约的Web服务测试数据生成[J].软件学报,2013,24(09):2020-2041.

猜你喜欢

质量保证
田湾核电站运行阶段质量保证分级管理
田湾核电站运行阶段质量保证分级管理
焊接技能评定过程中的质量保证要求
美国ASME规范NCA分卷与我国《核电厂质量保证安全规定》的差异研究
银行软件开发项目质量保证方法研究及应用
软件质量保证与测试课程的课程思政建设
环境应急监测工作中的质量保证与质量控制
宇航用塑封器件质量保证方案研究
质量保证监查在AP1000依托项目中的应用
试析如何做好水质环境监测的质量保证