软件测试技术实验指导书课件.docx

上传人:b****6 文档编号:4376140 上传时间:2022-12-01 格式:DOCX 页数:27 大小:593.96KB
下载 相关 举报
软件测试技术实验指导书课件.docx_第1页
第1页 / 共27页
软件测试技术实验指导书课件.docx_第2页
第2页 / 共27页
软件测试技术实验指导书课件.docx_第3页
第3页 / 共27页
软件测试技术实验指导书课件.docx_第4页
第4页 / 共27页
软件测试技术实验指导书课件.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

软件测试技术实验指导书课件.docx

《软件测试技术实验指导书课件.docx》由会员分享,可在线阅读,更多相关《软件测试技术实验指导书课件.docx(27页珍藏版)》请在冰豆网上搜索。

软件测试技术实验指导书课件.docx

软件测试技术实验指导书课件

 

《软件测试技术》实验指导书

 

实验1、自由测试

一、实验目的

1.理解软件测试的概念。

2.提高反向思维的能力。

二、实验任务

针对某产品Beta的版本,对照其竞争对手的产品,进行测试,以发现该软件产品潜在的任何问题,记录下来。

Discuz!

X3.0beta对比PHPWind9.0

问题ID

问题描述

操作步骤

说明

 

实验2、黑盒测试方法:

等价类划分法+边界值分析方法

一、实验目的

1.掌握等价类、有效等价类、无效等价类、边界值等概念。

2.掌握边界值分析法、等价类划分法的测试用例设计方法。

3.能够将这两种方法结合起来,灵活运用

二、实验任务

以下三个任务、至少完成一个

1、对三角问题综合运用边界值分析方法、等价类划分方法设计测试用例。

三角形问题:

voidTriangle(inta,intb,intc)函数规定输入三个整数a、b、c分别作为三边的边长构成三角形。

通过程序判定所构成的三角形的类型(等边三角形、等腰三角形、一般三角形、构不成三角形),并在屏幕上输出。

1<=a,b,c<=200。

实验步骤:

1划分等价类,得到等价类表。

等价类表格式如下:

输入变量

有效等价类

无效等价类

2综合运用这两种方法设测试用例,得到测试用例表:

边界值

a

b

c

3综合运用这两种方法设测试用例,得到测试用例表:

测试用例ID

a

b

c

预期输出

T1

5

5

5

等边三角形

T2

2

2

3

等腰三角形

4根据上述测试用例表,能否进行优化,获得最小测试用例集合:

2、对于找零钱最佳组合问题运用边界值分析法设计测试用例。

实验步骤:

1分析边界值。

2运用健壮性边界条件法设计测试用例,得到测试用例表(测试用例表格式同实验1)。

3执行测试,填写软件缺陷报告(软件缺陷报告格式同实验1)。

3、现有一个程序intCheckTel(char*rc,char*n)执行电话号码有效性检查功能,中国的固定电话号码由两部分组成。

这两部分的名称和内容分别是:

●地区码(rc):

以0开头的三位或者四位数字(包括0)。

●电话号码(n):

以非0、非1开头的七位或者八位数字。

对该程序进行边界值分析,然后进行等价类划分,分别运用边界值条件、等价类划分的结果来设计测试用例,并尽可能优化所设计的测试用例。

实验步骤:

同上,注意考虑内部边界值。

 

实验3、黑盒测试:

决策表法及测试用例设计

一、实验目的

1、掌握决策表的概念。

2、掌握决策表测试用例设计法。

二、实验任务

以下三个任务、至少完成一个

1、对NextDate问题运用决策表法设计测试用例,并执行测试,撰写实验报告。

NextDate(intmonth,intday,intyear)函数规定:

输入三个整数:

month、day和year,函数的输出为输入日期后一天的日期。

例如,输入为2006年3月7日,则函数的输出为2006年3月8日,year满足1920≤year≤2050。

实验步骤:

1)构造决策表

