《软件测试技术》实验指导书Word格式文档下载.docx
《《软件测试技术》实验指导书Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《《软件测试技术》实验指导书Word格式文档下载.docx(18页珍藏版)》请在冰豆网上搜索。
4
设计
2
结构性测试(白盒测试)
3
功能性测试(黑盒测试)
单元测试工具的应用
验证
5
QTP的使用
合计
实验1测试的实例程序的设计(4学时)
一、实验目的
完成测试程序的编写,后续的实验将以这些程序作为测试对象用不同的测试方法来进行测试。
二、实验内容
1、设计三角形问题的程序
2、设计Nextdate函数的程序
三、实验步骤
1、第2周完成各程序的总体设计和这两个程序的实现并进行调试。
四、实验要求
1、用C或C++、JAVA语言开发程序,根据题目要求实现程序功能;
2、画出程序功能的实现图(流程图或数据流图或对象(类)模型或状态图等);
3、撰写实验报告;
4、打包各程序相关资料且上交。
实验2结构性测试(4学时)
1、掌握结构性测试技术,并能应用结构性测试技术设计测试用例;
2、对测试用例进行优化设计
1.题目一:
使用逻辑覆盖测试方法测试以下程序段
voidDoWork(intx,inty,intz)
{
intk=0,j=0;
if((x>
3)&
&
(z<
10))
4k=x*y-1;
5
j=sqrt(k);
6}
7
if((x==4)||(y>
5))
8j=x*y+10;
9
j=j%3;
10
}
说明:
程序段中每行开头的数字(1~10)是对每条语句的编号。
(1)画出程序的控制流图(用题中给出的语句编号表示)。
(2)分别以语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖方法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)。
2.题目二:
三角形问题
在三角形计算中,要求输入三角型的三个边长:
A、B和C。
当三边不可能构成三角形时提示错误,可构成三角形时计算三角形周长。
若是等腰三角形打印“等腰三角形”,若是等边三角形,则提示“等边三角形”。
画出程序流程图、控制流程图、计算圈复杂度V(g),找出基本测试路径。
1、根据结构性测试技术设计测试用例,主要考虑逻辑覆盖测试(语句覆盖、判断覆盖、条件覆盖、判断/条件覆盖、条件组合覆盖、路径覆盖)和基路径测试技术;
2、根据所学知识确定优化策略(原则:
用最少的用例检测出更多的缺陷、软件测试的充分性与冗余性考虑),设计两套测试用例集;
3、计算测试用例的分支覆盖率、条件覆盖率和语句覆盖率等测试管理指标;
1、根据题目要求编写测试用例;
2、实验结果要求给出两套测试用例集测试效果比较;
计算测试用例的分支
3、覆盖率、条件覆盖率和语句覆盖率等测试管理指标;
4、撰写实验报告;
实验3功能性测试(4学时)
一、实验目的
1、能熟练应用功能性测试技术进行测试用例设计;
2、对测试用例进行优化设计;
二、实验内容
1、题目一电话号码。
城市的电话号码由两部分组成。
这两部分的名称和内容分别是:
1)地区码:
以0开头的三位或者四位数字(包括0);
2)电话号码:
以非0、非1开头的七位或者八位数字。
假定被调试的程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的号码,请使用等价分类法来设计它的测试用例。
2、题目二①输入用户密码。
要求:
1)用户密码为6到8位。
2)必须含有字母和数的组合。
②输出:
如正确,输出正确的信息。
否则,输出相应的错误信息。
请结合等价类划分法设计出相应的测试用例。
3、题目三给出某一天(年,月,日),计算出它的下一天,取值范围为:
年:
1000<
=year<
=3000月:
1<
=month<
=12日:
=day<
=31
如1999年3月4日的下一天是:
1999年3月5日
①输入:
三个参数(年,月,日)
如能正确计算,计算出它的下一天,否则,输出相应的错误信息。
1)使用C语言编写程序实现
2)请结合等价类划分法和边界值分析法设计出相应的测试用例,并依照测试用例对所编写的程序进行测试。
2)请结合等价类划分法和边界值分析法设计出相应的测试用例,并依照测试用例对所编写的程序进行测试。
1、根据功能性测试技术设计测试用例,主要考虑等价类划分和边界值分析测试技术;
3、根据设计的两套测试用例集进行测试;
实验4单元测试(2学时)
1、掌握单元测试技术,并能应用单元测试技术设计测试用例;
奖学金等级判定函数:
成绩低于80分,不授予奖学金;
成绩在80分至85分之间时(含80分,不含85分),授予3级奖学金;
成绩在85至90分之间时(含85,不含90分),授予2级奖学金;
成绩在90分以上(含90分),授予1级奖学金;
成绩为负数,或大于100时,为无效成绩;
当成绩无效时,程序应提示成绩无效。
测试代码:
intScholarshipLeve(doubledegree)
{
intlevel=0//设置奖学金等级
if(degree<
80)//若成绩低于80,则无奖学金
level=0;
elseif(degree>
80&
degree<
=85)
level=3;
//三等奖
85&
=90)
level=2;
//二等奖
90)
level=1;
//一等奖
elseif(degree<
=0){//成绩无效
return-1.0;
}
returnlevel;
//返回判断后的奖学金
1、编写测试代码
2、设计出相应的测试用例,并依照测试用例对所编写的程序进行测试。
3、书写实验报告。
实验5QuickTestProfessional初级使用(4学时)
了解QuickTest测试工具的操作界面,了解QuickTest测试工具的测试模式和过程,并能使用QuickTest测试工具录制测试脚本、执行并分析测试脚本。
背景知识
MercuryQuickTestProfessional是一款先进的自动化测试解决方案,用于创建功能和回归测试。
它自动捕获、验证和重放用户的交互行为。
使用QuickTestProfessional关键字视图、自动文档(Auto-documentation)和活动屏幕(ActiveScreen),无需一行代码,就可以创建和修改测试脚本,同时满足了技术型和非技术型用户的需求,让各个公司有能力部署更高质量的应用,同时部署的速度更快,费用更低,风险也更小。
QuickTest主要应用在回归测试中。
QuickTest针对的是GUI应用程序,包括传统的Windows应用程序,以及现在越来越流行的Web应用。
(一)QuickTest窗口
在开始录制测试脚本之前,先熟悉QuickTest的窗口。
以下的画面就是QuickTest的主窗口。
QuickTest的主窗口包含下列的组件:
Titlebar:
显示目前测试脚本的名称。
Menubar:
显示QuickTest的菜单。
Filetoolbar:
管理测试脚本常用的工具列。
Testtoolbar:
录制测试脚本常用的工具列。
Debugtoolbar:
对测试脚本除错常用的工具列。
Actiontoolbar:
包含常用的功能按钮,以及一个显示测试动作(action)的下拉式清单(list),方便你检视整个测试脚本中的测试动作。
Testpane:
包含KeywordView以及ExpertView。
ActiveScreenpane:
包含ActiveScreen。
DataTable:
当你对测试脚本做参数化时存放参数数据的地方,除了一个Global的数据表外,每一个action也会有各自的资料表。
DebugViewerpane:
协助你对测试脚本除错(debug)。
DebugViewerpane包含WatchExpressions、Variables以及Command。
Statusbar:
显示测试脚本的状态。
(二)QuickTest测试开发流程
QuickTest的测试流程包含七大阶段:
1.录制测试脚本前的准备
在测试前需要先确认应用程序以及QuickTest是符合测试需求。
确认你已经知道如何对应用程序进行测试,例如要测那些功能、操作步骤、输入的数据、预期的结果等。
同时应该检查一下QuickTest的设定,如TestSettings(【Test】>
【Settings】)以及Options对话窗口(【Tools】>
【Options】),以确保QuickTest会适切的录制并储存信息。
例如,你应该确认一下QuickTest的ObjectRepository是以什么模式储存信息的。
2.录制测试脚本
当浏览网站或是操作应用程序时,QuickTest会在KeywordView中以表格的方式显示录制的操作步骤。
每一个操作步骤都是使用者在录制时的操作,如在网页上点选一个超级链接(link),或是按下窗口上的按钮。
3.加强测试脚本
在测试脚本中加入检查点,可以检查网页超级链接、对象属性或是字符串,以验证应用程序的功能是否正确。
将录制的固定值(hardcode)参数以取代,使用多组的数据测试应用程序。
使用逻辑(logic)或是条件(conditional)判断式,可以进行更复杂的测试。
4.调试脚本(对测试脚本除错)
在修改过测试脚本之后,需要调试测试脚本,检查脚本是否存在错误,以确保测试脚本能正常且流畅的执行。
5.在应用程序或网站上执行测试脚本
在对应用程序或网站的回归测试中,通过QuickTest回放对应用程序或网站的操作,检验软件正确性,实现测试的自动化进行。
6.分析测试结果
查看QuickTest记录的运行结果,分析测试执行的结果,记录问题,找出应用程序的问题所在。
7.回报问题(defect)
如果安装了QualityCenter(TestDirector),则你可以将发现的问题回报到QualityCenter(TestDirector)的数据库中。
QualityCenter(TestDirector)是Mercury的测试管理工具。
题目一:
测试MercuryTours网站
使用QuickTest对MercuryTours网站进行功能测试。
要求录制预订机票的完整过程,然后执行测试脚本并分析结果。
题目二:
测试新浪网站
使用QuickTest对新浪网站进行功能测试。
要求录制打开新浪免费邮箱阅读邮件和发邮件的过程。
然后执行测试脚本并分析结果。
(一)录制脚本准备
当你浏览网站或使用应用程序时,QuickTest会纪录你的操作步骤,并产生测试脚本。
当你停止录制测试脚本后,会看到QuickTest在KeywordView中以表格的方式显示测试脚本的操作步骤(steps)。
在测试前需要先确认你的应用程序以及QuickTest是符合你的测试需求的。
在开始时请先确认以下事项:
假如你是使用InternetExplorer浏览器,请你先取消「自动完成」的功能(取消「自动完成」的设定:
1.开启InternetExplorer浏览器,点选【工具】>
【因特网选项】>
【内容】。
2.点选【个人信息】中的【自动完成】按钮,开启【自动完成设定】对话窗口。
3.在【使用「自动完成」】取消【窗体上的使用者名称和密码】选项。
)。
关闭所有的浏览器窗口。
(二)录制脚本
录制一个测试脚本。
在MercuryTours范例网站上预订一张从纽约(NewYork)到旧金山(SanFrancisco)的机票。
1.执行QuickTest并开启一个全新的测试脚本
要开启QuickTest,请点选【开始】>
【程序集】>
【QuickTestProfessional】>
【QuickTestProfessional】。
在【Add-inManager】勾选【WebAdd-in】,并取消其它的add-ins。
然后点选【OK】按钮关闭【Add-inManager】窗口,进入QuickTestProfessional主窗口。
假如出现【Welcome】窗口,点选【BlankTest】。
或者,点选【File】>
【New】,或是按下工具列上的【New】按钮。
QuickTestProfessional会开启全新的测试脚本档案。
假如QuickTestProfessional已经开启,检查【Help】>
【AboutQuickTestProfessional】看目前加载了哪些add-ins。
2.开始录制测试脚本
点选【Test】>
【Record】或是点选工具列上的【Record】按钮。
会开启【RecordandRun
Settings】对话窗口。
在【Web】页签,勾选【Openthefollowingbrowserwhenarecordorrunsessionbegins】。
从【Type】下拉列表选择使用的浏览器,并且在【Address】输入。
请确认【Donotrecordandrunonbrowsersthatarealreadyopen】与【Closethebrowserwhenthetestisclosed】这二个选项都已经勾选了。
在【WindowsApplications】页签,勾选【Recordandrunontheseapp(openedonsessionstart)】,而且不要选取任何的应用程序。
此设定可以避免你录制到其它应用程序(如Outlook)的操作。
点选【OK】。
QuickTest会开启浏览器浏览MercuryTours网站,并且开始录制测试脚本。
登入MercuryToursWebsite网站,在【UserName】与【Password】输入你当初注册的账号与密码。
点选【Sign-In】,开启【FlightFinder】网页。
输入订票数据,选择飞机航班。
点选【CONTINUE】按钮,开启【BookaFlight】页面,输入必要字段,在【BillingAddress】勾选【TicketlessTravel】。
按下网页下方的【SECUREPURCHASE】按钮,开启【FlightConfirmation】网页。
检视订票数据,并点选【BACKTOHOME】回到MercuryTours网站的首页。
3.停止录制
在QuickTest,点选工具列上的【Stop】按钮,停止录制。
你已经完成了预定「纽约-旧金山」机票的动作,QuickTest已经录制了从你按下【Record】按钮后,到你按下【Stop】按钮之间所有的操作。
4.储存测试脚本
选取【File】>
【Save】或是点选工具列上的【Save】按钮,开启【Save】对话窗口。
建立一个【Tutorial】目录,将测试脚本命名为【Recording】。
勾选【SaveActiveScreenfiles】。
按下【存盘】按钮,测试脚本名称(Recording)会出现在QuickTest窗口的标题列。
(三)分析KeywordView中的测试脚本
当你录制测试脚本时,QuickTest会将你的每一个操作录制下来,并在KeywordView类似Excel工作表的方式显示所录制的测试步骤。
您可以点选【View】>
【ExpendAll】检视测试脚本的每一个步骤。
在KeywordView的中每个字段都有其意义:
【Item】:
以阶层式的图标显示这个操作步骤所作用到的组件(测试对象(testobject)、工具对象(utilityobject)、函数呼叫(functioncall)或脚本(statement))。
【Operation】:
要在这个作用到的组件上执行的动作,如点选(Click)、选取(Select)。
【Value】:
执行动作的参数(argument),例如当鼠标点选一张图片时是用左键还是右键。
【Assignment】:
使用到的变量。
【Comment】:
你在测试脚本中加入的批注。
【Documentation】:
自动产生用来描述此操作步骤的英文说明。
脚本中的每一个步骤在KeywordView中都会以一列来显示,其中包含用来表示此组件类别的图标以及此步骤的详细数据。
(1)撰写实验报告,主要填写本人测试步骤和自己的实验体会。
(2)提交录制的测试脚本。