软件测试实训报告.docx
《软件测试实训报告.docx》由会员分享,可在线阅读,更多相关《软件测试实训报告.docx(21页珍藏版)》请在冰豆网上搜索。
![软件测试实训报告.docx](https://file1.bdocx.com/fileroot1/2023-1/5/2b9a4f96-9fde-405c-9116-c3835f2cf472/2b9a4f96-9fde-405c-9116-c3835f2cf4721.gif)
软件测试实训报告
Documentserialnumber【UU89WT-UU98YT-UU8CB-UUUT-UUT108】
软件测试实训报告
河南理工大学软件学院
软件测试
实训报告
专业班级计软1503
学号
学生姓名张向伊
2016年1月4
一、引言
随着计算机应用领域的不断扩大,所处理的问题也越来越复杂。
最初,人们用处理简单问题的一些方法去处理日益复杂的问题。
因此,软件危机出现了。
而软件产品质量则成为开发者和用户最关心的问题。
软件测试能够有效地帮助开发者及时发现程序中的错误或缺陷,及时改正,避免软件产品由于存在某种程度的缺陷造成不必要的损失以至影响产品的最终质量。
为了给用户提供一个高质量的可靠性强的软件产品,软件测试人员必须从纵向和横向两个方面对系统的各个模块进行深入的分析测试,以便能够准确及时地发现程序中存在的缺陷和错误。
软件测试是一项非常复杂的系统工程,从不同的角考虑可以有不同的划分方法。
按是否执行程序分为静态测试和动态测试。
按程序开发阶段分为单元测试、集成测试、系统测试、验收测试、回归测试、ALPHA测试和BETA测试。
按测试方法分为黑盒测试、白盒测试和灰盒测。
按测试目的分为功能测试、性能测试、压力测试、安全性测试、兼容性测试等等。
因此,为了更好的明确测试的过程,了解测试究竟要完成哪些工作,我们首先要掌握这些软件测试方法和技术。
在本次综合实践中,我们小组选择了评分管理系统作为测试对象。
目的是通过对评分管理系统的测试来发现程序中存在的缺陷以及修正错误的建议,来提高程序的应用率,为用户提供一个方便、安全、实用的产品。
同时把所学知识与实际相结合起来应用,来提高软件测试本领,为以后的软件测试工作积累经验。
二、软件测试技术基础
1.软件测试技术
软件测试技术多种多样,我们可以结合实际环境选择与使用,在此介绍两种测试技术:
黑盒测试和白盒测试。
黑盒测试:
已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。
黑盒测试意味着测试要在软件的接口处进行。
这种方法是把测试对象看作一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。
因此黑盒测试又叫功能测试或数据驱动测试。
黑盒测试主要是为了发现以下几类错误:
(1)是否有不正确或遗漏的功能
(2)在接口上,输入是否能正确的接受能否输出正确的结果
(3)是否有数据结构错误或外部信息(例如数据文件)访问错误
(4)性能上是否能够满足要求
(5)是否有初始化或终止性错误
白盒测试:
已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。
白盒测试是对软件的过程性细节做细致的检查。
这种方法是把测试对象看作一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。
通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。
因此白盒测试又称为结构测试或逻辑驱动测试。
白盒测试主要是想对程序模块进行如下检查:
(1)对程序模块的所有独立的执行路径至少测试一遍。
(2)对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。
(3)在循环的边界和运行的界限内执行循环体。
(4)测试内部数据结构的有效性,等等。
只对软件进行外部测试的话会有很多内部程序路径没有被测试到;不能直接针对特定的程序段进行深入测试因此可能会隐藏很多的问题。
而与此类测试技术可以互补的正是白盒测试。
所以黑盒测试和白盒测试应该结合起来使用。
这样才能更好的保证程序的安全性。
2.软件测试终止标准
软件测试是以最少的时间和人力找出软件中潜在的各种错误和缺陷为目的的。
软件测试对于不同的立场,存在着不同的意义。
从用户的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可以接受该产品。
而从软件开发者的角度出发,则希望测试系统成为表明软件产品中不存在错误的过程,验证该软件已正确地实现了用户的要求,确立人们对软件质量的信心。
三、测试对象
1.系统功能
本次实验要进行测试的是一个功能强大的QQ空间系统。
系统包括以下功能模块:
(1)日志模块:
撰写和发表日志。
(2)撰写说说模块:
发表说说。
(3)相册管理模块:
支持多相册功能,可将相册分类收藏,可以上传照片,创建相册,同时可以上传视频和制作个性相册等功能。
(4)音乐盒模块:
可以收藏音乐,可以管理我的音乐盒里的音乐等。
(5)个人档管理模块:
修改自己的个人信息。
(6)留言板模块:
查看留言和对留言进行回复。
(7)用户模板:
提供用户制定功能,打造个性,设置自己喜欢的风格。
2.开发环境
本qq空间系统开发的软件环境如下:
(1)操作系统:
windows7
(2)Web服务器:
Apach
(3)数据库:
MYSQL
(4)开发语言和工具:
PHP+Zend+PHPWIND
(5)浏览器:
IE
四、测试计划
1.测试需求
此系统属于一般类型的应用软件,各功能正常使用,系统响应比较快,运行稳健,能满足多人正常使用。
此系统用户可以建立个人主页(发表日志,发表说说,相册管理,音乐盒管理,个人档管理等)。
此次测试的目的就是检查核心模块功能是否正常,验证系统性能是否满足应用需求。
这次测试的具体内容如下:
功能测试
在功能测试中,重点测试的是登录模块、相册管理模块。
性能测试
在性能测试中,需要测试不同负载下系统的表现,并获得系统的响应能力、负载能力、吞吐量和资源利用率等性能指标。
兼容性测试
IE浏览器,360浏览器,搜狗浏览器,火狐浏览器,傲游浏览器都可以兼容运行。
2.测试资源
测试人员
测试环境
(1)硬件设备:
1台PC机
(2)软件环境。
操作系统:
windows7
WEB服务器:
IE浏览器
(3)网络环境:
学校内部的以太网,与服务器的连接速率为2M—10M。
测试工具
五、测试方案
1.功能测试
功能测试的目的是保证系统的功能正常,例如数据输入是否正确。
对交互的输出或结果进行分析,以核实应用程序的功能。
重点测试的是登录模块、相册管理模块,测试策略见下表:
2性能测试
性能测试主要是对响应时间、事务处理速率和其他与时间有关的需求进行评测和核实监测系统性能是否都以满足。
在本次的性能测试中,主要是进行并发性能测试。
本次测试的是登录模块、发表日志模块、个人档管理模块、相册管理模块
测试策略见下表:
六、测试用例设计及其缺陷报告
1.登陆模块的测试
测试用例设计
根据登录操作的特点,采用边界值方法和等价类设计测试用例。
登录个人主页的测试用例如下所示:
登录QQ空间测试用例
项目名称
登录QQ空间主页测试
项目编号
开发人员
模块名称
登录QQ空间个人主页
用例作者
过慈强
参考信息
需求规格说明书、设计说明书
测试类型
功能测试
设计日期
2013-4-27
测试人员
过慈强
测试方法
手工测试和自动化测试相结合
测试日期
2013-4-27
测试对象
测试用户能否正常登录
前置条件
存在正确的用户名和密码;登录页面正常装载;(已注册的一个QQ帐号为:
,密码为:
cptbtptp5281)
用例编号
操作
输入数据
预期结果
实际结果
测试状态(P/F)
01
输入正确的帐号、正确的密码,点击“登录”
帐号:
密码:
cptbtptp5281
正常登录
正常登录,转入对应的系统页面
P
02
输入正确的帐号、正确的密码,按ENTER键
密码:
cptbtptp5281
正常登录
正常登录,转入对应的系统页面
P
03
输入错误的帐号或者没有注册的帐号,正确的密码,点击“登录”(错误的帐号和密码可以登录的概率极小,不作测试)
帐号:
密码:
cptbtptp5281
不能正常登录,显示“帐号不存在或者错误”的提示
不能正常登录,提示“您输入的帐号或者密码不正确,请重新输入。
”
F
04
首次输入正确的帐号、错误的密码,点击“登录”
帐号:
密码:
123456
不能正常登录,显示“密码错误”
不能正常登录,提示“您输入的帐号或者密码不正确,请重新输入。
”
F
05
第二次输入正确的帐号、错误的密码,点击“登录”
帐号:
密码:
123
不能正常登录,显示“密码错误”
不能正常登录,提示“您输入的帐号或者密码不正确,请重新输入。
”
F
06
第三次输入正确的帐号、错误的密码,点击“登录”
帐号:
密码:
1
不能正常登录,显示“密码错误”
不能正常登录,提示“您输入的帐号或者密码不正确,请重新输入。
”并在登录界面上出现验证码
F
07
第四次输入正确的帐号、错误的密码和正确的验证码,点击“登录”
帐号:
密码:
12
验证码:
图片中的字母
不能正常登录,显示“密码错误”
不能正常登录,提示“您输入的帐号或者密码不正确,请重新输入。
”
F
08
输入正确的帐号、正确的密码和正确的验证码,点击“登录”
帐号:
密码:
cptbtptp5281
验证码:
图片中的字母
正常登录
正常登录,转入对应的系统页面
P
09
输入正确的帐号、正确的密码和错误的验证码,点击“登录”
帐号:
密码:
cptbtptp5281
验证码:
输入的字母与图片中的字母不一致(字母个数相同)
不能正常登录,显示“验证码错误”
不能正常登录,提示“您输入的验证码不正确,请重新输入。
”
F
10
输入正确的帐号、正确的密码和错误的验证码,点击“登录”
帐号:
密码:
cptbtptp5281
验证码:
输入的字母与图片中的字母不一致(个数少)
不能正常登录,显示“验证码错误”
不能正常登录,提示“请输入完整的验证码!
”
F
11
输入正确的帐号、密码为空,点击“登录”(此时没有验证码)
帐号:
密码:
不能正常登录,显示“密码不能为空”
不能正常登录,提示“您还没有输入密码!
”
F
12
帐号、密码都为空,点击“登录”
帐号:
密码:
不能正常登录,显示“帐号为空”
不能正常登录,提示“您还没有输入帐号!
”
F
13
帐号为空,只输入密码
帐号:
密码:
cptbtptp5281
不能正常登录,显示“帐号为空”
不能正常登录,提示“您还没有输入帐号!
”
F
14
帐号正确,但其后有1至多个空格,密码正确
帐号:
密码:
cptbtptp5281
不能正常登录,显示“帐号错误”
正常登录,转入对应的系统页面
P
15
用户名和密码正确,但密码后加1个至多个空格
帐号:
密码:
cptbtptp5281+2空格
不能正常登录,显示“密码错误”
不能正常登录,提示“您输入的帐号或者密码不正确,请重新输入。
”
F
16
使用Tab键
光标在帐号框内,按tab键2次
光标可依次移动到密码输入框和页面上的图片
Tab键功能正常使用
P
17
在文本输入框中按BackSpace键
在帐号框输入:
BackSpace键
帐号本文框显示:
51112
BackSpace键能正常使用
P
18
在文本输入框中使用左右箭头
在帐号输入框中使用左右箭头
光标必须能跟踪到相应位置
左右箭头能正常使用
P
19
在文本输入框中使用delete键
在帐号输入框中使用delete键
能正常删除
Delete键能正常使用
P
20
在文本输入框中点击鼠标
在帐号输入框内单击鼠标
光标必须能跟踪到相应位置
正常
P
21
在文本输入框中双击鼠标
在帐号输入框内双击鼠标
输入框中文本被选中
输入框中文本被选中
P
22
输入帐号,等待较长时间才输入密码
等待五分钟输入密码
密码:
cptbtptp5281
正常登录
正常登录,转入对应的系统页面
P
23
输入帐号,马上切换到其他程序,过一段时间再切换回来
帐号:
切换到word程序,过一分钟在切换回来
光标位置应停在原处
光标位置应停在原处
P
录制的测试脚本
Browser("QQ空间-分享生活,留住感动").Page("QQ空间-分享生活,留住感动").WebElement("QQ密码").Click
Browser("QQ空间-分享生活,留住感动").Page("QQ空间-分享生活,留住感动").WebEdit("p").Click
836f
Browser("QQ空间-分享生活,留住感动").Page("QQ空间-分享生活,留住感动").WebButton("登录").Click
..").Link("[退出]").Click
Browser("QQ空间-分享生活,留住感动").Dialog("MicrosoftInternetExplorer").WinButton("确定").Click
执行测试
分别运行测试脚本,获得测试结果。
脚本在测试过程中我无法进行参数化,咨询过老师后,发现是该系统自身的问题,所以功能测试中没有用到参数化。
由于用户名和密码有些是不正确的,因此不能正常登录。
对于不能正常登录的情况,系统都将做出相应回应。
通过自动化测试,不难看出自动化测试的好处:
提高执行效率,并可避免人工进行繁琐数据输入,而且可以避免人为的一些错误。
除了通过自动化测试脚本进行测试除外,我们还补充了一些必要的手工测试。
手动测试就是直接按照测试用例的要求,输入测试数据,观察运行的结果与预期结果的异同,以判断测试是否通过。
测试结果
通过手动测试和自动化测试,未发现登陆界面有系统的缺陷……
2相册模块测试
此模块主要测试上传照片和创建相册两个子模块。
采用场景测试法进行测试。
测试用例设计
使用场景法进行测试时必须首先分析出北侧的对象及基本事务流和备选事务流。
(1)上传照片模块开始是进入相册管理。
上传照片包括6个基本步骤:
1》点击“上传照片”
2》点击“添加照片”
3》选择照片
4》选择图片专辑
5》点击“上传照片”
6》点击“完成”
这五步依次正确操作便形成了基本事务流。
在该模块中有两条备选事务流,分别是:
1》备选流一:
在基本流4》中,添加相册。
有两种情况:
一是未创建相册,无相册可选,需要添加相册;二是已有相册,准备另外添加新相册。
2》备选流二:
在基本流5》中,网络速度太慢,导致传输错误。
从基本流开始,将基本流和备选流结合起来,可以确定如下用例场景:
场景1:
基本流
场景2:
基本流,备选流一
场景3:
基本流,备选流二
由场景生成测试用例是通过确定某个特定条件来完成的,这个特定条件将导致特定用例场景的执行。
根据上面的场景设计测试用例,如下表:
上传照片测试用例
项目名称
上传照片测试
项目编号
开发人员
模块名称
上传照片模块测试
用例作者
参考信息
需求规格说明书、概要设计说明书
测试类型
功能测试
设计日期
测试人员
测试方法
手工(黑盒测试)
测试日期
测试对象
上传照片功能
前置条件
用户进入相册管理页面,相册中已有“帅哥”的相册。
用例编号
场景
输入数据
预期结果
实际结果
相册
监测网速
01
场景一:
上传照片成功
选择“帅哥”相册
网速很快
页面提示:
上传完成,是否继续
页面提示:
上传完成,是否继续
02
场景二:
添加相册(测试未创建相册情况)
无相册可选
网速很快
页面提示:
未创建相册,转入创建相册页面
页面提示:
未创建相册,转入创建相册页面
03
场景二:
添加相册(已有相册,添加新相册)
点击“选择相册”
网络很快
转入选择的相册页面
转入选择的相册页面
04
场景三:
网络传输速度慢
选择“帅哥”相册
网络速度0—1kb
页面提示:
网速慢,请稍后重传
页面提示:
网速慢,请重传
(注:
白盒测试:
是通过程序的源代码进行测试而不使用用户界面。
这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。
黑盒测试:
是通过使用整个软件或某种软件功能来严格地测试,而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。
测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。
在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收和正确的输出)
(2)创建相册模块开始是进入相册管理。
创建相册模块包括7个基本步骤:
1》点击“创建相册”
2》填写相册名称
3》填写相册描述
4》选择分类
5》选择空间权限
6》选择朋友们的权限
7》点击确定
这七步依次正确操作便形成了基本事务流。
在该模块中有一条备选事务流,其是:
1》备选流一:
在基本流2》中,相册名称为空。
由场景生成测试用例是通过确定某个特定条件来完成的,这个特定条件将导致特定用例场景的执行。
根据上面的场景设计测试用例,如下表:
创建相册测试用例
项目名称
创建相册测试
项目编号
开发人员
模块名称
创建相册模块
用例作者
参考信息
需求规格说明书、概要设计说明书
测试类型
功能测试
设计日期
测试人员
测试方法
手工(黑盒测试)
测试日期
测试对象
创建相册功能
前置条件
用户进入相册管理页面,相册中已有“帅哥”的相册。
用例编号
场景
输入数据
预期结果
实际结果
相册名称
01
场景一:
创建相册成功
填写相册名称“美好”
页面提示:
创建完成,是否传照片
页面提示:
创建完成,是否传照片
02
场景二:
创建相册不成功
未填写相册名称
页面提示:
请填写相册名称
页面提示:
请填写相册名称
执行测试
该模块采用手动方式执行测试。
根据各个测试用例的说明,一次执行每个测试用例,得出测试结果。
测试结果
执行每个测试用例之后,未发现缺陷。
上传照片功能和创建相册功能正常。
3.系统性能测试
性能测试就是模拟大量用户对软件系统的各种操作,获取系统和应用的性能指标,分析软件是否满足用户的需求。
性能需求的特点决定了我们不可能完全采用传统的手工方式完成,必须借助于自动化测试工具来实现。
自动化测试工具具有以下特点和优势:
(1)通过使用虚拟用户代替实际用户来减少测试人员数量上的要求。
虚拟用户模拟实际用户行为,运行实际的应用程序。
(2)一台计算机上可以运行多个虚拟用户,因此减少了硬件设备的需求。
(3)可以是测试人员从一个单一的控制点简单有效地控制所有虚拟用户。
(4)在测试过程中会自动记录应用程序的性能。
测试人员可以从众多图表和报告中进行选择以查看性能数据。
本系统采用HP-Mercury公司的LoadRunner性能测试工具进行性能测试。
LoadRunner的测试流程如下:
1)制定测试计划
在任何类型的测试中,测试计划都是必要的步骤。
测试计划是进行成功的负载测试的关键。
在任何类型的测试的第一步都是制定比较详细的测试计划。
测试计划中要重点分析系统的性能需求,并确定性能测试内容。
2)开发测试脚本
LoadRunner使用虚拟用户的活动模拟真实用户来操作Web应用程序,而虚拟用户的活动就包含在测试脚本中,所以说测试脚本对于测试来说是非常重要的。
开发测试脚本要使用VuGen组件。
测试脚本要完成的内容:
(1)创建每一个虚拟用户的活动。
(2)定义事务。
(3)设定集合点。
(4)插入检查点。
3)创建场景
场景描述在测试活动中发生的各种事件。
一个场景包括一个运行虚拟用户活动的压力机器(LoadGenerator)列表,一个测试脚本的列表以及大量的虚拟用户和虚拟用户组。
我们使用LoadRunner中的Controller来创建场景。
在创建测试场景之前需要设计出合理的测试场景,以便更真实地模拟用户使用软件系统的情况。
4)运行测试
一切配置妥当即可开始运行测试。
5)监视场景
在运行测试的过程中,需要监视各个服务器的运行情况(数据库服务器、Web服务器等)和客户端的情况,获取各项性能指标。
件事各项性能指标可通过添加性能计数器来实现。
6)分析测试结果
我们需要分析大量的图表,生成各种不同的报告,最后得出结论,并对系统性能作出评价。
下面按照性能测试的流程详细介绍QQ空间的性能测试过程。
测试用例设计
登录模块测试用例
用例名称
登录QQ空间测试用例
功能
系统支持多个用户并发登录
目的
测试多用户登录时系统的处理能力
方法
模拟多个用户在不同客户端登录,然后并发进入系统。
采用LoadRunner录制登录过程(此处由于QQ系统本身不支持参数化模拟不同用户登录,所以没使用参数化)
并发用户数与事务执行情况
并发用户数
事务平均响应时间
事务最大响应时间
事务成功率
每秒点击率
平均流量(字节/秒)
15
10
5
上传照片测试用例
用例名称
上传照片测试用例
功能
系统支持多个用户并发上传照片
目的
测试多个用户同时上传照片时系统的处理能力
方法
模拟多个用户在不同客户端上传照片,然后并发操作。
采用LoadRunner录制上传照片过程,然后利用其完成测试,要监视服务器的性能。
并发用户数与事务执行情况
并发用户数
事务平均响应时间
事务最大响应时间
事务成功率
每秒点击率
平均流量
10
258.7
389.6
96%
3.463
20
290.8
408.3
97%
创建相册测试用例
用例名称
创建相册测试用例
功能
系统支持多个用户并发创建相册
目的
测试多个用户同时创建相册时系统的处理能力
方法
模拟多个用户在不同客户端创建相册,然后并发操作。
采用LoadRunner录制创建相册过程,然后利用其完成测试,要监视服务器的性能。
并发用户数与事务执行情况
并发用户数
事务平均响应时间
事务最大响应时间
事务成功率
每秒点击率
平均流量
10
212.1
325.4
20
243.7
454.3
组合业务测试用例
用例名称
组合业务测试用例
功能
多个用户登陆空间,对相册、个人档、日志模块进行操作,保证系统性能。
目的
测试用户操作时系统的处理能力
方法
模拟多个用户登陆空间,对相册、个人档、日志模块进行操作,采用loadrunner录制过程,利用其完成测试。
并发用户数与事务执行情况
并发数
事务平均响应时间
事务最大响应时间
事务成功率
每秒点击率
平均流量(字节/秒)
5
10
测试环境
性能测试软/硬件配置
设备
硬件配置
软件配置
服务器
联想ASUS-A42J(1台)
CPU:
3000MHz
内存:
2G
Windows7
Apache
负载产生设备(模拟客户