APP下载

APP软件接口测试

2018-03-21郑慧芬

电子技术与软件工程 2018年2期

郑慧芬

摘 要 近年来,随着移动互联网的高速发展,手机APP软件开发行业的竞争也越来越激烈。APP软件系统的复杂度也不断上升,已不再是单纯的某家公司的一个应用,逐渐发展成多家公司合作,资源整合共享等,这就离不开大量的接口调用。如何确保手机APP软件中页面内容有效,数据传输快速且数据内容安全的展示给用户,提高用户体验离不开接口的测试。然而app软件版本迭代快,留给测试的时间少,加上接口测试人员紧缺,因此测试人员大都把时间用于产品的功能测试,而忽略软件接口测试或对软件接口测试比较迷茫。在有限的测试时间里,如何做好软件接口测试是当下测试人员必须考虑的问题。

【关键词】APP 资源整合共享 接口调用 接口测试

1 引言

随着手机APP软件行业的业务不断扩展,产品往资源整合共享模式的转变,数据资源不断增加,接口大量的被调用,用户越来越多,软件接口的压力就是越来越大,软件接口的性能安全等也越来越受重视,因此软件接口的测试也越来越重要。而在移动互联网行业中普遍存在重研发轻测试,再加上APP软件版本快速迭代的特点,预留给测试的时间本来就非常少。在有限的时间里,测试人员大都主要关注软件的功能测试,忽略软件接口测试,或是对接口测试无从下手,基本由开发人员自己测试,这些情况将会大大影响产品的用户体验,也会给产品带来极大的安全隐患。

本文主要是针对测试人员没有软件接口测试的经验,对软件接口测试无从下手等情况,为测试人员梳理软件接口测试的流程,拓宽测试的思路。

2 软件接口测试现状

在移动互联网行业,软件接口这词大家都不陌生,仿佛是开发人员的事,但说到软件接口测试的话,或许还比较迷茫,接口还要测试吗?不是只要调试成功就可以了?或许能想到主要还是一些可以用来进行接口调用的工具。比如:谷歌,火狐等的插件,Jmeter,LR等第三方工具。因软件接口可通过抓取软件容易被抓取到调用信息,即软件接口极易暴露,那么软件接口如果只是由开发人员进行调试未经测试会存在什么问题?举以下几点:

(1)软件接口未加密,突然被非法使用,可能造成经济损失。

(2)软件接口响应时间过长,导致返回数据失效。

(3)软件接口并发量大时,可能会导致信息出错,或直接崩溃。

(4)软件接口的重点参数未加密码,导致信息外泄。

(5)接口异常场景覆盖不完整,导致异常出错。

3 软件接口测试的需求分析

针对以上情况,测试人员要如何入手软件接口的测试?首先从测试流程上,还是需要进行接口的需求分析。软件接口的需求分析主要是从以下6个方面进行。

(1)业务功能分析:主要是从使用场景方面考虑分正常使用场景和异常场景处理。

(2)边界分析:通过业务规则来确定边界值和单个参数的边界值设定来测试

(3)参数组合:通过不同参数之间的组合得到不同的数据回调。

(4)性能需求分析:主要也是接口的响应时间,吞吐量,并发数,服务器资源等。

(5)安全需求分析:接口是否会被非法调用,敏感信息是否加密,非法的SQL注入等。

(6)隐性需求分析:如一个接口调用是否会暴露后续接口的安全性等。

4 针对不同的接口分析测试

在掌握软件接口的需求分析后,你是不是在想如果每个接口都要进行6个方面的分析后测试,那时间怎么够,会影响整个项目的发布进度。是的,在有限的测试时间里,测试人员无法做到对每个接口进行需求充分的分析和测试,此时就要求测试人员能够对软件接口进行分析测试,针对不同的接口测试分类进行排序優先级分析哪一类测试是比较重要,优先进行测试。

(1)业务功能测试是每个接口必须要测试,只有保障正常场景和异常场景都能正常处理,才能正确展示给用户有效的信息。属基本测试类。

(2)易被非法调用的重要接口,如果被非法用户使用可能会产生经济或是重要信息外漏。故安全性测试是此类接口最高优先级。如:验证码接口,支付接口等。

(3)在首页,重要功能和必经的重点流程中被调用的接口,性能类测试是此类接口最高优先级。如:注册接口,登录接口,首页信息相关接口等。

(4)在首页,重要功能和必经的重点流程的页面里,如果分为已登录和非登录页面或是定位成功和定位未成功显示不同时,边界分析测试的优先级较高。如:送餐系统通过定位显示配送费接口,登录显示用户信息接口等。

(5)在不同的客户端使用同一个接口时,参数组合测试的优先级较高。

5 借助工具进行接口测试

测试人员通过对接口的分析确定接口需测试的类别后,根据测试分类编写接口测试用例就可以进行接口测试。无论是接口的哪一类测试都需要借助第三方工具来进行执行。不同的工具测试的接口分类不同。在未有安装类接口测试工具的情况下,可以通过在线类工具或一些第三方浏览器的插件(谷歌,火狐等)来进行接口测试,但未能进行接口的性能测试,也不能进行并发类测试,当然也无法进行一些隐性需求的判断。开发人员常用的一般是开发工具的插件进行接口调试,只能简单的调试,也无法达到真正测试的要求。Jmeter工具基本可以满足于所有接口分类测试的一般需求,且开源的工具是免安装,界面简单,易操作,初学者都可以使用。但在服务器资源方面的性能测试时,需另外安装一个监控器进行查看资源的消耗情况。LR也可以进行接口测试,LR比较强大的方面是在接口的性能测试,但在其他方面的测试配置较复杂,而且工具安装较麻烦,熟悉LR工具的测试人员可以使用。

6 总结

本文是根据许多测试人员在接口测试工作中存在问题,整理出APP软件接口的基本测试流程。针对APP软件版本迭代速度快且项目在测试阶段,时间紧,人力不足等特点,如何根据软件接口应用的特点,设置接口测试分类的优先级,有针对性的进行测试,以减少产品发布后存在重大bug。同时为测试人员提供一个接口测试的思想方向。

参考文献

[1]王智立.网络管理接口一致性测试的方法[J].技术和应用,北京邮电大学,2005.

[2]黄美锋,张毅彬.分布式应用软件接口测试分析技术[J].计算机工程,2008.

作者单位

中电福富 福建省福州市 350003