软件测试设计报告案例QQ空间
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
QQ空间 (1)
1.1 QQ空间系统概述 (3)
1.1.1系统功能 (3)
1.1.2系统的体系结构 (4)
1.1.3开发环境 (5)
1.2 QQ空间系统测试计划 (5)
1.2.1测试需求 (5)
1、功能测试 (5)
2、性能测试 (5)
3、兼容性测试 (5)
1.2.2测试资源 (5)
1、人力资源 (5)
2、测试环境 (6)
3、测试工具 (6)
4、文档资料 (6)
1.2.3测试策略 (6)
1、功能测试 (6)
2、性能测试 (7)
3、用户界面测试 (8)
4、安全性测试 (9)
5、兼容性测试 (9)
1.2.4测试标准 (9)
1、测试特性 (9)
2、输出准则 (9)
3、缺陷严重级别定义 (9)
1.3 QQ空间系统功能测试 (9)
1.3.1登陆模块的测试 (9)
测试用例设计 (10)
2、录制的测试脚本 (13)
3、执行测试 (14)
4、测试结果 (14)
1.3.2相册模块测试 (14)
1、测试用例设计 (14)
2、执行测试 (16)
3、测试结果 (16)
1.3.3个人档模块测试 (16)
1、测试用例设计 (17)
2、执行测试 (19)
3、测试结果分析 (19)
1.3.4日志模块测试 (19)
1、测试用例设计 (20)
2、执行测试 (26)
3、测试结果分析 (26)
1.3.5测试 (27)
1.4 QQ空间系统性能测试 (28)
1.4.1测试用例设计 (29)
1.4.2测试环境 (32)
1.4.3测试执行 (32)
1.4.4测试结果分析 (33)
1.1 QQ空间系统概述
1.1.1系统功能
本次实验要进行测试的是一个功能强大的QQ空间系统。
系统的主页如右图所示:。
系统包括以下功能模块:
(1)日志模块:撰写和发表日志。
(2)撰写说说模块:发表说说。
(3)相册管理模块:支持多相册功能,可将相册分类收藏,可以上传照片,创建相册,同时可以上传视频和制作个性相册等功能。
(4)音乐盒模块:可以收藏音乐,可以管理我的音乐盒里的音乐等。
(5)个人档管理模块:修改自己的个人信息。
(6)留言板模块:查看留言和对留言进行回复。
(7)用户模板:提供用户制定功能,打造个性,设置自己喜欢的风格。
1.1.2系统的体系结构
QQ空间系统为典型的B/S结构。
客户端都是通过浏览器访问应用系统。
Web服务器为Apache,浏览器和Web服务器之间基于HTTP协议。
系统的体系结构如下图:
1.1.3开发环境
本qq空间系统开发的软件环境如下:
(1)操作系统:windows 7
(2)Web服务器:Apache
(3)数据库:MYSQL
(4)开发语言和工具:PHP+Zend+PHPWIND
(5)浏览器:IE8.0
1.2 QQ空间系统测试计划
1.2.1测试需求
此系统属于一般类型的应用软件,各功能正常使用,系统响应比较快,运行稳健,能满足多人正常使用。
此系统用户可以建立个人主页(发表日志,发表说说,相册管理,音乐盒管理,个人档管理等)。
此次测试的目的就是检查核心模块功能是否正常,验证系统性能是否满足应用需求。
这次测试的具体容如下:
1、功能测试
在功能测试中,重点测试的是登录模块、发表日志模块、个人档管理模块、相册管理模块。
2、性能测试
在性能测试中,需要测试不同负载下系统的表现,并获得系统的响应能力、负载能力、吞吐量和资源利用率等性能指标。
3、兼容性测试
IE浏览器,360浏览器,搜狗浏览器,火狐浏览器,傲游浏览器都可以兼容运行。
1.2.2测试资源
1、人力资源
2、测试环境
(1)硬件设备:1台PC机
(2)软件环境。
操作系统:windows 7
WEB服务器:IE浏览器
(3)网络环境:学校部的以太网,与服务器的连接速率为2M—10M。
3、测试工具
4、文档资料
暂无。
1.2.3测试策略
1、功能测试
功能测试的目的是保证系统的功能正常,例如数据输入是否正确。
对交互的输出或结果进行分析,以核实应用程序的功能。
重点测试的是登录模块、发表日志模块、个人档管理模块、相册管理模块,测试策略见
下表:
登录模块测试策略
相册模块测试策略
个人档模块测试策略
发表日志模块测试策略
2、性能测试
性能测试主要是对响应时间、事务处理速率和其他与时间有关的需求进行评测和核实监测系统性能是否都以满足。
在本次的性能测试中,主要是进行并发性能测试。
本次测试的是登录模块、发表日志模块、个人档管理模块、相册管理模块,测试策略见下表:
登录模块并发性能测试
相册模块并发性能测试
人档模块并发性能测试
发表日志并发性能测试
3、用户界面测试
1.2.4测试标准
1、测试特性
功能性(50%)、效率(35%)、可靠性(5%)、可维护性(10%)
2、输出准则
(1)文档:系统测试说明、系统测试报告。
(2)覆盖率:计划测试覆盖率100%,执行测试覆盖率99%。
(3)功能质量目标:缺陷遗留数:严重缺陷0个,较严重缺陷1个,一般缺陷3个,次要缺陷7个。
(4)性能质量目标:
3、缺陷严重级别定义
严重缺陷:不能执行正常工作功能或重要功能,是系统崩溃或资源严重不足。
例如由程序引起的死机。
较严重缺陷:严重的影响系统要求或基本功能的实现,且没办法更正。
例如功能与需求不符、程序接口错误等。
一般错误:严重地影响系统要求或基本功能的实现,但存在合理的更正办法。
例如界面错误,输出容及打印格式错误等。
次要错误:使操作者不方便或遇到麻烦,但不影响执行工作或功能实现。
例如辅助说明描述不清楚,显示格式不规等。
1.3 QQ空间系统功能测试
1.3.1登陆模块的测试
登录模块的界面如下图所示。
另外,中还有一个单独的登录页面,其测试方法与当前这个登录模块的测试方法基本一样。
下面对主页面上的登录模块进行功能测试。
登陆界面
测试脚本
测试用例设计
根据登录操作的特点,采用边界值方法和等价类设计测试用例。
登录个人主页的测试用例如下所示:
登录QQ空间测试用例
2、录制的测试脚本
Browser("QQ空间-分享生活,留住感动").Page("QQ空间-分享生活,留住感动").WebElement("QQ密码").Click
Browser("QQ空间-分享生活,留住感动").Page("QQ空间-分享生活,留住感动").WebEdit("p").Click Browser("QQ空间-分享生活,留住感动").Page("QQ空间-分享生活,留住感动").WebEdit("p").SetSecure "4fa2627e36575965be836f241735534a6348cdf0579********ceeeaeb15"
Browser("QQ空间-分享生活,留住感动").Page("QQ空间-分享生活,留住感动").WebButton("登录").Click Browser("QQ空间-分享生活,留住感动").Page("绿叶[874734249.qzone.qq.").Link("[退出]").Click
Browser("QQ空间-分享生活,留住感动").Dialog("Microsoft Internet Explorer").WinButton("确定").Click
3、执行测试
分别运行测试脚本,获得测试结果。
脚本在测试过程中我无法进行参数化,咨询过老师后,发现是该系统自身的问题,所以功能测试中没有用到参数化。
由于用户名和密码有些是不正确的,因此不能正常登录。
对于不能正常登录的情况,系统都将做出相应回应。
通过自动化测试,不难看出自动化测试的好处:提高执行效率,并可避免人工进行繁琐数据输入,而且可以避免人为的一些错误。
除了通过自动化测试脚本进行测试除外,我们还补充了一些必要的手工测试。
手动测试就是直接按照测试用例的要求,输入测试数据,观察运行的结果与预期结果的异同,以判断测试是否通过。
4、测试结果
通过手动测试和自动化测试,未发现登陆界面有系统的缺陷……
1.3.2相册模块测试
此模块主要测试上传照片和创建相册两个子模块。
采用场景测试法进行测试。
1、测试用例设计
使用场景法进行测试时必须首先分析出北侧的对象及基本事务流和备选事务流。
(1)上传照片模块开始是进入相册管理。
上传照片包括6个基本步骤:
1》点击“上传照片”
2》点击“添加照片”
3》选择照片
4》选择图片专辑
5》点击“上传照片”
6》点击“完成”
这五步依次正确操作便形成了基本事务流。
在该模块中有两条备选事务流,分别是:
1》备选流一:在基本流4》中,添加相册。
有两种情况:一是未创建相册,无相册可选,需要添加相册;二是已有相册,准备另外添加新相册。
2》备选流二:在基本流5》中,网络速度太慢,导致传输错误。
从基本流开始,将基本流和备选流结合起来,可以确定如下用例场景:
场景1:基本流
场景2:基本流,备选流一
场景3:基本流,备选流二
由场景生成测试用例是通过确定某个特定条件来完成的,这个特定条件将导致特定用例场景的执行。
根据上面的场景设计测试用例,如下表:
上传照片测试用例
(注:白盒测试:是通过程序的源代码进行测试而不使用用户界面。
这种类型的测试需要
从代码句法发现部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。
黑盒测试:是通过使用整个软件或某种软件功能来严格地测试, 而并没有通过检查程序
的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。
测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。
在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序部结构和部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收和正确的输出)
(2) 创建相册模块开始是进入相册管理。
创建相册模块包括7个基本步骤:
1》点击“创建相册”
2》填写相册名称
3》填写相册描述
4》选择分类
5》选择空间权限
6》选择朋友们的权限
7》点击确定
这七步依次正确操作便形成了基本事务流。
在该模块中有一条备选事务流,其是:
1》备选流一:在基本流2》中,相册名称为空。
由场景生成测试用例是通过确定某个特定条件来完成的,这个特定条件将导致特定用例场景的执行。
根据上面的场景设计测试用例,如下表:
创建相册测试用例
2、执行测试
该模块采用手动方式执行测试。
根据各个测试用例的说明,一次执行每个测试用例,得出测试结果。
3、测试结果
执行每个测试用例之后,未发现缺陷。
上传照片功能和创建相册功能正常。
1.3.3个人档模块测试
个人档模块的页面如下所示。
在该页面包括空间动态、兴趣爱好、个人资料三个模块,可以对任何模块下的容进行修改。
个人档模块中可以查看和修改空间动态、兴趣爱好、个人资料等容,有的需要点击保存来提交修改容。
在该模块中重点是填写资料和兴趣爱好,因此重点对填写的个人资料、兴趣爱好进行测试。
个人资料的测试包括下拉列表框、文本框的测试。
兴趣爱好的测试包括对按钮、文本框的测试。
1、测试用例设计
根据页面中各组件的特点,选择合适的测试方法和测试策略,分别设计测试用例。
1)文本框
对文本框的测试,可以从以下几个方面进行考虑:
(1)文本框是否对输入的字符数有特别限定,若与特别限定条件不符,是否会给出提示。
(2)文本框是否可以为数字、汉字、英文字符和特殊字符,中间是否可以有空格,标点符号等。
(3)文本框是否能正常使用功能件和快捷键。
个人档修改页面中有多个文本框,下面将昵称文本框为例进行测试。
昵称文本框测试用例
项目名称昵称模块测试项目编号
开发人员XXX 模块名称修改昵称
用例作者过慈强参考信息需求规格说明书、设计说明书
列表框控件的测试可以从以下几个方面进行考虑:
(1)条目容正确,根据需求规格说明书确定列表的各项容正确,没有丢失或错误。
(2)列表框的容较多时要使用滚动条
(3)列表框允许多选时,要分别检查Shift选中条目,按Ctrl选中条目和直接用鼠标选中多项条目的情况。
个人档修改页面中有多个列表框,下面现居地列表框为例进行测试。
现居地列表框中有多项条目,且不允许多选。
为现居地列表框设计测试用例。
现居地列表框测试用例
2、执行测试
个人档模块的测试采用手动测试和自动化测试相结合的方式。
对单个组件的测试采用手动测试,对修改页面中各组件进行组合测试时,采用自动化测试方法。
手动测试时按要求依次执行各测试用例,并记录测试结果。
采用自动化测试时,首先要录制脚本,然后采用参数化和插入检查点的方法增强脚本,随后执行测试脚本,分析测试结果。
3、测试结果分析
执行了个人档模块的各测试用例后,未发现缺陷。
1.3.4日志模块测试
发表日志(旧版编辑器)的页面如下图所示。
在该页面包括文本输入框、单选按钮、复选框、下拉列表框、文本编辑工具、权限和发表日志按钮等。
发表日志模块中需要填写的相关容,并点击发表日志按钮来提交日志容。
在该页面的重点是填写表单和表单的提交,因此重点对表单进行测试。
表单的测试包括单选按钮、复选框、文本框、菜单项、工具条、按钮等的测试和后台数据库的测试。
下面针对该页面的特点设计测试用例。
1、测试用例设计
根据页面中各组件的特点,选择合适的测试方法和测试策略,分别设计测试用例。
1)文本框
对文本框进行测试,可以从以下几个方面进行考虑:
(1)文本框是否对输入的字符数有特别的限定,若与限定条件不符,是否会给出提示。
(2)文本框是否可以为数字、汉字、英文字符和特殊字符,中间是否可以有空格,标点符号等。
(3)文本框中是否能正常使用功能键和快捷键。
下面为日志标题文本框设计测试用例
日志标题文本框测试用例
128个英文字母
12 129个英文字母无法输入多
于128个字
节无法输入多于
128个字节
P
13 129个汉字无法输入多
于128个字
节无法输入多于
128个字节
P
14 鼠标在文本框中,按
一次Tab键
切换到
上
Tab键功能正常P
15 在文本框中使用
delete键Delete键功
能正常
Delete键功能正
常
P
16 在文本框中使用
Ctrl+C键能拷贝文本
框中的容
拷贝键功能正常P
17 在文本框中使用
Ctrl+V键能将拷贝的
容粘贴到文
本框中
粘贴键功能正常P
18 在文本框中单击鼠
标光标移动到
单击位置
鼠标功能正常P
19 在文本框中双击鼠
标文本框中的
容被选中
鼠标功能正常P
20 在文本框中使用左
箭头光标随着箭
头向左移动
左箭头功能正常P
21 在文本框中使用右
箭头光标随着箭
头向右移动
右箭头功能正常P
对单选按钮的测试可以从以下几个方面进行考虑:
(1)逐一执行每个单选按钮的功能。
(2)一组单选按钮不能同时选中,只能选中一个。
(3)一组执行同一功能的单选按钮在初始状态时必须有一个被默认选中,不能同时为空(4)单选按钮上功能键和快捷键是否正常
信纸单选按钮。
设计测试用例如下:
信纸单选按钮测试用例
项目名称发表日志模块测试项目编号
开发人员模块名称发表日志
用例作者过慈强参考信息需求规格说明书、设计说明书
测试类型功能测试设计日期2013-5-5 测试人员过慈强测试方法手工(黑盒测试)测试日期2013-5-5
测试对象信纸单选按钮
前置条件用户正常登录,对于下面各测试用例,在日志标题栏填写“Web测试”,在文章容栏填写“Web系统测试”
用例编号输入数据/操作预期结果实际结果测试状态(P/F)
1 选择第一个单选按第一个单选第一个单选按钮P
钮按钮被选中被选中;文本编
辑背景被替换为
图片
2 选择第二个单选按
钮
第二个单选
按钮被选中
第二个单选按钮
被选中;文本编
辑背景被替换为
图片
P
3 选择第三个单选按
钮
第三个单选
按钮被选中
第三个单选按钮
被选中;文本编
辑背景被替换为
图片
P
4 选择第四个单选按
钮
第四个单选
按钮被选中
第四个单选按钮
被选中;文本编
辑背景被替换为
图片
P
5 选择第一个单选按
钮,然后选择第三个
第三个单选
按钮被选中
第三个单选按钮
被选中;文本编
辑背景被替换为
图片
P
6 一个都不选缺省状态下,
默认信纸为
白纸
文本编辑背景为
白纸
P
3)复选框
对复选框的测试可以从以下几个方面进行考虑:
(1)多个复选框可以被同时选中
(2)多个复选框可以被部分选中
(3)多个复选框可以都不被选中
(4)逐一执行每个复选框的功能
下面对发表日志页面中的复选框设计测试用例,如下表
复选框测试用例
项目名称发表日志模块测试项目编号
开发人员模块名称发表日志
4)列表框
列表框控件的测试可以从以下几个方面进行考虑:
(1)条目容正确,根据需求规格说明书确定列表的各项容正确,没有丢失或错误。
(2)列表框的容较多时要使用滚动条
(3)列表框允许多选时,要分别检查Shift选中条目,按Ctrl选中条目和直接用鼠标选中多项条目的情况。
发表日志页面中有多个列表框,下面以权限列表框为例进行测试。
权限列表框中有项条目,且不允许多选。
为权限列表框设计测试用例。
权限列表框测试用例
下面对发表日志页面进行组合测试,设计的测试用例如下:
发表日志测试用例
注:由于各控件组合的情况太多,限于篇幅,在此只列出其中一部分测试用例。
5)文本编辑工具条和文本格式工具条
在发表日志页面的文章编辑中,提供了文本编辑的常用工具条和文本格式工具条。
我们可以根据各工具项的功能和特点进行测试。
比如居中,可以先输入文本,然后点击居中按钮,检查文本是否居中;也可以先点击居中按钮,检查光标是否居中;也可以选中文本,然后点击居中按钮,检查文本是否居中。
其他工具条的功能测试不再赘述。
6)插入附件
在发表日志时可以插入附件。
而附件描述对话框的测试方法与日志标题文本框的测试方法类同。
对于附件容的测试可以从以下几个方面进行考虑:
(1)插入附件时能否打开本地磁盘上的所有文件夹,能否选择符合条件的文件。
(2)附件类型和大小符合要求,能否插入附件。
(3)附件类型不符合要求,是否给出提示。
(4)附件大小超过指定要求,是否给出提示。
7)各种控件在窗体中混合使用时的测试
2、执行测试
发表日志模块的测试采用手动测试和自动化测试相结合的方式。
对单个组件的测试采用手动测试,对发表日志页面中各组件进行组合测试时,采用自动化测试方法。
手动测试时按要求依次执行各测试用例,并记录测试结果。
采用自动化测试时,首先要录制脚本,然后采用参数化和插入检查点的方法增强脚本,随后执行测试脚本,分析测试结果。
3、测试结果分析
执行了发表日志模块的各测试用例后,未发现缺陷。
1.3.5测试
是web应用系统的一个主要特征,它是在页面之间切换和引导用户去一些未知地址页面的主要手段。
1、测试原理
测试的原理是:从待测的根目录开始搜索所有的网页文件,对所有网页文件中的超级、图片文件、包含文件、CSS文件、页面部等所有连接进行读取。
如果文件不存在、指定文件不存在或者是指定页面不存在,则将该和所处的集体位置记录下来。
如果发现被测试有页面既没有连接到其他资源也没有被其他资源,则可以判定该页面为孤立页面,将该页面添加到孤立页面记录中。
2、空间的测试
使用Xenu Link Sleuth,进入其主界面,输入地址进行测试。
测试完毕后,可以过Report 得到测试报告。
测试过程中发现1个错误,错误提示和测试界面如图所示:
Xenu执行完毕测试后,会自动生成测试报告,测试报告中会列出个的URL,并分析中的情况,给出测试结果。
本次测试的结果如下图所示:
1.4 QQ空间系统性能测试
性能测试就是模拟大量用户对软件系统的各种操作,获取系统和应用的性能指标,分析软件是否满足用户的需求。
性能需求的特点决定了我们不可能完全采用传统的手工方式完成,必须借助于自动化测试工具来实现。
自动化测试工具具有以下特点和优势:
(1)通过使用虚拟用户代替实际用户来减少测试人员数量上的要求。
虚拟用户模拟实际用户行为,运行实际的应用程序。
(2)一台计算机上可以运行多个虚拟用户,因此减少了硬件设备的需求。
(3)可以是测试人员从一个单一的控制点简单有效地控制所有虚拟用户。
(4)在测试过程中会自动记录应用程序的性能。
测试人员可以从众多图表和报告中进行选
择以查看性能数据。
本系统采用HP-Mercury 公司的LoadRunner 性能测试工具进行性能测试。
LoadRunner 的测试流程如下:
1) 制定测试计划
在任何类型的测试中,测试计划都是必要的步骤。
测试计划是进行成功的负载测试的关键。
在任何类型的测试的第一步都是制定比较详细的测试计划。
测试计划中要重点分析系统的性能需求,并确定性能测试容。
2) 开发测试脚本
LoadRunner 使用虚拟用户的活动模拟真实用户来操作Web 应用程序,而虚拟用户的活动就包含在测试脚本中,所以说测试脚本对于测试来说是非常重要的。
开发测试脚本要使用VuGen 组件。
测试脚本要完成的容: (1)创建每一个虚拟用户的活动。
(2)定义事务。
(3)设定集合点。
(4)插入检查点。
3) 创建场景
场景描述在测试活动中发生的各种事件。
一个场景包括一个运行虚拟用户活动的压力机器(Load Generator )列表,一个测试脚本的列表以及大量的虚拟用户和虚拟用户组。
我们使用LoadRunner 中的Controller 来创建场景。
在创建测试场景之前需要设计出合理的测试场景,以便更真实地模拟用户使用软件系统的情况。
4) 运行测试
一切配置妥当即可开始运行测试。
5) 监视场景
在运行测试的过程中,需要监视各个服务器的运行情况(数据库服务器、Web服务器等)和客户端的情况,获取各项性能指标。
件事各项性能指标可通过添加性能计数器来实现。
6)分析测试结果
我们需要分析大量的图表,生成各种不同的报告,最后得出结论,并对系统性能作出评价。
下面按照性能测试的流程详细介绍QQ空间的性能测试过程。
1.4.1测试用例设计
登录模块测试用例
上传照片测试用例
创建相册测试用例
个人档测试用例
发表日志测试用例
(3)发表日志(带1MB大小的附件)测试用例
发表带附件的日志测试用例
组合业务测试用例
1.4.2测试环境
性能测试软/硬件配置
1.4.3测试执行
执行测试场景
注:得出的测试数据见上面计划中表格
1.4.4测试结果分析
由上面测试结果数据可知,随着并发事件数量的增加,响应时间明显越来越慢,超过
一定数量时,系统将无法接受,但是由于试验了条件有限,暂时没有测出其限制具体数量。