资源描述
《软件测试技术》试验指导书
试验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。
试验步骤:
① 划分等价类,得到等价类表。等价类表格式以下:
输入变量
有效等价类
无效等价类
…
…
…
② 综合利用这两种方法设测试用例,得到测试用例表:
边界值
a
b
c
…
…
…
③ 综合利用这两种方法设测试用例,得到测试用例表:
测试用例ID
a
b
c
预期输出
T1
5
5
5
等边三角形
T2
2
2
3
等腰三角形
…
…
…
…
…
④ 依据上述测试用例表,能否进行优化,取得最小测试用例集合:
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,函数输出为输入日期后一天日期。比如,输入为3月7日,则函数输出为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、掌握VS单元测试工具使用。
二、VS单元测试工具使用
我们以program类add方法测试为例说明VS单元测试工具使用:
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)打开VS,新建“Visual C# 控制台应用程序”项目,输入上述Program类。
2)在Program类add方法旁单击右键,选择“创建单元测试”:
3)输出项目选择“创建新Visual C# 测试项目”,然后单击“确定”:
4)输入项目标名称,然后单击“创建”:
5)得到:
l 应用工程ConsoleApplication对应测试工程TestProject1
l program对应测试类ProgramTest
l 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
测试指定对象是否为 空引用(在 Visual Basic 中为 Nothing);假如它不为空,则测试失败。
IsNotNull
测试指定对象是否为非空;假如它为空引用(在 Visual Basic 中为 Nothing),则测试失败。
三、试验任务
以下两个任务、最少完成一个
1、对于三角问题,设计一个类,其中包含方法 int TriangleType(int a,int b,int c),输入为三角形三条边,输出为:0或1或2或3,其中:0代表参数不正当(小于0),1代表一般三角形,2代表等腰三角形,3代表等边三角形。
用VS单元测试工具测试该方法,测试用例经过弱健壮等价类测试用例设计法得到。
试验步骤:
1)弱健壮等价类测试用例设计法设计测试用例,得到测试用例表。
2)用VS单元测试工具生成对应测试类,测试方法,加载测试用例。
3)实施测试,得到测试结果,填写软件缺点汇报。
2、对于工资计算问题(见试验5 任务1),设计一个类,其中包含方法
double SalaryCaculating(double t, double wph ),输入t代表工作时间,wph代表小时工资,输出为月工资。
用VS单元测试工具测试该方法,测试用例经过逻辑覆盖法中判定覆盖标准得到。
试验步骤:
1)利用逻辑覆盖法中判定覆盖标准设计测试用例,得到测试用例表。
2)用VS单元测试工具生成对应测试类,测试方法,加载测试用例。
3)实施测试,得到测试结果,填写软件缺点汇报。
试验8、图形用户界面GUI测试:Winrunner使用(一)
一、试验目标
1、掌握线形脚本概念。
2、掌握Winrunner怎样GUI对象。
3、初步掌握Winrunner使用
二、Winrunner简单使用
1、关键概念:
1)GUI MAP文件:通常Windows应用程序,通常是由窗口、按钮、菜单等组成,这些在WinRunner中通称为GUI对象。WR会经过学习这些GUI对象属性来识别GUI对象。 WR把学来这些GUI对象属性(称为对象物理描述)保留在GUI Map文件中。GUI Map文件包含了GUI对象逻辑名和物理描述,逻辑名和物理描述一起作用,确保每个GUI对象有本身唯一标识。在测试脚本中,WR使用逻辑名(Logic name) 表征对象。当实施测试时,WR使用GUI Map文件定位对象:先从GUI map文件中读取相关对象描述,然后寻求有相同属性对象。
2)TSL语言:The scripts you create with Mercury Interactive systems are written in Test Script Language (TSL). TSL is an enhanced, C-like programming language designed for testing.
相关TSL语言具体说明参考winrunner帮助菜单中TSL online reference
2、WinRunner测试过程
WinRunner测试步骤分为以下六个阶段:
n 创建GUI Map:识别应用程序GUI对象
n 创建测试:通常先经过录制得到原始脚本,再进行合适编辑建立测试脚本。
n 调试测试:对测试脚本除错(debug)
n 实施测试
n 查看测试结果
n 汇报发觉错误
3、 以windows自带计算器加法功效测试为例,说明winrunner测试步骤:
在测试之前,先在D盘新建一个文件夹CaculatorTest来保留后面生成部分文件。
1) 打开计算器,开启winrunner(为了测试顺利最好关闭其它无关程序)。
2)创建计算器GUI Map:
A、经过菜单“Tools/GUI Map Editor”打开GUI Map Editor窗体:
B、经过菜单“File/close all ” 关闭其它GUI map文件。
C、点击“learn”,然后根据提醒点击“计算器”窗体,开始学习。
D、学习完成后,经过菜单“File/save”将学习好文件保留到前面新建CaculatorTest文件夹中。
E、关闭GUI Map Editor窗体。
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)运行测试:点击“From Top”按钮运行测试,得到测试结果:
三、试验任务
以下两个任务、最少完成一个
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)利用DataDriver Wizard生成数据表,并将部分数据参数化。
2)利用Paremeterize Data将剩下数据参数化。
3)得到数据驱动脚本(绿色部分为数据参数化后得到)。
table = "CaculatorTestData.xls";
rc = ddt_open(table, DDT_MODE_READ);
if (rc!= E_OK && rc != E_FILE_OPEN)
pause("Cannot open table.");
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)测试脚本转化为数据驱动测试脚本,并实施测试,撰写试验汇报,测试用例经过逻辑覆盖法中判定覆盖标准得到。
试验步骤:同上
展开阅读全文