1、软件测试技术总实验指导书软件测试技术实验指导书课 程 号:200023适用专业:软件工程编 写 人:樊鑫教 研 室:软件工程教研室软件学院2009 年5 月前言软件测试技术是软件工程专业的专业限选课程。该课程旨在拓宽和加强学生对于软件测试技术的了解和认识,并重点向学生介绍软件测试中基于各种测试技术的基本思想和基本方法,通过学习和实验,使学生具备独立组织和实施单元测试的能力,为学生今后从事软件开发和测试工作打下基础。通过本课程的学习,学生应了解软件测试的基本概念和术语,理解集成测试和系统测试的基本方法和步骤,掌握功能性测试和结构性测试的基本方法。先修课程:面向对象编程、离散数学、软件工程后续课程
2、:软件测试工具与测试环境、软件测试过程管理通过实验和动手练习,可以使学生对软件测试的基本思想、测试方法和具体过程有一个完整的了解,并能够重点掌握单元测试的各种测试方法,能根据测试单元的不同特点,选择有效的测试方法并能熟练地开发出测试用例完成相应的测试工作,最后完成测试文档的书写,为学生今后从事软件开发和相应的测试工作打下基础。实验要求软件测试技术是一门综合性和实践性很强的课程。通过先修课程的学习,学生已经初步了解了软件工程的基本过程和思想,通过本门课程的学习和实践,学生能够进一步了解软件测试的基本概念和方法,为以后从事软件测试工作打下基础。通过本指导书中的各个实验,使学生加深理解和更好地掌握软
3、件测试技术课程教学大纲要求的内容。在软件测试技术的课程实验过程中,要求学生做到:(1)预习实验指导书有关部分,认真做好实验内容的准备,就实验可能出现的情况提前作出思考和分析。(2)仔细观察上机时出现的各种现象,记录主要情况,作出必要说明和分析。(3)认真书写实验报告。实验报告包括实验目的和要求,实验情况及其分析。对需编程的实验,写出程序设计说明,给出源程序框图和清单。(4)遵守机房纪律,服从辅导教师指挥,爱护实验设备。(5)实验课程不迟到。如有事不能出席,所缺实验一般不补。实验的验收将分为两个部分。第一部分是上机操作,包括检查程序运行和即时提问。第二部分是提交书面的实验报告。目 录实验一 测试
4、的实例程序的设计(2学时) 1实验二 功能性测试(2学时) 5实验三 结构性测试(2学时) 8实验四 找出实例程序的缺陷(2学时) 11实验五 书写测试文档(2学时) 14实验六 WinRunner运用实验(选做) 16实验七 Rational Suite Enterprise运用实验(选做) 19实验八 Web测试工具运用实验(选做) 21实验九 负载测试工具运用实验(选做) 23实验一 测试的实例程序的设计(2学时)一、实验目的(1)完成测试程序的编写,后续的实验将以这些程序作为测试对象用不同的测试方法来进行测试。二、实验要求(1)用C或C+、JAVA语言开发程序(2)保证程序功能的正确三
5、、实验内容(1)设计三角形问题的程序/0x200Program triangle2 Structured programming version of simpler specificationDim a,b,c As IntegerDim IsATriangle As BooleanStep 1: Get InputOutput(“Enter 3 integers which are sides of a triangle”)Input(a,b,c)Output(“Side A is”,a)Output(“Side B is”,b)Output(“Side C is”,c)Step 2: I
6、s a Triangle?If (ab+c) AND (ba+c) AND (ca+b)Then IsATriangle=TrueElse IsATriangle= FalseEndif Step 3 : Determine Triangle TypeIf IsATriangleThen If (a=b) AND (b=c) Then Output(“Equilateral”) Else If (ab) AND (ac) AND (bc) Then Output(“Scalene”) Else Output(“Isosceles”) Endif EndifElse Output(“Not a
7、Triangle”)Endif(2)设计Nextdate函数的程序/1912-2112Program NextDate1 Simple versionDim tomorrowDay,tomorrowMonth,tomorrowYear As IntegerDim day,month,year As integerOutput(“Enter todays date in form MM DD YYYY”)Input(month,day,year)Case month ofCase 1: month Is 1,3,5,7,8, Or 10:31 day months(except Dec.)If
8、day31 Then tomorrowDay = day+1 ElseTomorrowDay=1TomorrowMonth=month+1EndifCase 2: month Is 4,6,9, or 11 30 day monthsIf day30 Then tomorrowDay=day+1 Else TomorrowDay=1TomorrowMonth=month+1EndifCase 3: month is 12:DecemberIf day31 Then tomorrowDay=day+1 Else TomorrowDay=1TomorrowMonth=1If year=2012 T
9、hen Output(“2012 is over”)Else tomorrow.year=year+!EndifCase 4:month is 2:FebruaryIf day 1800.0) Then Commission = 0.1*1000.0 Commission = commission + 0.15 * 800.0 Commission = commission + 0.20*(sales 1800.0) Else if (sales1000.0) Then Commission = 0.10 * 1000.0 Commission = commission + 0.15 *(sa
10、les 1000.0) Else commission = 0.10 * sales EndifEndifOutput(“Commission is $”, commission)End Commission实验二 功能性测试(2学时)一、实验目的(1)掌握边界值、等价类和决策表测试的基本方法二、实验要求(1)完成各个程序的编写(2)运用功能性测试方法设计被测程序的测试用例,并运行测试用例检查程序的正确与否三、实验内容(1)设计三角形问题的边界值测试用例按照边界值测试的测试方法,对于三角形问题的边界值分析测试用例如下:边界值分析测试用例 用例 a b c 预期输出 1 100 100 1 等腰
11、三角形 2 100 100 2 等腰三角形 3 100 100 100 等边三角形 4 100 100 199 等腰三角形 5 100 100 200 非三角形 6 100 1 100 等腰三角形 7 100 2 100 等腰三角形 8 100 100 100 等边三角形 9 100 199 100 等腰三角形10 100 200 100 非三角形11 1 100 100 等腰三角形12 2 100 100 等腰三角形13 100 100 100 等边三角形14 199 100 100 等腰三角形15 200 100 100 非三角形(2)对于nextdate函数设计决策表测试用例程序我们选择
12、如下的等价类:M1=月份:每月有30天 M2=月份:每月有31天,12月除外 M3=月份:此月是12月 M4=月份:此月是2月 D1=日期:1日期27 D2=日期:日期=28D3=日期:日期=29 D4=日期:日期=30D5=日期:日期=30 Y1=年:年是闰年 Y2=年:年不是闰年12345678910C1:月份在M1M1M1M1M1M2M2M2M2M2C2:日期在D1D2D3D4D5D1D2D3D4D5C3:年在A1:不可能A2:日期增1A3:日期复位A4:月份增1A5:月份复位A6:年增1111213141516171819202122C1:月份在M3M3M3M3M3M4M4M4M4M4
13、M4M4C2:日期在D1D2D3D4D5D1D2D2D3D3D4D5C3:年在Y1Y2Y1Y2A1:不可能A2:日期增1A3:日期复位A4:月份增1A5:月份复位A6:年增1(3)对于佣金问题设计出等价类测试用例我们选择如下等价类:L1=枪机:1枪机70L2=枪机=-1S1=枪托:1枪托80B1=枪管:1枪管90输入变量对应的无效类是:L3=枪机:枪机=0或枪机70S2=枪托:枪托80B2=枪管:枪管90当枪机等于-1时,while循环就会终止,总枪机、总枪托和总枪管的值就会被用来计算销售额,进而计算佣金。额外强健壮等价类测试用例三维立方的一个“角”是:用例ID枪机枪托枪管预期输出SR1-14
14、045枪机值不在有效值域1.70中SR235-145枪托值不在有效值域1.80中SR33540-1枪管值不在有效值域1.90中SR4-1-145枪机值不在有效值域1.70中枪托值不在有效值域1.80中SR5-140-1枪机值不在有效值域1.70中枪管值不在有效值域1.90中SR635-1-1枪托值不在有效值域1.80中枪管值不在有效值域1.90中SR7-1-1-1枪机值不在有效值域1.70中枪托值不在有效值域1.80中枪管值不在有效值域1.90中实验三 结构性测试(2学时)一、实验目的(1)掌握路径覆盖测试的基本方法二、实验要求(1)完成各个程序的编写(2)运用逻辑覆盖测试的覆盖准则设计被测程
15、序的测试用例,并运行测试用例检查程序的正确与否三、实验内容(1)设计某程序的路径覆盖测试用例,如路径覆盖、条件覆盖、分支覆盖、循环覆盖等伪代码程序如下:1 Input(X)2 If A1 and B=0 then3 X=X/A4 End if5 If A=2 then6 X=X+17 else8 X=X-19 End if10 Output(X) 程序图 DD-路径图DD-路径(只压缩链路经)程序图节点DD-路径1A2B3C4D5E6F7,8G9H10I()语句覆盖:A-B-D-E-F-H-I 或 A-B-C-D-E-F-H-I测试用例:(输入值和预期输出值省略)用例ID输入值执行路径预期输出
16、ABXABX1213A-B-D-E-F-H-I214()分支覆盖(判断覆盖):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输入值执行路径预期输出ABXABX1103A-B-D-E-G-H-I1022303A-B-C-D-E-FH-I300()路径覆盖:A-B-D-E-F-H-I (1.左,2.左)A-B-D-E-G-H-I (1.左,2.右)A-B-C-D-E-
17、F-H-I (1.右,2.左)A-B-C-D-E-G-H-I (1.右,2.右)测试用例:(输入值和预期输出值省略)用例ID输入值执行路径预期输出ABXABX1013A-B-D-E-G-H-I0122103A-B-D-E-G-H-I1023213A-B-C-D-E-F-H-I2144204A-B-C-D-E-G-H-I203()条件覆盖:各个条件取真或假的可能至少执行一次A1B=0A1 and B=0覆盖路径FFFB-DFTFB-DTFFB-DTTTB-C-DA=2覆盖路径TE-F-HFE-G-H测试用例:(输入值和预期输出值省略)用例ID输入值执行路径预期输出ABXABX1114A-B-D-
18、E-G-H-I1132104A-B-D-E-G-H-I1033214A-B-D-E-F-H-I2154204A-B-C-D-E-F-H-I203实验四 找出实例程序的缺陷(2学时)一、实验目的通过对于实例程序的测试,熟悉功能性测试和结构性测试的基本方法。二、实验要求(1)综合运用功能性、结构性测试方法对被测程序进行测试,找出black.exe、white.exe、naive.exe程序中存在的缺陷。三、实验内容(1)对于black.exe程序的测试(white.exe,naive.exe的测试过程类似) 步骤: 运行black.exe程序,如下图所示: 选择triangle program后(
19、或nextdate program, commission program),如下图所示:点击create file names,如下图所示:提示输入测试用例文件,如TriDt.txt后点击ok,如下图所示,输入执行结果的文件TriDtResult.txt :再次点击ok,提示输入测试结果文件记录集的题头信息:triangle DT test result,点击ok,完成测试前的准备工作。点击Run Test Cases File,运行测试;测试后的统计信息如下图所示:测试完成后,打开TriDtResult.txt文件:实验五 书写测试文档(2学时)一、实验目的掌握测试文档的书写要求二、实验内
20、容写一份所测试程序的测试报告三、实验要求测试文档的格式如下:1引言 11编写目的 本测试计划的具体编写目的,指出预期的读者范围。 12背景说明:a测试计划所从属的软件系统的名称;b该开发项目的历史,列出用户和执行此项目测试的计算中心,说明在开始执行本测试计划之前必须完成的各项工作。13定义 列出本文件中用到的专门术语的定义和外文首字母组词的原词组。 14参考资料 列出要用到的参考资料,如:a本项目的经核准的计划任务书或合同、上级机关的批文;b属于本项目的其他已发表的文件;c本文件中各处引用的文件、资料,包括所要用到的软件开发标准。列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这
21、些文件资料的来源。 2计划21软件说明 提供一份图表,并逐项说明被测软件的功能、输入和输出等质量指标,作为叙述测试计划的提纲。22测试内容 列出组装测试和确认测试中的每一项测试内容的名称标识符、这些测试的进度安排以及这些测试的内容和目的,例如模块功能测试、接口正确性测试、数据文卷存取的测试、运行时间的测试、设计约束和极限的测试等。 23测试1(标识符) 给出这项测试内容的参与单位及被测试的部位。231进度安排 给出对这项测试的进度安排,包括进行测试的日期和工作内容(如熟悉环境。培训、准备输入数据等)。232条件 陈述本项测试工作对资源的要求,包括:a设备所用到的设备类型、数量和预定使用时间;b软件列出将被用来支持本项测试过程而本身又并不是被测软件的组成部分的软件,如测试驱动程序、测试监控程序、仿真程序、桩模块等等;c人员列出在测试工作期间预期可由用户和开发任务组提供的工作人员的人数。技术水平及有关的预备知识,包括一些特殊要求,如倒班操作和数据键入人员。233测试资料 列出本项测试所需的资料,如:a有关本项任务的文件;b被测试程序及其所在的媒体;c测试的输入和输出举例;d有关控制此项测试
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1