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

上传人:b****8 文档编号:10941428 上传时间:2023-02-23 格式:DOCX 页数:36 大小:121.09KB
下载 相关 举报
《软件测试技术》总实验指导书.docx_第1页
第1页 / 共36页
《软件测试技术》总实验指导书.docx_第2页
第2页 / 共36页
《软件测试技术》总实验指导书.docx_第3页
第3页 / 共36页
《软件测试技术》总实验指导书.docx_第4页
第4页 / 共36页
《软件测试技术》总实验指导书.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

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

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

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

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

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

 

课程号:

200023

适用专业:

软件工程

编写人:

樊鑫

教研室:

软件工程教研室

 

软件学院

2009年5月

前言

《软件测试技术》是软件工程专业的专业限选课程。

该课程旨在拓宽和加强学生对于软件测试技术的了解和认识,并重点向学生介绍软件测试中基于各种测试技术的基本思想和基本方法,通过学习和实验,使学生具备独立组织和实施单元测试的能力,为学生今后从事软件开发和测试工作打下基础。

通过本课程的学习,学生应了解软件测试的基本概念和术语,理解集成测试和系统测试的基本方法和步骤,掌握功能性测试和结构性测试的基本方法。

先修课程:

面向对象编程、离散数学、软件工程

后续课程:

软件测试工具与测试环境、软件测试过程管理

通过实验和动手练习,可以使学生对软件测试的基本思想、测试方法和具体过程有一个完整的了解,并能够重点掌握单元测试的各种测试方法,能根据测试单元的不同特点,选择有效的测试方法并能熟练地开发出测试用例完成相应的测试工作,最后完成测试文档的书写,为学生今后从事软件开发和相应的测试工作打下基础。

实验要求

《软件测试技术》是一门综合性和实践性很强的课程。

通过先修课程的学习,学生已经初步了解了软件工程的基本过程和思想,通过本门课程的学习和实践,学生能够进一步了解软件测试的基本概念和方法,为以后从事软件测试工作打下基础。

通过本指导书中的各个实验,使学生加深理解和更好地掌握《软件测试技术》课程教学大纲要求的内容。

在《软件测试技术》的课程实验过程中,要求学生做到:

(1)预习实验指导书有关部分,认真做好实验内容的准备,就实验可能出现的情况提前作出思考和分析。

(2)仔细观察上机时出现的各种现象,记录主要情况,作出必要说明和分析。

(3)认真书写实验报告。

实验报告包括实验目的和要求,实验情况及其分析。

对需编程的实验,写出程序设计说明,给出源程序框图和清单。

(4)遵守机房纪律,服从辅导教师指挥,爱护实验设备。

(5)实验课程不迟到。

如有事不能出席,所缺实验一般不补。

实验的验收将分为两个部分。

第一部分是上机操作,包括检查程序运行和即时提问。

第二部分是提交书面的实验报告。

目录

实验一测试的实例程序的设计(2学时)1

实验二功能性测试(2学时)5

实验三结构性测试(2学时)8

实验四找出实例程序的缺陷(2学时)11

实验五书写测试文档(2学时)14

实验六WinRunner运用实验(选做)16

实验七RationalSuiteEnterprise运用实验(选做)19

实验八Web测试工具运用实验(选做)21

实验九负载测试工具运用实验(选做)23

实验一测试的实例程序的设计(2学时)

一、实验目的

(1)完成测试程序的编写,后续的实验将以这些程序作为测试对象用不同的测试方法来进行测试。

二、实验要求

(1)用C或C++、JAVA语言开发程序

(2)保证程序功能的正确

三、实验内容

(1)设计三角形问题的程序//0

Programtriangle2‘Structuredprogrammingversionofsimplerspecification

Dima,b,cAsInteger

DimIsATriangleAsBoolean

‘Step1:

GetInput

Output(“Enter3integerswhicharesidesofatriangle”)

Input(a,b,c)

Output(“SideAis”,a)

Output(“SideBis”,b)

Output(“SideCis”,c)

‘Step2:

IsaTriangle?