2)根据决策表设计测试用例,得到测试用例表(测试用例表格式同实验1)。

3)执行测试,填写软件缺陷报告(软件缺陷报告格式同实验1)。

2、假设一个中国的航空公司规定:

●中国去欧美的航线所有座位都有食物供应,每个座位都可以播放电影。

●中国去非欧美的国外航线都有食物供应,只有商务仓可以播放电影。

●中国国内的航班的商务仓有食物供应,但是不可以播放电影

●中国国内的航班的经济仓除非飞行时间大于2小时就有食物供应,但是不可以播放电影。

请用程序实现上述功能,并用决策表法设计测试用例,再执行测试,撰写实验报告。

实验步骤:

同上

3、对三角问题运用决策表法设计测试用例,并执行测试,撰写实验报告。

实验步骤:

同上

 

实验4、黑盒测试:

因果图法及测试用例设计

一、实验目的

1、掌握因果图的概念。

2、掌握因果图测试用例设计法。

二、实验任务

以下三个任务、至少完成一个

1、某软件规格说明书包含这样的要求:

第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息N;如果第二列字符不是数字,则给出信息M。

用因果图法测试该程序,并撰写实验报告。

(注:

可以用输出“Modifyfile”模拟程序中要求的修改文件)

实验步骤:

1)分析原因与结果

2)画出因果图

3)转化为决策表

4)根据决策表设计测试用例,得到测试用例表

5)执行测试,填写软件缺陷报告

2、例如,有一个饮料自动售货机(处理单价为5角钱)的控制处理软件,它的软件规格说明如下:

若投入5角钱的硬币,按下“橙汁”或“啤酒”的按钮,则相应的饮料就送出来。

若投入1元钱的硬币,同样也是按“橙汁”或“啤酒”的按钮,则自动售货机在送出相应饮料的同时退回5角钱的硬币。

用程序模拟该自动售货机(注:

用屏幕输入、输出来模拟售货机的动作),然后用因果图法测试该程序,并撰写实验报告。

实验步骤:

同上

3、对三角问题运用因果图法设计测试用例,并执行测试,撰写实验报告。

实验步骤:

同上

 

实验5、白盒测试:

覆盖测试及测试用例设计

一、实验目的

1、掌握白盒测试的概念。

2、掌握逻辑覆盖法。

二、实验任务

以下三个任务、至少完成一个

1、某工资计算程序功能如下:

若雇员月工作小时超过40小时,则超过部分按原小时工资的1.5倍的加班工资来计算。

若雇员月工作小时超过50小时,则超过50的部分按原小时工资的3倍的加班工资来计算,而40到50小时的工资仍按照原小时工资的1.5倍的加班工资来计算。

程序输入为:

雇员月工作时间及小时工资,输出为工资。

运用逻辑覆盖法的六种覆盖标准设计测试用例,并执行测试,撰写实验报告。

实验步骤:

1)画出程序流程图

2)根据逻辑覆盖法的六种覆盖标准设计测试用例,得到6张测试用例表

3)执行测试,填写软件缺陷报告

2、编写一个求解一元二次方程的程序,运用逻辑覆盖法的六种覆盖标准设计测试用例,并执行测试,撰写实验报告。

实验步骤:

同上

3、对三角问题运用逻辑覆盖法的六种覆盖标准设计测试用例,并执行测试,撰写实验报告。

实验步骤:

同上

 

实验6、白盒测试:

路径测试及测试用例设计

一、实验目的

1、掌握控制流图,独立路径,圈复杂度,程序基本路径集的概念。

2、掌握McCabe程序基本路径集确定方法。

3、掌握基本路径集测试法。

二、实验任务

以下三个任务、至少完成一个

1、程序voidscore_processing(floatscore[],intlength)的功能说明如下:

程序统计数组score前10个元素中有效成绩([0,100]内为有效成绩)的个数、总和及平均值,并输出。

参数说明:

数组score内按顺序存放着n个学生成绩(n<=length),且以-1作为结束标志,length为数组的长度且length〉10。

