本次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. 443 B. Table Tennis

    http://codeforces.com/contest/879/problem/B n people are standing in a line to play table tennis. At ...

  2. http协议中的keeplive是做什么的?它的适应场景是什么?

    1.Http底层也是通过TCP传输的. 2.HTTP keep-alive Http是一个”请求-响应”协议,它的keep-alive主要是为了让多个http请求共享一个Tcp连接,以避免每个Http ...

  3. Linux文件系统测试工具

    一.文件系统测试工具简介 1.LTP 参考网站:http://oss.sgi.com/projects/ltp/ LTP(Linux Test Project)是由SGI和IBM联合发起的项目,提供一 ...

  4. bootstrap-treeview使用

    1.数据 var tree = [{ text: "车型A", nodes: [{ text: "车系1", }, { text: "车系2" ...

  5. Delphi XE7调用C++动态库出现乱码问题回顾

    事情源于有个客户需使用我们C++的中间件动态库来跟设备连接通讯,但是传入以及传出的字符串指针格式都不正确(出现乱码或是被截断),估计是字符编码的问题导致.以下是解决问题的过程: 我们C++中间件动态库 ...

  6. [BZOJ1974][SDOI2010]代码拍卖会[插板法]

    题意 询问有多少个数位为 \(n\) 的形如 \(11223333444589\) 的数位值不下降的数字在\(\mod p\) 的意义下同余 \(0\). $n\leq 10^{18} ,p\leq ...

  7. CentOS7.4 部署 Django + Python3 + Apache + Mod_wsgi

    安装环境 Remote: CentOS 7.4 x64 (django.example.com) Python: Python3.6.5 Apache: Apache 2.4.6 Mod_wsgi: ...

  8. Struts 2 访问Servlet API的方式

    与Servlet API解耦的访问方式 与Servlet API耦合的访问方式 (tips:耦合既依赖) 1.    与Servlet API解耦的访问方式 2.     与Servlet API耦合 ...

  9. nodejs学习笔记(3)

    在看了Node8的特性后的总结,后续慢慢补充. 主要是针对一些编码规范,Node的v8引擎由于不同于其他语言的解析策略,因此需要注意一些特殊的方面. 1.try/catch使用对代码运行性能影响明显, ...

  10. Python中的注释

    1.1 注释的目的 通过用自己熟悉的语言,在程序中对某些代码进行标注说明,这就是注释的作用,能够大大增强程序的可读性. 1.2 注释的分类 1.2.1 单行注释 以#开头,#右边的所有东西当做说明,而 ...