接手APP测试的时间不长,对于我来说,APP测试目前涉及的内容暂时逃不出界面操作的UI兼容性测试,以及一些常见的功能性测试,而实际真正掌管APP功能的又是接口和后台服务,因此,最近测试的重点还是在接口上。
题目是接口的功能测试,因此,这里也只是涉及到了的是功能,我呢,也主要说一下我目前的测试方法,有不好的需要改进的,大家及时提出来。
1.接口文档
一个接口的定义,主要有以下几点:接口,方法,入参,出参,具体实例等
2.环境部署
拿到接口文档后,对提交的代码进行部署。或者有些开发不提供接口文档,那么就需要通过抓包来获取接口,以及其入参和出参,在这里一定要跟开发人员沟通好,确定需求,明确接口返回值。抓包的工具我就不展开了,全世界闻名的fiddler,或者有同学喜欢用charles,都可以,避免用wireshark,对于移动端来说,不实用,且冗余信息太多。
3.验证接口
我基本上通过jmeter来完成,一个词,方便!一般接口的方法比较常用的是GET和POST,所有GET方法可实现的POST都可实现,POST可以以BODY形式传参,BODY又可加密,因此安全等级提升了不少。当然各有千秋,完全取决于业务需要。
入参,form或者body居多,当然有不少接口都需要带身份,因此会要求有cookies。出参,大部分都是json(作者只说自己的测试范围)
这些工作准备的差不多后,即可根据需求通过jmeter进行功能测试,通过不同的入参,验证出参结果的正确性。
出参主要验证点,以json为例,
1.设置断言包含state=1的即成功,其他值均失败。
2.errmsg的值是否可全部覆盖
3.data 返回值的验证
(1)空
(2)各属性返回值所对应的值是否有NULL或者非正常字段
(3)返回值是否正确,或者数据与数据库查询结果是否相同
(4)返回记录数是否正确,是否做分页处理,返回值是否正确等等。
暂时想到的只有这些,下次等我学的更多的时候再跟大家分享。
还有,之所以说jmeter方便,是因为jmeter提供了很多验证手段,我比较常用的是用户变量定义,可以通过导入CSV模拟多个参数值。可以一次执行验证多个接口,模拟并发等,做个轻量级的性能测试很是方便。咱群里会用且用的不错的人应该大有人在,没用过的小伙伴可以问度娘,具体使用方法上面有很多教程,不再赘述。
#百人计划# by 笑眯眯一号