试用基本路径集测试法测试该程序,撰写实验报告。

实验步骤:

1)画出程序的流图(控制流程图)。

2)计算流图G的圈复杂度V(G)。

3)确定只包含独立路径的基本路径集。

4)根据上面的独立路径,设计测试用例,得到测试用例表。

5)执行测试,填写软件缺陷报告。

2、程序intbinsearch(intarray[],intlength,intkey)实现折半查找的功能。

数组array元素按升序排列,length为数组array的长度,key为要查找的值。

试用基本路径集测试法测试该程序,撰写实验报告。

实验步骤:

同上。

3、对三角问题运用基本路径集测试法设计测试用例,并执行测试,撰写实验报告。

实验步骤:

同上。

 

实验7、面向对象软件的测试:

类方法的测试

一、实验目的

1、掌握类方法的测试方法。

2、掌握VS2005单元测试工具的使用。

二、VS2005单元测试工具的使用

我们以program类的add方法的测试为例说明VS2005单元测试工具的使用:

classProgram

{

staticvoidMain(string[]args)

{

Programp=newProgram();

intresult=p.add(5,5);

doubleresult1=p.sqrt(5);

Console.WriteLine("Theresultis{0},{1}",result,result1);

}

intadd(inta,intb)

{

returna+b;

}

doublesqrt(doublea)

{

returnSystem.Math.Sqrt(5);

}

}

步骤如下:

1)打开VS2005,新建“VisualC#控制台应用程序”项目,输入上述Program类。

2)在Program类的add方法旁单击右键,选择“创建单元测试”:

3)输出项目选择“创建新的VisualC#测试项目”,然后单击“确定”:

4)输入项目的名称,然后单击“创建”:

5)得到:

●应用工程ConsoleApplication对应的测试工程TestProject1

●program对应的测试类ProgramTest

●add方法对应的测试方法addTest

6)加载测试用例:

a=1,b=2,期望输出=3,如下图所示:

特别注意:

将Assert.Inconclusive("验证此测试方法的正确性。

");这句话注释掉!

7)复制addTest()方法,并将复制后的方法改名为addTest1():

注意:

将addTest()方法前面的

[DeploymentItem("ConsoleApplication2.exe")]

[TestMethod()]

也一起复制!

8)在addTest1()中加载第二个测试用例:

a=4,b=5,期望输出=9:

9)重复步骤7),8)加载其它的测试用例。

10)执行测试:

单击菜单“测试”-“启动选定的测试项目(不调试)”

11)得到测试结果:

[附]Assert类简介:

Assert类定义了一组方法用于检查给定的条件,关于Assert的成员,可以参考MSDN帮助文档,以下列出部分:

AreEqual

测试指定的值是否相等;如果两个值不相等,则测试失败。

AreNotEqual

测试指定的值是否不相等;如果两个值相等,则测试失败。

AreSame

测试指定的对象是否都引用相同的对象;如果两个输入内容引用不同的对象,则测试失败。

AreNotSame

测试指定的对象是否引用不同的对象;如果两个输入内容引用相同的对象,则测试失败。

Fail

断言失败。

Inconclusive

表示无法证明为true或false的测试结果。

IsTrue

测试指定的条件是否为true;如果该条件为false,则测试失败。

IsFalse

测试指定的条件是否为false;如果该条件为true,则测试失败。

IsNull

测试指定的对象是否为空引用(在VisualBasic中为Nothing);如果它不为空,则测试失败。

IsNotNull

测试指定的对象是否为非空;如果它为空引用(在VisualBasic中为Nothing),则测试失败。

三、实验任务

以下两个任务、至少完成一个

1、对于三角问题,设计一个类,其中包含方法intTriangleType(inta,intb,intc),输入为三角形的三条边,输出为:

0或1或2或3,其中:

0代表参数不合法(小于0),1代表普通三角形,2代表等腰三角形,3代表等边三角形。

