本次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  (阿里巴巴-百度口碑)

异常记录为(异常可以复现):

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,都可以正常进行搜索爬取,出现的异常都与
多网址搜索功能无关

二、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版本中继续完善我们的项目。

团队作业 & alpha最终测试报告的更多相关文章

  1. 团队作业——Alpha冲刺

    团队作业--Alpha冲刺 时间安排及内容要求 时间 内容 11.1-11.16 12次 Scrum 11.16-11.20 测试报告 与 用户反馈 11.21-11.24 展示博客 11.25 课堂 ...

  2. 团队作业——Alpha冲刺 1/12

    团队作业--Alpha冲刺 Alpha 阶段认领的任务 杨光海天:加入随心摘首页和编辑界面的开发中,并完成冲刺博文的撰写 郭剑南.周琪文:图像识别核心算法的实现 赖志平:随心摘首页和编辑界面开发主力, ...

  3. 团队作业——Alpha冲刺2/12

    团队作业--Alpha冲刺 冲刺任务安排 杨光海天 今日任务:主要学习JAVA语言,以及加入了Android开发内容的学习. 明日任务:安装Android Studio以及通过观看视频和阅读材料的形式 ...

  4. 团队作业——Alpha冲刺 3/12

    团队作业--Alpha冲刺 冲刺任务安排 杨光海天 今日任务:完成Android开发环境的搭建,学习基础开发知识 明日任务:继续学习Android开发知识,与其他成员协商,了解自己需要完成的开发任务, ...

  5. 团队作业——Alpha冲刺 4/12

    团队作业--Alpha冲刺 冲刺任务安排 杨光海天 今日任务:着手进行编辑界面的布局,插入控件,并进行参数调整. 明日任务:继续完善编辑界面控件,学习控件交互功能. 郭剑南 今日任务:上网查阅学习了关 ...

  6. 团队作业——Alpha冲刺 5/12

    团队作业--Alpha冲刺 冲刺任务安排 杨光海天 今日任务:编辑界面完成部分内容,学习了下拉菜单控件的建立,完善界面标题内容,以及交互. 明日任务:继续完善编辑界面,学习使用gallery,着手配图 ...

  7. 团队作业——Alpha冲刺 6/12

    团队作业--Alpha冲刺 冲刺任务安排 杨光海天 今日任务:编辑界面完成标题栏的开发,以及与已经完成gallery开发的同学,商讨我负责的界面中,图片滑动的具体措施. 明日任务:除了图像识别内容嵌入 ...

  8. 团队作业——Alpha冲刺 7/12

    团队作业--Alpha冲刺 冲刺任务安排 杨光海天 今日任务:将编辑界面与标题栏合并.与同队成员,讨论部分功能合并的问题. 明日任务:编辑界面与另一队员完成的字体设置弹窗合并. 郭剑南 今日任务:使用 ...

  9. 团队作业——Alpha冲刺 8/12

    团队作业--Alpha冲刺 冲刺任务安排 杨光海天 今日任务:将编辑界面与其中字体设置的弹窗合并,学习Android控件交互. 明日任务:希望完成编辑界面所有接口交互的功能. 郭剑南 今日任务:使用P ...

随机推荐

  1. K2 4.7 升级 数据库排序规则更改

    介绍 在过去,K2没有指定安装过程中要在其数据库上使用的标准排序规则.然而,现在K2引入了标准排序规则,以便在之后使用(如果我没有错的话,它是在4.7). 因此, 问题出现在数据库的排序规则不是Lat ...

  2. CANopen和DeviceNet有何异同

    >> 欢迎您,客人: 登录 | 注册 | 忘记密码 | 在线 | 搜索 | 帮助   DND开发论坛 ◇ DeviceNet技术讨论区 ◇ [返回] [讨论]CANopen和DeviceN ...

  3. 非const引用参数传入不同类型编译不过的理解(拒绝将临时对象绑定为非const的引用的形参是有道理的)

    int f (int & I) { cout<<I<<std::endl; } void main() { long L; f(L); // 编译不过 f((int)L ...

  4. C语言学习记录_2019.02.12

    "学计算机一定要有一个非常强大的心理状态,计算机不是黑魔法,都是人想出来的,别人能够想的出来,那么,总有一天,我也能够想的出来." 指针类型的变量就是保存地址的变量. int* p ...

  5. es6 用generator进行异步方法同步

    可以把以下代码复制到html文件中用chrome执行,或者用nodejs执行 function async1(chain) { setTimeout(function(){ chain.next('a ...

  6. 20155217 2016-2017-2 《Java程序设计》第7周学习总结

    20155217 2016-2017-2 <Java程序设计>第7周学习总结 教材学习内容总结 第十三章 13.1认识时间与日期 13.1.1时间的度量 1.格林威治标准时间(GMT):常 ...

  7. 一维码UPC E简介及其解码实现(zxing-cpp)

    UPC(Universal Product Code)码是最早大规模应用的条码,其特性是一种长度固定.连续性的条  码,目前主要在美国和加拿大使用,由于其应用范围广泛,故又被称万用条码. UPC码仅可 ...

  8. 5322: [Jxoi2018]排序问题

    5322: [Jxoi2018]排序问题 链接 分析: 每次选一个出现次数最小的. 代码: #include<cstdio> #include<algorithm> #incl ...

  9. Python distribute到底使用package_data还是MANIFEST.in?

    今天看Flask的文档,里面提到如何通过distribute发布你自己的Python包.讲包含文件的时候,提到要用MANIFEST.in并将include_package_data设置为True. 由 ...

  10. 动态加载与插件系统的初步实现(一):反射与MEF解决方案

    涉及内容: 反射与MEF解决方案 AppDomain卸载与代理 WinForm.WcfRestService示 PRRT1: 反射实现 插件系统的基本目的是实现宿主与组件的隔离,核心是作为接驳约定的接 ...