If(a

ThenIsATriangle=True

ElseIsATriangle=False

Endif

‘Step3:

DetermineTriangleType

IfIsATriangle

ThenIf(a=b)AND(b=c)

ThenOutput(“Equilateral”)

ElseIf(a≠b)AND(a≠c)AND(b≠c)

ThenOutput(“Scalene”)

ElseOutput(“Isosceles”)

Endif

Endif

ElseOutput(“NotaTriangle”)

Endif

(2)设计Nextdate函数的程序//1912-2112

ProgramNextDate1‘Simpleversion

DimtomorrowDay,tomorrowMonth,tomorrowYearAsInteger

Dimday,month,yearAsinteger

Output(“Entertoday’sdateinformMMDDYYYY”)

Input(month,day,year)

Casemonthof

Case1:

monthIs1,3,5,7,8,Or10:

’31daymonths(exceptDec.)

Ifday<31

ThentomorrowDay=day+1

Else

TomorrowDay=1

TomorrowMonth=month+1

Endif

Case2:

monthIs4,6,9,or11’30daymonths

Ifday<30

ThentomorrowDay=day+1

Else

TomorrowDay=1

TomorrowMonth=month+1

Endif

Case3:

monthis12:

’December

Ifday<31

ThentomorrowDay=day+1

Else

TomorrowDay=1

TomorrowMonth=1

Ifyear=2012

ThenOutput(“2012isover”)

Elsetomorrow.year=year+!

Endif

Case4:

monthis2:

’February

Ifday<28

ThentomorrowDay=day+1

Else

Ifday=28

Then

If(yearisaleapyear)

ThentomorrowDay=29‘leapyear

Else‘notaleapyear

TomorrowDay=1

TomorrowMonth=3

Endif

Elseifday=29

ThentomorrowDay=1

TomorrowMonth=3

Elseoutput(“CannothaveFeb.”,day)

Endif

Endif

Endif

Endcase

Output(“Tomorrow’sdateis”,tomorrowMonth,tomorrowDay,tomorrowYear)

EndNextdate

(3)设计佣金问题的程序

假设有一个步枪的销售商,步枪有枪托(stocks)、枪管(barrels)、枪机(locks)三个部件,三部件可以单独销售,每个部件单价为:

枪机45元,枪管30元,枪托25元,每月月末向制造商报告销量,制造商根据销量给销售商佣金。

如果销售额不足1000元按10%提取佣金,1000-1800元部分按15%提取佣金,超过1800元部分按20%提取佣金。

销售商向制造商发送的报告可以是一个月也可以是几个月,最终以枪机的数量为-1结束。

Programcommission(Input,Output)

Dimlocks,stocks,barrelsasInteger

DimlockPrice,sotckPrice,barrelPriceasReal

DimtotalLocks,totalStocks,totalBarrelsasInteger

DimlockSales,stockSales,barrelSalesasRreal

Dimsales,commissionasReal

LockPrice=45.0

StockPrice=30.0

BarrelPrice=25.0

TotalLocks=0

TotalStocks=0

TotalBarrels=0

Input(locks)

WhileNOT(locks=-1)

Input(stocks,barrels)

TotalLocks=totallocks+locks

TotalStocks=totalStocks+stocks

TotalBarrels=totalBarrels+barrels

Input(locks)

Endwhile

Output(“lockssold:

”,totalLocks)

Output(“Stockssold:

”,totalStocks)

Output(“Barrelssold:

”,totalBarrels)

LockSales=lockPrice*totalLocks

StockSales=StockPrice*totalStocks

BarrelSales=barrelPrice*totalBarrels

Sales=lockSales+stockSales+barrelSales

Output(“Totalsales:

”,sales)

If(sales>1800.0)

Then

Commission=0.1*1000.0

Commission=commission+0.15*800.0

Commission=commission+0.20*(sales–1800.0)

Elseif(sales>1000.0)

Then

Commission=0.10*1000.0

Commission=commission+0.15*(sales–1000.0)

Elsecommission=0.10*sales

Endif

Endif

Output(“Commissionis$”,commission)

EndCommission

实验二功能性测试(2学时)

一、实验目的

(1)掌握边界值、等价类和决策表测试的基本方法

二、实验要求

(1)完成各个程序的编写

(2)运用功能性测试方法设计被测程序的测试用例,并运行测试用例检查程序的正确与否

三、实验内容

(1)设计三角形问题的边界值测试用例

按照边界值测试的测试方法,对于三角形问题的边界值分析测试用例如下:

边界值分析测试用例

用例abc预期输出

11001001等腰三角形

21001002等腰三角形

3100100100等边三角形

4100100199等腰三角形

5100100200非三角形

61001100等腰三角形

71002100等腰三角形

8100100100等边三角形

9100199100等腰三角形

10100200100非三角形

111100100等腰三角形

122100100等腰三角形

13100100100等边三角形

14199100100等腰三角形

15200100100非三角形

(2)对于nextdate函数设计决策表测试用例程序

我们选择如下的等价类:

M1={月份:

每月有30天}M2={月份:

每月有31天,12月除外}

M3={月份:

此月是12月}

M4={月份:

此月是2月}

D1={日期:

1≤日期≤27}D2={日期:

日期=28}

D3={日期:

日期=29}D4={日期:

日期=30}

D5={日期:

日期=30}

Y1={年:

年是闰年}Y2={年:

年不是闰年}

1

2

3

4

5

6

7

8

9

10

C1:

月份在

M1

M1

M1

M1

M1

M2

M2

M2

M2

M2

C2:

日期在

D1

D2

D3

D4

D5

D1

D2

D3

D4

D5

C3:

年在

A1:

不可能

×

A2:

日期增1

×

×

×

×

×

×

×

A3:

日期复位

×

×

A4:

月份增1

×

×

A5:

月份复位

A6:

年增1

11

12

13

14

15

16

17

18

19

20

21

22

C1:

月份在

M3

M3

M3

M3

M3

M4

M4

M4

M4

M4

M4

M4

C2:

日期在

D1

D2

D3

D4

D5

D1

D2

D2

D3

D3

D4

D5

C3:

年在

Y1

Y2

Y1

Y2

A1:

不可能

A2:

日期增1

×

×

×

×

×

×

×

×

×

A3:

日期复位

×

×

×

A4:

月份增1

×

×

A5:

月份复位

×

A6:

年增1

×

(3)对于佣金问题设计出等价类测试用例

我们选择如下等价类:

L1={枪机:

1≤枪机≤70}

L2={枪机=-1}

S1={枪托:

1≤枪托≤80}

B1={枪管:

1≤枪管≤90}

输入变量对应的无效类是:

L3={枪机:

枪机=0或枪机<-1}

L3={枪机:

枪机>70}

S2={枪托:

枪托<1}

S3={枪托:

枪托>80}

B2={枪管:

枪管<1}

B2={枪管:

枪管>90}

当枪机等于-1时,while循环就会终止,总枪机、总枪托和总枪管的值就会被用来计算销售额,进而计算佣金。

额外强健壮等价类测试用例三维立方的一个“角”是:

用例ID

枪机

枪托

枪管

预期输出

SR1

-1

40

45

枪机值不在有效值域1..70中

SR2

35

-1

45

枪托值不在有效值域1..80中

SR3

35

40

-1

枪管值不在有效值域1..90中

SR4

-1

-1

45

枪机值不在有效值域1..70中

枪托值不在有效值域1..80中

SR5

-1

40

-1

枪机值不在有效值域1..70中

枪管值不在有效值域1..90中

SR6

35

-1

-1

枪托值不在有效值域1..80中

枪管值不在有效值域1..90中

SR7

-1

-1

-1

枪机值不在有效值域1..70中

枪托值不在有效值域1..80中

枪管值不在有效值域1..90中

实验三结构性测试(2学时)

一、实验目的

(1)掌握路径覆盖测试的基本方法

二、实验要求

(1)完成各个程序的编写

(2)运用逻辑覆盖测试的覆盖准则设计被测程序的测试用例,并运行测试用例检查程序的正确与否

三、实验内容

(1)设计某程序的路径覆盖测试用例,如路径覆盖、条件覆盖、分支覆盖、循环覆盖等

伪代码程序如下:

1Input(X)

2IfA>1andB=0then

3X=X/A

4Endif

5IfA=2then

6X=X+1

7else

8X=X-1

9Endif

10Output(X)

程序图DD-路径图

DD-路径(只压缩链路经)

程序图节点

DD-路径

1

A

2

B

3

C

4

D

5

E

6

F

7,8

G

9

H

10

I

)语句覆盖:

