
软件考试技术实验指导书.doc
28页软件测试技术实验指导书———————————————————————————————— 作者:———————————————————————————————— 日期: 2 《软件测试与质量保证》实验指导书《软件测试技术》实验指导书实验1、自由测试一、 实验目的1. 理解软件测试的概念2. 提高反向思维的能力二、实验任务针对某产品Beta的版本,对照其竞争对手的产品,进行测试,以发现该软件产品潜在的任何问题,记录下来Discuz! X 3.0 beta 对比 PHPWind 9.0问题ID问题描述操作步骤说明………实验2、黑盒测试方法:等价类划分法+边界值分析方法一、实验目的1. 掌握等价类、有效等价类、无效等价类、边界值等概念2. 掌握边界值分析法、等价类划分法的测试用例设计方法3. 能够将这两种方法结合起来,灵活运用二、实验任务 以下三个任务、至少完成一个1、对三角问题综合运用边界值分析方法、等价类划分方法设计测试用例三角形问题:void Triangle (int a, int b, int c)函数规定输入三个整数a、b、c分别作为三边的边长构成三角形。
通过程序判定所构成的三角形的类型(等边三角形、等腰三角形、一般三角形、构不成三角形),并在屏幕上输出1<=a,b,c<=200 实验步骤:① 划分等价类,得到等价类表等价类表格式如下:输入变量有效等价类无效等价类………② 综合运用这两种方法设测试用例,得到测试用例表:边界值abc………③ 综合运用这两种方法设测试用例,得到测试用例表:测试用例IDabc预期输出T1555等边三角形T2223等腰三角形……………④ 根据上述测试用例表,能否进行优化,获得最小测试用例集合:2、对于找零钱最佳组合问题运用边界值分析法设计测试用例实验步骤:① 分析边界值② 运用健壮性边界条件法设计测试用例,得到测试用例表(测试用例表格式同实验1)③ 执行测试,填写软件缺陷报告(软件缺陷报告格式同实验1)3、现有一个程序int CheckTel(char *rc, char *n)执行号码有效性检查功能,中国的固定号码由两部分组成这两部分的名称和内容分别是:l 地区码(rc):以0开头的三位或者四位数字(包括0)l 号码(n):以非0、非1开头的七位或者八位数字对该程序进行边界值分析,然后进行等价类划分,分别运用边界值条件、等价类划分的结果来设计测试用例,并尽可能优化所设计的测试用例。
实验步骤:同上,注意考虑内部边界值实验3、黑盒测试:决策表法及测试用例设计一、实验目的1、掌握决策表的概念2、掌握决策表测试用例设计法二、实验任务 以下三个任务、至少完成一个1、对NextDate问题运用决策表法设计测试用例,并执行测试,撰写实验报告NextDate (int month, int day, int year)函数规定:输入三个整数:month、day和year,函数的输出为输入日期后一天的日期例如,输入为2006年3月7日,则函数的输出为2006年3月8日,year满足1920≤year≤2050实验步骤:1)构造决策表2)根据决策表设计测试用例,得到测试用例表(测试用例表格式同实验1)3)执行测试,填写软件缺陷报告(软件缺陷报告格式同实验1)2、假设一个中国的航空公司规定:l 中国去欧美的航线所有座位都有食物供应,每个座位都可以播放电影l 中国去非欧美的国外航线都有食物供应,只有商务仓可以播放电影l 中国国内的航班的商务仓有食物供应,但是不可以播放电影l 中国国内的航班的经济仓除非飞行时间大于2小时就有食物供应,但是不可以播放电影请用程序实现上述功能,并用决策表法设计测试用例,再执行测试,撰写实验报告。
实验步骤:同上3、对三角问题运用决策表法设计测试用例,并执行测试,撰写实验报告实验步骤:同上实验4、黑盒测试:因果图法及测试用例设计一、实验目的1、掌握因果图的概念2、掌握因果图测试用例设计法二、实验任务 以下三个任务、至少完成一个1、某软件规格说明书包含这样的要求:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息N;如果第二列字符不是数字,则给出信息M用因果图法测试该程序,并撰写实验报告注:可以用输出“Modify file”模拟程序中要求的修改文件)实验步骤: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、程序void score_processing(float score[],int length)的功能说明如下:程序统计数组score前10个元素中有效成绩([0,100]内为有效成绩)的个数、总和及平均值,并输出参数说明:数组score内按顺序存放着n个学生成绩(n<=length),且以-1作为结束标志,length为数组的长度且length〉10试用基本路径集测试法测试该程序,撰写实验报告实验步骤:1)画出程序的流图(控制流程图)2)计算流图G的圈复杂度V(G)3)确定只包含独立路径的基本路径集4)根据上面的独立路径,设计测试用例,得到测试用例表5)执行测试,填写软件缺陷报告2、程序int binsearch(int array[],int length,int key)实现折半查找的功能数组array元素按升序排列,length为数组array的长度,key为要查找的值试用基本路径集测试法测试该程序,撰写实验报告实验步骤:同上3、对三角问题运用基本路径集测试法设计测试用例,并执行测试,撰写实验报告。
实验步骤:同上实验7、面向对象软件的测试:类方法的测试一、实验目的1、掌握类方法的测试方法2、掌握VS2005单元测试工具的使用二、VS2005单元测试工具的使用我们以program类的add方法的测试为例说明VS2005单元测试工具的使用:class Program { static void Main(string[] args) { Program p = new Program(); int result=p.add(5,5); double result1 = p.sqrt(5); Console.WriteLine("The result is {0},{1}",result,result1); } int add(int a,int b) { return a + b; } double sqrt(double a) { return System.Math.Sqrt(5); } }步骤如下:1)打开VS2005,新建“Visual C# 控制台应用程序”项目,输入上述Program类。
2)在Program类的add方法旁单击右键,选择“创建单元测试”:3)输出项目选择“创建新的Visual C# 测试项目”,然后单击“确定”:4)输入项目的名称,然后单击“创建”:5)得到:l 应用工程ConsoleApplication对应的测试工程TestProject1l program对应的测试类ProgramTestl add方法对应的测试方法addTest6)加载测试用例: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类定义了一组方法用于检查给定的。












