本次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版本最终测试报告。html
1、功能测试部分(负责人:黄伟龙)java
1 bug记录与描述数据库
bug1:没法爬取出错页面apache
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)bash
bug现状:已解决服务器
解决时间:11.20ide
解决人:王骜性能
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 (阿里巴巴-百度口碑)
异常记录为(异常能够复现):
RankUrl@456ffab9
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,均可以正常进行搜索爬取,出现的异常都与
多网址搜索功能无关
2、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等
3、可靠性与安全性测试(测试人:李桐)
一、bug记录与描述:无
2 可靠性与安全性测试结果记录:
测试内容 | 要求 | 测试结果 |
爬取内容实时下载 | 在爬虫程序意外或者人为中断时,已经爬取到的HTML内容已经保存 | 实现 |
掉电 | 客户机掉电或强行关机后重启机器,不丢失数据。 | 实现 |
爬取内容找回 | 在乎外删除或者人为删除爬取到的HTML内容时,能经过某些途径实时找回 | 未实现 |
安全性:
测试内容 | 要求 | 测试结果 |
数据库安全性 | 数据库对于用户而言仅有查询的权限而没有修改、删除等权限 | 实现 |
爬取到的信息的安全性 | 所爬取到的信息放在特定的路径内,只有指定用户能够提取 | 实现 |
综述与一些话:
咱们没有进行bug bash。由于已经明确了分工与流程,咱们“测试---反馈---修正”执行的也比较好,bug在不断地被发现并被更正,因此PM李桐认为并无组织bug bash的必要。并且周末和最近一段时间咱们在与C705组在解决数据库的链接问题,比较忙,因此没有进行bug bash,但愿老师理解。
咱们没有"Scenario testing",由于咱们用户只有c705一组。。
咱们也没作矩阵测试,由于只有这一个服务器一个数据库。。
总之,咱们的alpha版本项目圆满完成,等待老师的验收。
还有bug仍然存在,咱们会在beta版本中继续完善咱们的项目。