A-B-D-E-F-H-I或A-B-C-D-E-F-H-I

测试用例:

(输入值和预期输出值省略)

用例ID

输入值

执行路径

预期输出

A

B

X

A

B

X

1

2

1

3

A-B-D-E-F-H-I

2

1

4

)分支覆盖(判断覆盖):

A-B-D-E-F-H-I(1.左,2.左)

A-B-C-D-E-G-H-I(1.右,2.右)

A-B-D-E-G-H-I(1.左,2.右)

A-B-C-D-E-F-H-I(1.右,2.左)

思考:

是否还有其它的路径组合能达到分支覆盖的要求?

测试用例:

(输入值和预期输出值省略)

用例ID

输入值

执行路径

预期输出

A

B

X

A

B

X

1

1

0

3

A-B-D-E-G-H-I

1

0

2

2

3

0

3

A-B-C-D-E-FH-I

3

0

0

)路径覆盖:

A-B-D-E-F-H-I(1.左,2.左)

A-B-D-E-G-H-I(1.左,2.右)

A-B-C-D-E-F-H-I(1.右,2.左)

A-B-C-D-E-G-H-I(1.右,2.右)

测试用例:

(输入值和预期输出值省略)

用例ID

输入值

执行路径

预期输出

A

B

X

A

B

