本次ALPHA版本测试是依据Daily Scrum11.16(http://www.cnblogs.com/newbe/p/4101339.html)分配的任务有序进行的,从11.16~11.23。为期一周。测试中期报告在Daily Scrum11.19(http://www.cnblogs.com/newbe/p/4109441.html)有所记录,这篇博客发布的是alpha版本最终测试报告。
一、功能测试部分(负责人:黄伟龙)
1 bug记录与描述
bug1:无法爬取出错页面
bug发现时间:11.18 发现人:黄伟龙
bug描述:当爬取到含有“错误404”信息的页面时,程序会出错并抛出异常:Exception in thread "Thread-11" java.lang.IllegalArgumentException: Invalid uri ‘http://tieba.baidu.com/home/main?un=?????1‘: Invalid query
at org.apache.commons.httpclient.HttpMethodBase.<init>(HttpMethodBase.java:222)
at org.apache.commons.httpclient.methods.GetMethod.<init>(GetMethod.java:89)
at DownLoadFile.run(DownLoadFile.java:59)
bug现状:已解决
解决时间:11.20
解决人:王骜
bug2:无法爬取URL带汉字的页面
bug发现时间:11.18 发现人:黄伟龙
bug描述:如百度搜索中的URL常常包括汉字的keywords,我们的程序未进行转码从而抛出异常:Exception in thread "Thread-13" java.lang.IllegalArgumentException: Invalid uri ‘http://tieba.baidu.com/f/index/forumpark?cn=??????&ci=0&pcn=???&pci=0&ct=1&rn=20&pn=1‘: Invalid query
at org.apache.commons.httpclient.HttpMethodBase.<init>(HttpMethodBase.java:222)
at org.apache.commons.httpclient.methods.GetMethod.<init>(GetMethod.java:89)
at DownLoadFile.run(DownLoadFile.java:59)
bug现状:已解决
解决时间:11.20
解决人:刘垚鹏
bug3:爬取到一些特殊网页时仍会爬取终止
bug发现时间:11.20~11.22 发现人:黄伟龙
bug描述:当爬取到一些特殊的网页时,会出现不同的错误从而导致程序终止,目前未查明终止原因。
网页a):http://www.baidu.com/tools?url=http%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3DNskdEksJ6QQkpJtnmtSyPbNzqGauYttowpsasJ50aLyff47pVWOD7j811WDN6kDjtDU21-1vWuv4KEUvWbhQd_&jump=http%3A%2F%2Fkoubei.baidu.com%2Fwomc%2Fp%2Fsentry%3Ftitle%3D%02lyp%03_%02lyp%03%E4%BB%B7%E6%A0%BC%01_%01%E4%BC%98%E8%B4%A8%02lyp%03%E6%89%B9%E5%8F%91%01%2F%01%E9%87%87%E8%B4%AD%01%20%01-%01%20%01%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4%01%26q%3Dlyp&key=surl (阿里巴巴-百度口碑)
异常记录为(异常可以复现):
[email protected]
Please check your provided http address!
org.apache.commons.httpclient.InvalidRedirectLocationException: Invalid redirect location: http://koubei.baidu.com/womc/p/sentry?surl=http%3A//www%2E1688%2Ecom/chanpin/%2D6C7970%2Ehtml&token=A3CDD44B05BE20D3477B699A3B4F1A07&title=lyp_lyp??????_??????lyp??????/??????+-+????????????&q=lyp
at org.apache.commons.httpclient.HttpMethodDirector.processRedirectResponse(HttpMethodDirector.java:619)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:179)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
at DownLoadFile.run(DownLoadFile.java:71)
Caused by: org.apache.commons.httpclient.URIException: Invalid query
at org.apache.commons.httpclient.URI.parseUriReference(URI.java:2049)
at org.apache.commons.httpclient.URI.<init>(URI.java:147)
at org.apache.commons.httpclient.HttpMethodDirector.processRedirectResponse(HttpMethodDirector.java:601)
... 4 more
网页b):http://image.baidu.com/channel?c=摄影&t=全部&s=0?fm=index&c=%E6%91%84%E5%BD%B1&t=%E4%BA%BA%E5%83%8F
异常记录为(异常可以复现):
Exception in thread "Thread-532" java.lang.IllegalArgumentException: Invalid uri ‘http://image.baidu.com/channel?c=摄影&t=全部&s=0?fm=index&c=%E6%91%84%E5%BD%B1&t=%E4%BA%BA%E5%83%8F‘: Invalid query
at org.apache.commons.httpclient.HttpMethodBase.<init>(HttpMethodBase.java:222)
at org.apache.commons.httpclient.methods.GetMethod.<init>(GetMethod.java:89)
at DownLoadFile.run(DownLoadFile.java:59)
网页c):http://tieba.baidu.com/f/index/forumpark?cn=???????&ci=0&pcn=???&pci=0&ct=1&rn=20&pn=1‘
异常记录(异常可以复现):
nvalid query
at org.apache.commons.httpclient.HttpMethodBase.<init>(HttpMethodBase.java:222)
at org.apache.commons.httpclient.methods.GetMethod.<init>(GetMethod.java:89)
at DownLoadFile.run(DownLoadFile.java:59)
bug现状:待解决
bug解决计划:在beta版本修改这个bug
2 程序性能报告
网址:http://ask.csdn.net
爬取页面数:100
远航所有时间:22898(毫秒,下面的数字都用毫秒计算)
newbe所用时间:24318
cpu占有率:34.3%-44.7%
所占内存:161.6MB
爬取页面数:1000
远航所用时间:596204
newbe所用时间:855707
cpu占有率:29.6%-43.8%
所占内存:199.1-228.6MB
极限情况:
尝试爬取10000个页面,但是由于爬取速度随着爬取页面数的增加明显减慢,导致爬取过程缓慢,而且中途经常出现异常,最终最高达到4571个页面,时间:8378920(毫秒),花费了2小时以上,感觉这种极限极限测下去意义不是很大,所以就停止了。爬虫速度越爬越慢感觉非常明显,而且测试的时候偶然性很大,和电脑运行时的情况也有很大关系,而且测试人黄伟龙测试的时候爬取失败率较高,失败率达到20-%-30%,这方面在beta版本可以改进。
3 功能报告
a)关键字搜索功能:
测试了50组关键字搜索,包括中文英文字符,到目前为止,关键字搜索功能目前未测出bug,可以正确支持中文英文字符等各种输入,出现的异常都与关键字搜索功能无关
b) 多网址搜索功能:
测试了20组多网址搜索功能,爬取页面数量从1到20,目前未测出bug,都可以正常进行搜索爬取,出现的异常都与
多网址搜索功能无关
二、UI测试部分(负责人:马佐霖)
1 bug记录与描述
未发现UI交互、图表显示中有任何bug
2 UI改进建议
a.单词错误:how much pages 改为how many pages
b.how to use 按钮的位置不合理,目前是处于how much pages后面,逻辑性不强。改善建议是将其放在整个界面的顶部,并且将其长度拉长,使用户第一眼看到的的就是我们的how to use
重新编写"how to use"button如下:
1.输入网址:在URL Seed中输入爬取的网址,可以输入多个网址(缺省为百度搜索);或者选择yes按钮后用Select File按钮选择包含多个URL地址的txt文件
2.输入关键词:在Keyword中输入即可(缺省为通常爬取)
3.输入爬取数:在How Many Pages中输入即可(无缺省,必须爬取)
4.爬取:点击Start按钮;爬取开始后可以暂停Pause和继续Continue
5.分析:点击Analyze按钮呈现网页分布饼状图
PS:
1.运行本爬虫软件需要连接指定服务器,服务器不是全天开启的,不连接服务器本软件无法正确运行。
2.本爬虫软件具有关键字搜索功能,并且可以展示爬取过程。
3.Keyword关键字搜索,可以通过输入关键字对爬取的网页进行过滤处理,只爬取带有关键字的网页(并进行排序,得到根据热度排列的相对最优结果);
4.由于爬取速度有限,建议爬取网页的数量不要输入太多。
5.当爬取成功网页数达到How Many Pages中输入的网页数量时,爬取过程将会停止。
6.analyze中的饼状图是对服务器中存有的所有网页进行分类分析;条形图是本次爬取中根据热度排列的结果。
c.or you can select the file按钮应放在第二模块的位置,即放在URL seed 下面,同时改名为or select the URL file(txt)。改动理由是这个模块与URL seed模块功能是一致的,同时其名字也应直接显示其功能
d.应统一所有按钮说明的单词写法,全部改为每个单词首字母大写。URL seed-> URL Seed,keyword->Keyword,how many pages->How Many Pages等
三、可靠性与安全性测试(测试人:李桐)
1、bug记录与描述:无
2 可靠性与安全性测试结果记录:
测试内容 | 要求 | 测试结果 |
爬取内容实时下载 | 在爬虫程序意外或者人为中断时,已经爬取到的HTML内容已经保存 | 实现 |
掉电 | 客户机掉电或强行关机后重启机器,不丢失数据。 | 实现 |
爬取内容找回 | 在意外删除或者人为删除爬取到的HTML内容时,能通过某些途径实时找回 | 未实现 |
安全性:
测试内容 | 要求 | 测试结果 |
数据库安全性 | 数据库对于用户而言仅有查询的权限而没有修改、删除等权限 | 实现 |
爬取到的信息的安全性 | 所爬取到的信息放在特定的路径内,只有指定用户可以提取 | 实现 |
综述与一些话:
我们没有进行bug bash。因为已经明确了分工与流程,我们“测试---反馈---修正”执行的也比较好,bug在不断地被发现并被更正,所以PM李桐认为并没有组织bug bash的必要。而且周末和最近一段时间我们在与C705组在解决数据库的连接问题,比较忙,所以没有进行bug bash,希望老师理解。
我们没有"Scenario testing",因为我们用户只有c705一组。。
我们也没做矩阵测试,因为只有这一个服务器一个数据库。。
总之,我们的alpha版本项目圆满完成,等待老师的验收。
还有bug仍然存在,我们会在beta版本中继续完善我们的项目。