第一章引言
1.1编写目的
本测试报告为newbe软工小组编写的爬虫程序Beta版本的测试报告,目的在于总结测试第二阶段开发任务的测试以及分析测试结果,描述系统是否符合此新版本的需求。本阶段我们的测试人员主要为(需要填写)。
1.2项目背景
我们小组的研究课题是:在已经完成的爬虫程序的基础上进行功能的拓展和优化,编写一个更实用的爬虫软件,编写时会应用到学长的部分代码并在其基础上完善创新。在此版本里,学长的代码所能给予我们借鉴的内容已经很少了,所以大体代码编写都是由组内成员自行完成。截止到发布为止,我组从以下几个方面着手进行改进和完善:
(需要填写)
第二章测试概要
系统Beta版本测试从2014年12月16日开始到2014年12月26日结束,共持续10天。测试功能点8个,执行812个测试用例,平均每个功能点执行测试用例101个,测试共发现56个bug,其中严重级别的bug 23个,无效bug 27个,非严重级别的bug 16个,平均每个测试功能点7个bug。
Beta版本为第二个测试版本,实现和测试都按预定计划完成。
2.1测试用例设计
此次测试严格按照项目计划和测试计划执行,按时完成了测试计划规定的测试对象的测试。针对测试计划的规定我们采用(等价类划分法,错误推测法和功能图分析法)对测试用例进行了设计。对规定的测试计划在测试执行中都有体现。依据测试计划和测试用例,对系统进行了完整的测试。
2.2测试用例属性
2.2.1功能性
系统实现的主要功能,包括:
a)通用型爬取: 输入种子网址以及需要爬取网页数,将所需网页分类添加到数据库中。
b)聚集型爬取: 输入关键词以及需要爬取网页数,将所需网页分类添加到数据库中。
c)综合型爬取: 输入种子网址、关键词以及需要爬取网页数,将符合条件的所有网页分类添加到数据库中。
d)问答页爬取: 输入需要爬取网页数,选择需要爬取的问答页面种类,将符合条件的所有问答页添加到数据库中。
系统实现的次要功能,包括:
a)显示当前爬取进度,显示当前爬取网页的地址以及数量。
b)通过图表实时展示当前爬取进度:包括已访问网页数、爬取成功网页数、爬取失败网页数、过滤网页数。
c)通过饼状图查询数据库中已存在的数据分布:包括网页、问答页、文章。
d)通过柱状图展示已爬取网页中TOP10热度的网页。
2.2.2 可靠性
操作按钮提示信息正确性,一致性,可理解性
输入方式可理解性
中文界面下数据语言与界面语言的一致性
2.2.3 可使用性
系统必须在实现用户需求的层次上实现比较稳定的运行。同时和用户的操作系统兼容,保证用户可以稳定地使用。
2.3测试环境与配置
2.3.1功能测试
数据库服务器配置 |
||||
机器名(IP) |
CPU |
内存 |
软件环境(操作系统、应用软件) |
|
219.224.191.25 |
2.67GHz |
4.00GB |
Windows server 2008 R2 Standard |
|
应用服务器配置 |
||||
机器名(IP) |
CPU |
内存 |
软件环境(操作系统、应用软件) |
|
219.224.191.25 |
2.67GHz |
4.00GB |
Windows server 2008 R2 Standard |
|
其他说明 |
无 |
|||
2.3.2性能测试
数据库服务器配置 |
||||
机器名(IP) |
CPU |
内存 |
软件环境(操作系统、应用软件) |
|
219.224.191.25 |
2.67GHz |
4.00GB |
Windows server 2008 R2 Standard |
|
应用服务器配置 |
||||
机器名(IP) |
CPU |
内存 |
软件环境(操作系统、应用软件) |
|
219.224.191.25 |
2.67GHz |
4.00GB |
Windows server 2008 R2 Standard |
|
其他说明 |
无 |
|||
第三章测试内容和执行情况
3.1项目测试概况表
项目测试概况表
项目版本 |
开始时间 |
结束时间 |
相关爬取方式覆盖率 |
用例数 |
用例通过数 |
问题数 |
用例通过率 |
|||
通用型爬取 |
聚集型爬取 | 综合型爬取 | 问答页爬取 |
个 |
个 |
个 |
% |
|||
2.00 |
2014.12.16 |
2014.12.19 |
√ | √ | √ |
130 |
127 |
3 |
96 |
|
2.01 |
2014.12.19 |
2014.12.22 |
√ | √ | √ | √ |
253 |
245 |
8 |
97 |
2.02 |
2014.12.22 |
2014.12.26 |
√ | √ | √ | √ |
429 |
416 |
13 |
98 |
3.2功能
功能测试情况概要
模块名称 |
开始时间 |
结束时间 |
用例数 |
用例通过数 |
问题数 |
用例通过率 |
个 |
个 |
个 |
% |
|||
UI界面基本功能测试 |
2014.12.16 |
2014.12.26 |
404 |
391 | 13 | 96 |
UI界面附加功能测试 |
2014.12.19 |
2014.12.26 |
214 |
209 | 5 | 98 |
爬取内容保存功能 |
2014.12.16 |
2014.12.22 | 194 | 188 | 6 | 97 |
3.2.1 UI界面基本功能测试
功能 |
基本要求 |
测试情况 |
测试通过 |
|
是 |
否 |
|||
URL接收 |
UI界面可以接收用户输入的URL |
功能实现 | √ | |
URL接收模式选择 | 用户可以根据自己的需求在UI界面内选择种子网站的输入模式(包括文本读入/直接输入) |
功能实现 |
√ | |
爬取方式选择 |
UI界面可以根据用户的选择进行不同方式的爬取:包括通用型爬取、聚集型爬取、综合型爬取、问答页爬取 | 功能实现 | √ | |
文本读入多种子 |
用户可以在UI界面内进行多种子seeds文件路径的选择 | 功能实现 | √ | |
爬取页面数量设定 |
用户输入所需要爬取的网页数量,当爬取的网页数目达到所设定的数目时停止爬虫程序。 | 功能实现 | √ | |
爬取关键字设定 |
UI界面可以接收用户输入的关键字 | 功能实现 | √ | |
暂停/继续爬取功能 | UI界面可以通过用户点击暂停或继续网页爬取进程 | 功能实现 | √ |
3.2.3 UI界面附加功能测试测试
通过饼状图查询数据库中已存在的数据分布:包括网页、问答页、文章。
d)通过柱状图展示已爬取网页中TOP10热度的网页。
功能 |
基本要求 |
测试情况 |
测试通过 |
|
是 |
否 |
|||
爬取页面URL显示 |
显示当前已经爬取过的页面的URL地址 |
功能实现 | √ | |
爬取页面数量 |
测试所能爬取页面的上限数量 | 功能实现 | √ | |
实时展示当前爬取进度 |
已访问网页数、爬取成功网页数、爬取失败网页数、过滤网页数的分布 |
功能实现 | √ | |
数据库中已存在的数据可视化 |
通过饼状图展示数据库中数据分布:包括网页、问答页、文章 | 功能实现 | √ | |
TOP10热度的网页的提取 |
通过柱状图展示已爬取网页中TOP10热度的网页 | 功能实现 | √ |
3.2.2 爬取内容保存功能测试
功能 |
基本要求 |
测试情况 |
测试通过 |
|
是 |
否 |
|||
存储爬取到的HTML |
爬虫程序结束后能在服务器上查看到所爬取到的HTML网页 |
功能实现 |
√ |
|
数据库填表 |
可以在数据库中查询所有已经爬取到的HTML的相关信息 |
功能实现 |
√ |
|
内容分类 |
根据所爬取到的信息的URL地址或者内容进行类型区别,并在数据库对应字段进行别分赋值 |
功能实现 |
√ |
3.3性能(效率)
性能测试情况概要
测试序号 |
URL地址/爬取方式 |
网页数目 |
测试时间(单位:毫秒) |
|
1 |
通用型爬取: http://ask.csdn.net |
500 |
59982 |
|
2 |
通用型爬取: http://en.wikipedia.org/wiki/Main_Page |
500 |
62783 |
|
3 |
通用型爬取:http://stackoverflow.com |
500 |
61279 |
|
4 |
通用型爬取:http://q.cnblogs.com |
500 |
59120 |
|
5 |
通用型爬取: http://www.dewen.io |
500 |
61280 |
|
6 |
通用型爬取:http://home.cnblogs.com/u/newbe |
100 |
66128 |
|
7 |
问答页爬取:全部quiz |
500 |
62323 |
|
8 | 问答页爬取:stackoverflow | 500 | 319238 | |
9 | 问答页爬取:搜狗问问 wenwen.sougou | 500 | 59283 | |
10 | 问答页爬取:百度知道 zhidao.baidu | 500 | 52738 | |
11 | 问答页爬取:德问 dwen | 500 | 56533 | |
12 | 问答页爬取:博问 q.cnblogs | 500 | 53723 | |
13 | 综合型爬取:http://www.csdn.net 关键词:computer science | 500 | 89430 | |
14 | 综合型爬取:http://www.baidu.com 关键词:programming language | 500 | 73182 | |
15 | 聚集型爬取: 关键词:programming language | 500 | 69013 | |
16 | 聚集型爬取: 关键词:computer science | 500 | 73218 |
3.3.1设备效率
序号 |
爬取数 |
CPU占用率(%) |
内存占用率(KB) |
1 |
10 |
2.13 |
17460 |
2 |
100 |
4.19 |
160878 |
3 |
1000 |
12.37 |
172768 |
4 |
10000 |
19.54 |
192911 |
5 |
100000 |
21.99 | 210932 |
3.3.3测试用例补充说明
序号 |
URL地址/爬取方式 |
极限测试网页数 |
|
1 |
通用型爬取: http://ask.csdn.net |
2000 | |
2 |
通用型爬取: http://en.wikipedia.org/wiki/Main_Page |
2000 | |
3 |
通用型爬取: http://stackoverflow.com |
2000 | |
4 |
通用型爬取: http://q.cnblogs.com | 2000 | |
5 |
通用型爬取: http://www.dewen.io |
2000 | |
6 |
通用型爬取: http://home.cnblogs.com/u/newbe |
2000 | |
7 |
问答页爬取:全部quiz |
150000 | |
8 | 问答页爬取:stackoverflow | 50000 | |
9 | 问答页爬取:搜狗问问 wenwen.sougou | 10000 | |
10 | 问答页爬取:百度知道 zhidao.baidu | 10000 | |
11 | 问答页爬取:德问 dwen | 10000 | |
12 | 问答页爬取:博问 q.cnblogs | 10000 | |
13 | 综合型爬取:http://www.csdn.net 关键词:computer science | 2000 | |
14 | 综合型爬取:http://www.baidu.com 关键词:programming language | 2000 | |
15 | 聚集型爬取: 关键词:programming language | 2000 | |
16 | 聚集型爬取: 关键词:computer science | 2000 |
3.4可靠性
测试内容 |
基本要求 |
测试情况 |
测试通过 |
|
是 |
否 |
|||
掉电 |
客户机掉电或强行关机后重启机器,不丢失数据。 |
实现要求 |
√ |
|
爬取内容实时下载 |
在爬虫程序意外或者人为中断时,已经爬取到的内容已经保存 |
实现要求 |
√ |
|
爬取内容分类 |
爬虫程序获取资源后进行恰当分类,以保证数据的合理可靠 |
实现要求 |
√ |
3.5安全性
测试内容 |
基本要求 |
测试情况 |
测试通过 |
|
是 |
否 |
|||
数据库安全性 |
数据库对于用户而言仅有查询的权限而没有修改、删除等权限 |
实现要求 | √ | |
爬取到的信息的安全性 |
所爬取到的信息放在特定的路径内,只有指定用户可以提取 | 实现要求 | √ |
3.6易用性
测试内容 |
基本要求 |
测试情况 |
测试通过 |
|
是 |
否 |
|||
易安装性 |
安装参数给出默认值或提示,需要用户干预的地方尽量少,操作方便。 |
实现要求 |
√ |
|
简易界面 |
在参考功能使用说明书的前提下,能很轻松的使用该程序 |
实现要求 |
√ |
|
操作简易 |
直接通过双击图标即可运行爬虫程序 |
实现要求 |
√ |
|
数据提取方便 |
通过重定向存储文件路径,用户可以更加方便的找到保存资源的文件路径 |
实现要求 |
√ |
第四章缺陷的统计与分析
缺陷类型 |
具体说明 |
原因分析 |
爬取信息类型 |
存储到数据库内的类型分为html、pdf和quiz | 由于用户需求的改变(海量问答页的获取),其它类型的网页不满足客户需求,所以没有进行下载设计 |
第五章测试结论
本版本的爬虫系统在多方面都进行一定的测试,相比于原来的版本,所花费的测试时间更多。大致进行的测试,包括内容总结如下:功能、可靠性、安全性、可使用性等方面进行了全面、严格、规范的测试。测试结果表明:爬虫达到业务需求文档中的要求,并具有以下特点:
1、系统架构清晰,且相比于原来的版本更加优化。
2、功能丰富度大幅提高,如果继续开发必须在对客户需求的充分了解的前提下进一步开发。
3、系统可靠性高,且相比于原来版本而言,分类更加明晰。对客户机掉电或强行关机后重启机器、网络异常中断。有完善的数据校验机制,对用户输入不符合要求的数据,给出了简洁、准确的提示信息,必要时给出了帮助。而同时,数据库内信息分类明晰,有利于用户合理调用数据库信息。
测试结论:通过。