1、单元测试
模块类 | 输入 | 预期 | 实际 | 分析 |
网页分析 | 一个包含若干链接的网页 | 将页面上的URL作初步筛选过滤后提取出来 | 网页上的URL都被提取出来放在队列中 | 模块功能正常 |
队列 | - | 队列里的URL项有序进入下载 | 无异常 | 模块功能正常 |
下载 | 提供URL项 | 按提供的地址获取该网页内容 | 该网页被下载 | 模块功能正常 |
分类 | - | 将下载到的内容分类放到指定文件夹里 | 网页上的内容分块存放 | 模块功能正常 |
线程 | - | 需要下载的URL数量非常多时分多线程同时下载提高效率 | 下载速度明显加快 | 模块功能正常 |
分模块测试的工作比较简单,主要是检查各模块和一些函数块是否正常工作。
2、本地站点测试
(测试:刘泽枫)
接下来进行全局测试,模拟爬取过程,分析整个程序运行的结果和性能。
先在本机上制作静态网页。第一个作为被爬取网页,设置10个链接:其中5项符合条件,有2个URL无效,还有3个不符合条件,用作筛选对比项。其他五个作为链接对象,分别设置ppt,word,html,pdf,等不同的格式和内容,用作分类参考项。
将第一个网页作为爬取对象,在界面输入该站点下的路径。程序运行后,除2个无效链接,其他URL被访问。按格式和内容的不同分别放在了预设的ppt,word,html,pdf,四个文件夹里。不符合条件的文件未被下载和分类。
初步测试程序运行正常,有必要的话可以修改网页内容进行多次反复测试。
3、爬取外链
(测试:由之望)
因为本地制作的网页有很多不足,给出的样例情况不够全面,因此进一步检测必须爬取一些外链作为实际参考数据。
项目/软件 | 网络爬虫 | 程序版本 | 1.0 | |||
编制人 | 贾伟,邓嘉,吴翰雄,刘泽枫,祁彦博,由之望,闫生辉 | |||||
编制时间 | 2012.10.15——2012.11.18 | |||||
相关用例 | 无 | |||||
功能特性 | 爬取URL,将网页分类并存储 | |||||
测试目的 | 测试团队编写的爬虫程序能否良好的爬取网页及其工作的效率 | |||||
预置条件 | 关于计算机方面的网页 | 特殊规程说明 | 有些网页不允许爬取 | |||
参考信息 | 《亲自动手编写爬虫》 | |||||
测试数据 | 操作步骤 | 期望结果 | 实际结果 | |||
1 | 在代码中输入网址:http://fight.pcgames.com.cn/warcraft/dota/gl/1210/2667970.html 在界面中输入要爬取的URL数量:300 | 对网页的链接无重复爬取,尽量爬取网页的所有链接 | 爬取的网页无重复,但并不能爬取所有链接,爬取链接的顺序与原网页不一致 | |||
2 | 在代码中输入网址:http://www.cnblogs.com/ 在界面中输入要爬取的URL数量:500 | 对网页的链接无重复爬取,尽量爬取网页的所有链接 | 网页爬取无重复且能爬取到所有链接 | |||
3 | 在代码中输入网址:http://www.renren.com/ 在界面中输入要爬取的URL数量:500 | 对网页的链接无重复爬取,尽量爬取网页的所有链接 | 爬取的网页无重复 人人网的首页链接少的可怜,只爬到了42个…… | |||
4 | 在代码中输入网址:http://user.qzone.qq.com/448326683?ptlang=2052 在界面中输入要爬取的URL数量:300 | 对网页的链接无重复爬取,尽量爬取网页的所有链接 | 这是邓嘉的qq空间…… 爬取的网页无重复,因为只爬到了1个url……
| |||
5 | 在代码中输入网址: 在界面中输入要爬取的URL数量: | 对网页的链接无重复爬取,尽量爬取网页的所有链接 |
|
4、BUG收集整理
经过实际运行后发现一下问题:
| 问题描述 | 解决方案 |
1 | 某些网页大小未知,不会对其下载 | 不作处理。因为考虑到如果网页过大的话下载会造成问题 |
2 | 一些URL不同,但链接的网页内容基本上相同,导致下载的内容重复 | 暂时没有找到合适的解决方案 |
3 | 某些类型未知的非html类动态网页,下载后未对其进行分类 | 根据不同站点建立模版,将该类网页合理分类 |
4 | 一些和计算机无关但是有很多链接的网页,爬取效果差 | 对网页进行分析,按实际内容建立相应模版,将部分URL过滤掉不下载 |
5 | 某些网页分析内容的时候速度异常 | 根据网页内容建立模版分析解决 |
END