用VS2005单元测试工具测试该方法,测试用例通过弱健壮等价类测试用例设计法得到。

实验步骤:

1)弱健壮等价类测试用例设计法设计测试用例,得到测试用例表。

2)用VS2005单元测试工具生成对应的测试类,测试方法,加载测试用例。

3)执行测试,得到测试结果,填写软件缺陷报告。

2、对于工资计算问题(见实验5任务1),设计一个类,其中包含方法

doubleSalaryCaculating(doublet,doublewph),输入t代表工作时间,wph代表小时工资,输出为月工资。

用VS2005单元测试工具测试该方法,测试用例通过逻辑覆盖法中的判定覆盖标准得到。

实验步骤:

1)运用逻辑覆盖法中的判定覆盖标准设计测试用例,得到测试用例表。

2)用VS2005单元测试工具生成对应的测试类,测试方法,加载测试用例。

3)执行测试,得到测试结果,填写软件缺陷报告。

实验8、图形用户界面GUI测试:

Winrunner的使用

(一)

一、实验目的

1、掌握线形脚本的概念。

2、掌握Winrunner如何GUI对象。

3、初步掌握Winrunner的使用

二、Winrunner的简单使用

1、重要概念:

1)GUIMAP文件:

一般的Windows应用程序,通常是由窗口、按钮、菜单等组成,这些在WinRunner中通称为GUI对象。

WR会通过学习这些GUI对象的属性来识别GUI对象。

WR把学来的这些GUI对象的属性(称为对象的物理描述)保存在GUIMap文件中。

GUIMap文件包含了GUI对象的逻辑名和物理描述,逻辑名和物理描述一起作用,确保每个GUI对象有自身唯一的标识。

在测试脚本中,WR使用逻辑名(Logicname)表征对象。

当执行测试时,WR使用GUIMap文件定位对象:

先从GUImap文件中读取有关对象的描述,然后寻找有相同属性的对象。

2)TSL语言:

ThescriptsyoucreatewithMercuryInteractivesystemsarewritteninTestScriptLanguage(TSL).TSLisanenhanced,C-likeprogramminglanguagedesignedfortesting.

有关TSL语言的详细说明参考winrunner帮助菜单中的TSLonlinereference

2、WinRunner的测试过程

WinRunner的测试流程分为以下六个阶段:

⏹创建GUIMap:

识别应用程序的GUI对象

⏹创建测试:

一般先通过录制得到原始脚本,再进行适当的编辑建立测试脚本。

⏹调试测试:

对测试脚本除错(debug)

⏹执行测试

⏹查看测试结果

⏹报告发现的错误

3、以windows自带计算器的加法功能的测试为例,说明winrunner的测试流程:

在测试之前,先在D盘新建一个文件夹CaculatorTest来保存后面生成的一些文件。

1)打开计算器,启动winrunner(为了测试的顺利最好关闭其它无关的程序)。

2)创建计算器的GUIMap:

A、通过菜单“Tools/GUIMapEditor”打开GUIMapEditor窗体:

B、通过菜单“File/closeall”关闭其它的GUImap文件。

C、点击“learn”,然后按照提示点击“计算器”窗体,开始学习。

D、学习完成后,通过菜单“File/save”将学习好的文件保存到前面新建的CaculatorTest文件夹中。

E、关闭GUIMapEditor窗体。

3)录制脚本:

A、通过菜单“File/new”新建空白测试。

B、单击“Record”按钮开始录制以下操作:

单击数字1→单击加号+→单击等号=

C、操作结束后单击“stop”按钮结束录制,得到原始脚本:

#计算器

set_window("计算器",10);

button_press("1");

button_press("+");

button_press("2");

button_press("=");

4)编辑脚本以加载测试用例:

1+2=3(绿色底纹的为添加的脚本)

#计算器

set_window("计算器",10);

button_press("1");

button_press("+");

button_press("2");

button_press("=");

edit_get_text("Edit",text);

actual=int(text);

expect=3;

