网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
2、应该怎么分析一个接口?
获取接口文档: 和黑盒测试一样,我们是从需求文档中去挖掘测试点,设计测试用例。对于接口测试,同样是有对应的接口文档的。
分析接口文档,提取测试点:
1)输入: 接受哪些参数、参数的类型、可选参数和必选参数等;根据输入参数采用等价类、边界值分析法等进行设计;
2)业务逻辑:对于一个接口,不同的输入参数或组合,流程或状态的转移是不同,可以根据业务逻辑画出流程图或状态转移图,确保每种状态至少被访问了一次;
3)输出:根据文档规定的输出,反向设计测试数据,使所有的输出状态都被包含了;
测试用例: 同时对输入、业务逻辑、输出进行考虑时,肯定会存在用例的冗余,在最大限度覆盖业务功能和规则下,选取最优用例集合。同时,需要考虑异常数据和场景。
3、怎么确定用例的覆盖率?
在没有特殊要求的情况下,至少需要考虑以下内容:
1)业务功能覆盖是否完整
2)业务规则覆盖是否完整
3)参数验证是否达到要求(边界、业务规则)
4)接口异常场景覆盖是否完整
如果接口需求还包含性能或者安全要求,还要对接口进行性能测试和安全测试,就需要考虑:性能指标是否满足要求、安全指标是否满足要求。
4、接口测试发现的典型问题
接口测试经常遇到的bug和问题,如下:
(1)传入参数处理不当,导致程序crash;
(2)类型溢出,导致数据读出和写入不一致;
(3)因对象权限未进行校验,可以访问其他用户敏感信息;
(4)状态处理不当,导致逻辑出现错乱;
(5)逻辑校验不完善,可利用漏洞获取非正当利益等。
5、如何编写接口测试用例?
创建接口测试用例:
http:///home/csg/pyrequest-master/interface/add_event_test.py
对上述代码进行分析:
1、在接口测试之前,调用test_data.py文件中的init_data()方法,初始化数据库中的测试数据;
2、创建AddEventTest测试类,继承unittest.TestCase类;
3、创建测试用例,调用添加发布会接口,并验证接口返回的数据;
注意:
1、把JSON格式的结果转化为字典赋值给self.result变量,加self的目的是在tearDown()方法中打印self.result变量,打印的结果可以在测试报告中显示,即将接口返回数据打印出来;
2、如果不使用self,又想在报告中显示每个接口返回数据,就只能是在每个用例中print出result,相比来说,还是第一种方法比较方便。
集成测试报告
当用例数量较多,就需要分类管理和执行,为解决这个问题,unittest单元测试框架提供了discover()方法,然后再适用HTMLTestRunner生成HTML格式的测试报告。
创建/home/csg/pyrequest-master/interface/run_tests.py文件:
对上述代码进行分析:
1、还是先调用test_data.py文件中的init_data()函数来初始化测试数据;
2、unittest框架提供的discover()方法查找interface目录下,匹配到文件名*_test.py结尾的测试文件;
3、now按一定格式生成当前时间;
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**