开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第27天,点击查看活动详情
最近在研究如何做接口测试,自己所在的项目,恰好使用的是HTTP协议,且内网通信可以直接用Charles抓包, 能看到明文,自己试着用Python的requests库进行了收发包,发现可以正常通信,就自然而然的想到了,接口测 试落地。
之前的项目里,客户端源码也看过一些,网络通信部分也能看懂,但多多少少会有一些问题:序列化/反序列化、加 密解密怎么处理?如果用现成代码,C#/Lua得学;如果用python重写,成本太高。
抱着侥幸心理,尝试寻找另一种解决方案:从Python里调用C#/Lua的东西,后来尝试未果。。项目解散,也就 没能继续。
过程
经过探索,编写一条用例流程:
构建测试环境
抓包获得构建环境发送的接口
解析接口并找到最少的环境构建接口
解析待测接口数据结构
构建接口数据并发送
解析待测接口返回的数据结构,编写验证逻辑
按照这样的思路尝试写工具、用例,发现问题:
1.用例的前置、数据构建、返回验证写起来太费劲,无法通用、复用,每个接口只能单独写;
2.本着推广的想法,期望做一个GUI的工具给大家用,但发现见用例、接口的结构都可以展示,但数据构建、逻辑验 证仍然脱离不了代码,学习成本太高;
自动化测试的可行性分析很重要。测试自动化不会减轻工作负担,相反,推进自动化测试需要投入大量的人力和时间,因此需要结合多方面因素权衡,根据投入产出比判断是否有必要进行自动化测试,应该对哪些被测对象进行自动化测试。同时,推行自动化测试可能会遇很多阻力和困难,如组织不够重视导致的资源和时间分配不足、当前技术水平或产品本身的特点达不到自动化测试的要求,产品不具有延续性,长期投入可能性不大等等问题都必须考虑,因此,进行自动化测试前,进行充分全面的可行性分析是关系到自动化测试能否成功的关键