X

1

0

1

3

A-B-D-E-G-H-I

0

1

2

2

1

0

3

A-B-D-E-G-H-I

1

0

2

3

2

1

3

A-B-C-D-E-F-H-I

2

1

4

4

2

0

4

A-B-C-D-E-G-H-I

2

0

3

)条件覆盖:

各个条件取真或假的可能至少执行一次

A>1

B=0

A>1andB=0

覆盖路径

F

F

F

B-D

F

T

F

B-D

T

F

F

B-D

T

T

T

B-C-D

A=2

覆盖路径

T

E-F-H

F

E-G-H

测试用例:

(输入值和预期输出值省略)

用例ID

输入值

执行路径

预期输出

A

B

X

A

B

X

1

1

1

4

A-B-D-E-G-H-I

1

1

3

2

1

0

4

A-B-D-E-G-H-I

1

0

3

3

2

1

4

A-B-D-E-F-H-I

2

1

5

4

2

0

4

A-B-C-D-E-F-H-I

2

0

3

实验四找出实例程序的缺陷(2学时)

一、实验目的

通过对于实例程序的测试,熟悉功能性测试和结构性测试的基本方法。

二、实验要求

(1)综合运用功能性、结构性测试方法对被测程序进行测试,找出black.exe、white.exe、naive.exe程序中存在的缺陷。

三、实验内容

(1)对于black.exe程序的测试(white.exe,naive.exe的测试过程类似)

步骤:

①运行black.exe程序,如下图所示:

②选择triangleprogram后(或nextdateprogram,commissionprogram),如下图所示:

③点击createfilenames,如下图所示:

提示输入测试用例文件,如TriDt.txt后点击ok,

如下图所示,输入执行结果的文件TriDtResult.txt:

再次点击ok,提示输入测试结果文件记录集的题头信息:

triangleDTtestresult,

点击ok,完成测试前的准备工作。

④点击RunTestCasesFile,运行测试;

⑤测试后的统计信息如下图所示:

⑥测试完成后,打开TriDtResult.txt文件:

实验五书写测试文档(2学时)

一、实验目的

掌握测试文档的书写要求

二、实验内容

写一份所测试程序的测试报告

三、实验要求

测试文档的格式如下:

1 引言 

1.1编写目的 

  本测试计划的具体编写目的,指出预期的读者范围。

1.2背景 

  说明:

 

  a 测试计划所从属的软件系统的名称; 

  b.该开发项目的历史,列出用户和执行此项目测试的计算中心,说明在开始执行本测试计划之前必须完成的各项工作。

1.3定义 

列出本文件中用到的专门术语的定义和外文首字母组词的原词组。

1.4参考资料 

  列出要用到的参考资料,如:

  a.本项目的经核准的计划任务书或合同、上级机关的批文;

  b.属于本项目的其他已发表的文件;

  c.本文件中各处引用的文件、资料,包括所要用到的软件开发标准。

 列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。

2 计划

2.1软件说明 

  提供一份图表,并逐项说明被测软件的功能、输入和输出等质量指标,作为叙述测试计划的提纲。

2.2测试内容

  列出组装测试和确认测试中的每一项测试内容的名称标识符、这些测试的进度安排以及这些测试的内容和目的,例如模块功能测试、接口正确性测试、数据文卷存取的测试、运行时间的测试、设计约束和极限的测试等。

2.3测试1(标识符)

  给出这项测试内容的参与单位及被测试的部位。

 

2.3.1进度安排

  给出对这项测试的进度安排,包括进行测试的日期和工作内容(如熟悉环境。

培训、准备输入数据等)。

2.3.2条件

  陈述本项测试工作对资源的要求,包括:

 

  a.设备所用到的设备类型、数量和预定使用时间;

  b.软件列出将被用来支持本项测试过程而本身又并不是被测软件的组成部分的软件,如测试驱动程序、测试监控程序、仿真程序、桩模块等等; 

  c.人员列出在测试工作期间预期可由用户和开发任务组提供的工作人员的人数。

技术水平及有关的预备知识,包括一些特殊要求,如倒班操作和数据键入人员。

2.3.3测试资料 

  列出本项测试所需的资料,如:

  a.有关本项任务的文件;

  b.被测试程序及其所在的媒体;

  c.测试的输入和输出举例;

  d.有关控制此项测试

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

当前位置:首页 > 小学教育 > 学科竞赛

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

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