if(actual!

=expect)

report_msg("Failed");

5)复制上述脚本并加载其它测试用例:

(绿色底纹的为添加的测试用例的脚本)

#计算器

set_window("计算器",10);

button_press("1");

button_press("+");

button_press("2");

button_press("=");

edit_get_text("Edit",text);

actual=int(text);

expect=3;

if(actual!

=expect)

report_msg("Failed");

#计算器

set_window("计算器",10);

button_press("4");

button_press("+");

button_press("5");

button_press("=");

edit_get_text("Edit",text);

actual=int(text);

expect=9;

if(actual!

=expect)

report_msg("Failed");

6)保存脚本:

将修改好的脚本保存到前面新建的CaculatorTest文件夹

7)运行测试:

点击“FromTop”按钮运行测试,得到测试结果:

 

三、实验任务

以下两个任务、至少完成一个

1、对于三角问题,设计相应的GUI程序,用文本框接受输入和输出,输入为三角形的三条边,输出为:

参数不合法、不能构成三角形、普通三角形、等腰三角形、等边三角形。

用winrunner测试该GUI程序,测试用例通过弱健壮等价类测试用例设计法得到。

实验步骤:

1)弱健壮等价类测试用例设计法设计测试用例,得到测试用例表。

2)用winrunner测试该GUI程序,得到测试结果,填写软件缺陷报告。

2、对于工资计算问题(见实验5任务1),设计相应的GUI程序,用文本框接受输入和输出,输入为:

工作时间,小时工资,输出为:

月工资。

用winrunner测试该GUI程序,测试用例通过逻辑覆盖法中的判定覆盖标准得到。

实验步骤:

同上

实验9、图形用户界面GUI测试:

Winrunner的使用

(二)

一、实验目的

1、掌握数据驱动脚本的概念。

2、掌握如何使用Winrunner生成数据驱动脚本。

二、如何使用Winrunner生成数据驱动脚本

1、重要概念:

数据驱动脚本:

数据驱动脚本技术将测试输入存储到独立的(数据)文件中,而不是存储在脚本中。

脚本中存放控制信息。

执行测试时,从文件而不是直接从脚本中读取测试输入。

2、将实验8生成的计算器的加法功能测试脚本转化为数据驱动测试脚本:

1)利用DataDriverWizard生成数据表,并将部分数据参数化。

 

2)利用ParemeterizeData将剩余的数据参数化。

3)得到数据驱动脚本(绿色部分为数据参数化后得到的)。

table="CaculatorTestData.xls";

rc=ddt_open(table,DDT_MODE_READ);

if(rc!

=E_OK&&rc!

=E_FILE_OPEN)

pause("Cannotopentable.");

ddt_get_row_count(table,table_RowCount);

for(table_Row=1;table_Row<=table_RowCount;table_Row++)

{

ddt_set_row(table,table_Row);

#计算器

set_window("计算器",1);

button_press(ddt_val(table,"button1"));

button_press("+");

button_press(ddt_val(table,"button2"));

button_press("=");

edit_get_text("Edit",text);

actual=int(text);

expect=ddt_val(table,"expect");

if(actual!

=expect)

report_msg("Failed:

NO."&table_Row&"testcase!

!

!

");

}

ddt_close(table);

三、实验任务

以下两个任务、至少完成一个

1、将实验8生成的三角问题测试脚本转化为数据驱动测试脚本,并执行测试,撰写实验报告,测试用例通过弱健壮等价类测试用例设计法得到。

实验步骤:

1)弱健壮等价类测试用例设计法设计测试用例,得到测试用例表。

2)将实验8生成的三角问题测试脚本转化为数据驱动测试脚本,执行测试,得到测试结果,填写软件缺陷报告。

2、将实验8生成的工资计算问题(见实验5任务1)测试脚本转化为数据驱动测试脚本,并执行测试,撰写实验报告,测试用例通过逻辑覆盖法中的判定覆盖标准得到。

实验步骤:

同上

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1