爬虫测试该如何进行?这个方法教给你...
Posted 小洁码很快!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬虫测试该如何进行?这个方法教给你...相关的知识,希望对你有一定的参考价值。
很多同学不知道爬虫应该怎么进行测试,我也是刚接触过一点爬虫测试的小白,通过对爬虫的分析,总结了爬虫的测试方法,有其他建议的欢迎补充。
测试阶段
对于需要调用第三方平台(比如魔蝎)进行数据采集的流程,大家可能比较熟悉,在第三方的页面进行授权后,第三方会帮我们完成数据采集的任务,我们只需要坐等结果回调回来就行了。
但是如果是要自己做爬虫,那么又是个怎样的过程呢。
其实爬虫和其它业务一样,也是有流程的,一般先触发创建任务,爬虫模块进行数据采集,采集完成后再对数据进行解析入库。
对于授权爬虫,有SDK页面的也可以直接通过页面进行请求,有的就只能通过请求接口来实现了。还有一类爬虫,在后台配置好任务后会定期到网站爬取数据并更新数据库。
当然还有其他很多交互逻辑,每一步都需要分析和评估。
所以我们可以先从创建任务的接口入手,把整个流程连通起来,在接口的响应中添加简单的校验,比如创建任务之后有任务编号,并且可以通过查询接口获取到该次任务的结果数据,再检验数据是否有入库、入库是否准确、是否会乱码等。
从接口入手的好处是我们可以将爬虫任务进行自动化检验,检验数据是否可以创建、爬虫是否可以正常爬取、爬取的结果是否入库等。
解析的逻辑、入库的准确需要关注,爬虫结果数据的入库关系到数据的分析和应用,对于数据分析来说,如果源头的数据就是错误的,那么不管分析结果如何都是没意义的了。
总结
接口测试
调用接口进行数据采集,测试爬虫流程;接口基本测试以及弱网络、接口安全、接口性能等。
针对场景
可以通过接口或者SDK进行测试,包括成功的爬取场景和失败的场景,比如无数据、无效数据。
解析入库测试
数据采集完成后解析和入库逻辑检验。
异常测试
主要针对系统间交互的处理逻辑,如失败的重试机制、服务间的容错机制等。
爬虫质量和效率
主要是根据整体设计和代码实现来分析爬虫的处理方式是否是高可用的。
线上阶段
爬虫一旦上线给其它业务方使用,可用性和可靠性是需要保证的。
对爬虫来说,线上监控非常重要!不仅要保证提供出去的爬虫是可以正常跑的,还要保证当出现异常时,能够在最短的时间内解决,所以监控要从以下三方面着手:
接口
通过线上跑接口脚本监控提供的接口可以正常使用,而不是等业务方连基本的接口都调不通再反馈回来再进行修复,成本就比较大了。
主动调接口,判断程序是否正常,可以只进行校验接口能跑通,条件允许的话在线上跑真实数据并进行结果校验。
线上异常
监控线上出现的异常情况,比如将创建任务失败、登录失败、数据采集失败、数据解析失败、回调失败、数据入库失败等情况实时监控并且同步邮件,收到异常情况时开发就要尽快排查是什么原因,第一时间发现并解决。
目标网站
监控目标网站的情况,可以通过web自动化,监控目标网站是否可用、是否发生变化等。
对爬虫来说,稳定性是非常重要的,但是很多不可控因素都会导致爬虫成功率下降,我们可以通过做好监控和预防措施,当意外发生时将风险降到最低。
现在就有这么一个机会,我邀请你进入我们的软件测试学习交流群:642830685,备注“csdn”大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路。
送给大家一句话,共勉:当我们能力不足的时候,首先要做的是内修!当我们能力足够强大的时候,就可以外寻了!
最后也为大家准备了一份配套的学习资源,你能在 公众号:【程序员二黑】免费获取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中资料包括了有基础知识、Linux必备、Shell、互联网程序原理、mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
往期回顾:
以上是关于爬虫测试该如何进行?这个方法教给你...的主要内容,如果未能解决你的问题,请参考以下文章
我裂开了,教给他如何搭建和使用代理服务器,他居然用来做这么不正经的事(爬虫,代理ip)
python爬虫应用实战-如何爬取表情进行斗图?丰富你的表情库
python爬虫应用实战-如何爬取表情进行斗图?丰富你的表情库