山东大学软件测试实验报告(共23页)_第1页
山东大学软件测试实验报告(共23页)_第2页
山东大学软件测试实验报告(共23页)_第3页
山东大学软件测试实验报告(共23页)_第4页
山东大学软件测试实验报告(共23页)_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上实验一。黑盒测试1、 等价类划分电话号码问题 某城市电话号码由三部分组成。它们的名称和内容分别是: (1)地区码:空白或三位数字; (2)前 缀:非'0'或'1'的三位数字; (3)后 缀:4 位数字。 假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。根据该程序的规格说明,作等价类的划分,并设计测试方案。 根据题目,分别将地区码、前缀、后缀进行分类,分析结果如下:输入有效等价类编号无效等价类编号地区码空白1包含其他字符3三位数字2少于三位4多于三位5前缀非0或 非1的三位数6包含其他字符8包含0的三位数9包含

2、1的三位数10少于三位数11多于三位数12后缀四位数字7包含其他字符13少于四位数14多于四位数15根据上图的分析,可的测试用例测试数据预期结果覆盖类地区码前缀后缀空白5554344接受(有效)1、6、72325454343接受(有效)2、6、7A233224343拒绝(无效)3213224343拒绝(无效)423233224343拒绝(无效)523232A4343拒绝(无效)82322084343拒绝(无效)92321114343拒绝(无效)10232324343拒绝(无效)11232322224343拒绝(无效)122323224AS2拒绝(无效绝(无效)1423

3、2322拒绝(无效)15三角形问题 根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。 一个程序读入三个整数。把此三个数值看成是一个三角形的三个边。这个程序要打印出信息, 说明不是三角形、三角形是三边不等的、是等腰的、还是等边的。 分析题目中给出和隐含的对输入条件的要求:(1)整数    (2)三个数    (3)非零数   (4)正数   (5)两边之和大于第三边     (6)等腰

4、60;    (7)等边  如果 a 、 b 、 c 满足条件( 1 )  ( 4 ),则输出下列四种情况之一: 1)如果不满足条件(5),则程序输出为 " 非三角形 " 。 2)如果三条边相等即满足条件(7),则程序输出为 " 等边三角形 " 。 3)如果只有两条边相

5、等、即满足条件(6),则程序输出为 " 等腰三角形 " 。 4)如果三条边都不相等,则程序输出为 " 一般三角形 " 。  列出等价类表并编号 覆盖有效等价类的测试用例:a      b      c           

6、0;  覆盖等价类号码3      4      5             (1)-(7)4      4      5          

7、0;  (1)-(7),(8)4      5      5             (1)-(7),(9)   5      4      5      &#

8、160;      (1)-(7),(10)4      4      4             (1)-(7),(11)覆盖无效等价类的测试用例:日期问题 用决策表测试法测试以下程序:该程序有三个输入变量month、day、year(month 、 day 和year 均为整数值,并且满足:1month1

9、2 和1day31),分别作为输入日期的月份、日、年份,通过程序 可以输出该输入日期在日历上隔一天的日期。例如,输入为 2004 年11 月29 日,则该程序的输出为 2004 年12 月1 日。 (1) 分析各种输入情况,列出为输入变量 month 、 day 、 year 划分的有效等价类。 (2) 分析程序的规格说明,并结合以上等价类划分的情况,给出问题规定的可能采取的操作(即 列出所有的动作桩)。 (3) 根据 (1) 和 (2) ,画出简化后的决策表。1)划分等价类并编号,下表等价类划分的结果输入等价类有效等价类无效等价类日期的类型及长度6位数字字符有非数字字符少于6位数字字符多于6

10、位数字字符年份范围在19902049之间小于1990大于2049月份范围在0112之间等于00大于122)设计测试用例,以便覆盖所有的有效等价类在表中列出了3个有效等价类,编号分别为、,设计的测试用例如下:测试数据    期望结果      覆盖的有效等价类      输入有效      、3)为每一个无效等价类设计一个测试用例,设计结果如下:   

11、; 测试数据   期望结果     覆盖的无效等价类    95June     无效输入              20036      无效输入       

12、0;         无效输入                   无效输入                   无效输入   &

13、#160;               无效输入                   无效输入          3.     N

14、extDate 函数包含三个变量:month 、 day 和 year ,函数的输出为输入日期后一天的日期。 例如,输入为 2006年3月 7日,则函数的输出为 2006年3月8日 。要求输入变量 month 、 day 和 year 均为整数值,并且满足下列条件:  1month12  1day31  1920year2050  1)有效等价类为

15、:    M1月份:1月份12    D1日期:1日期31    Y1年:1812年20122)若条件   中任何一个条件失效,则 NextDate 函数都会产生一个输出,指明相应的变量超出取值范围,比如 "month 的值不在 1-12 范围当中 " 。显然还存在着大量的 year 、 month 、 day 的无效

16、组合, NextDate 函数将这些组合作统一的输出: " 无效输入日期 " 。其无效等价类为:    M2月份:月份<1    M3月份:月份>12    D2日期:日期<1    D3日期:日期>31    Y2年:年<1812    Y3年:年>2012  弱一般等价类测试用例

17、  月份    日期       年               预期输出   6       15        1912    

18、;       1912年6月16日  强一般等价类测试用例同弱一般等价类测试用例  注:弱-有单缺陷假设;健壮-考虑了无效值     (一)弱健壮等价类测试  用例ID   月份  日期    年          预期输出  WR1&#

19、160;     6      15    1912      1912年6月16日  WR2     -1     15    1912      月份不在112中  WR3     13 

20、0;   15    1912      月份不在112中  WR4      6      -1    1912      日期不在131中  WR5      6      3

21、2    1912      日期不在131中  WR6      6      15    1811      年份不在18122012中  WR7      6      15  

22、60; 2013      年份不在18122012中  (二)强健壮等价类测试          用例ID   月份    日期      年          预期输出  &#

23、160;       SR1       -1      15       1912      月份不在112中          SR2     &

24、#160;  6      -1        1912      日期不在131中          SR3        6      15    

25、;   1811      年份不在18122012中          SR4       -1      -1       1912      两个无效一个有效 &#

26、160;        SR5        6      -1        1811      两个无效一个有效          SR6  &#

27、160;    -1      15       1811      两个无效一个有效          SR7       -1      -1   

28、0;   1811      三个无效实验二。白盒测试利用白盒测试之赋税管理系统练习基本路径测试方法。 准备: Junit-4.10Eclipse(安装完Juniteclipse新建工程,本次先以获取数组中的中位数为例进行介绍然后在项目中引入Junite对于冒泡排序进行一次测试:当预期结果与执行结果相同时,测试显示正确如果有错误预判,显示结果错误。实验步骤二:设计程序,进行测试: 收入Income和供养人数nDependance来计算赋税金额的程序。  程序输入是I

29、ncome和nDependance,程序输出是:总税金TaxTotal  应缴所得税计算公式:TaxSubtotal 收入(income)  税率计算公式  <10000 0.02*income 10000<income<50000  200+0.03*(income-10000) ³>50000  1400+0.04*(income-50000) 免税部分:exemption = 人数*50; 实缴所得税: T

30、axTotal =  TaxSubtotal  exemption 程序Java代码: package P.test;  import java.util.Scanner;  public class TexTotal   private double totals;  private double income;  private

31、60;int per;  public double gettotals()   return totals;    public void setShuru(double income,int per)   this.income=income;   this.per=per;    public boolean&#

32、160;getShuru()    try     Scanner in = new Scanner(System.in);    System.out.println("请输入你的工资和家庭人数(以空格隔开):");    this.income = in.nextInt();    this.per

33、60;= in.nextInt();    catch (Exception e)     System.out.println("请输入正确的工资数目!");    System.out.println("错误类型:" + e);    return false;     &#

34、160;return true;    public void Income()   if(this.income<=0|this.per<=0)    System.out.println("请输入正确的家庭人数和收入!");   else if(this.income < 10000)    this.totals=

35、this.income*0.02-this.per*50;   else if(this.income>=10000 && this.income<50000)    this.totals=200+(this.income-10000)*0.03-this.per*50;   else    this.totals=1400+(this.income-50000)*0.04-this.per*50

36、;      if(this.totals<0)    this.totals=0;       public void Prints()    System.out.println("需要缴纳的税为:"+this.totals);    public static void

37、0;main(String args)   TexTotal d=new TexTotal();   if(d.getShuru()    d.Income();    d.Prints();          if(this.totals<0)    this.totals=0;&

38、#160;      public void Prints()    System.out.println("需要缴纳的税为:"+this.totals);    public static void main(String args)   TexTotal d=new TexTotal();   

39、if(d.getShuru()    d.Income();    d.Prints();         测试代码: package P.test;  import static org.junit.Assert.*; import junit.framework.Assert;  import org.junit.

40、After; import org.junit.Before; import org.junit.Test;  public class TexTotalTest   TexTotal s=new TexTotal();   Before  public void setUp() throws Exception     

41、60;After  public void tearDown() throws Exception       Test  public void testGetShuru1()    s.setShuru(9994,5);   s.Income();   Assert.assertEquals(0.0,s.gettotals(

42、);    Test  public void testGetShuru2()    s.setShuru(10023,3);   s.Income();   Assert.assertEquals(50.69,s.gettotals();    Test  public void testGetShuru3()  &

43、#160; s.setShuru(59232,4);   s.Income();   Assert.assertEquals(1569.28,s.gettotals();    Test  public void testGetShuru4()    s.setShuru(500,0);   s.Income();   Assert.assertE

44、quals(0.0,s.gettotals();    Test  public void testGetShuru5()    s.setShuru(-50000,4);   s.Income();   Assert.assertEquals(0.0,s.gettotals();   3 测试数据测试均顺利通过。路径覆盖率为100%。实验三、1、运行Winrunner,新建一

45、个测试项目。点击【开始】按钮,选择【程序】【WinRunner】【WinRunner】,点击【New Test】。2、开始录制。录制前查看如下设置是否正确。主菜单“Tools”“General Options”“General”选项卡设置如下,选择GUI Map模式为“The GUI Map File per Test”图3-1-1点击工具栏上“录制”按钮, WinRunner进入录制状态。3、启动需录制界面窗口。使用WinRunner自带的演示程序,运行Flight 4B程序,进入“Login”窗口如图3-1-2。具体运行方法为:点击【开始】按钮,选择【程序】【WinRunner】【Samp

46、le Applications】,点击【Flight 4A】。 4、操作图形用户界面。点击“Agent Name”输入框,输入“tester”;点击“Password”输入框,输入“mercury”;点击“OK”按钮。图3-1-25、在图3-1-3中选择FileOpen Order。图3-1-3在随后的窗口中,选中Order No(在checkBox中打上勾),输入数字3,按“OK”按钮。如图3-1-4。 图3-1-4在图3-1-3中,选择FileFax Order。在图3-1-4窗口中输入传真号码(数字)如:。并将签名选项打上勾。 图3-1-5在Agent Signature窗口中写下你的名

47、字。用鼠标在白板上签名(画名)。仔细查看WinRunner如何在Context Sensitive录制模式下进行签名。清除刚才所做的签名轨迹。按下“Clear Signature”按钮。将Fax Order 窗口移动到屏幕上不同的位置。(在更换AnoLog录制模式时,重新设置窗口位置)按F2转换到AnoLog录制模式下。并在Agent Signature窗口中写下你的名字(画下你的名字)。仔细观察WinRunner如何在Anolog录制模式下进行签名录制。再次按下F2转换回Context Sensitive录制模式,按下Send按钮,发送传真。窗口将提示发送成功。6、停止录制。 按左Ctrl + F3键停止录制。查看WinRunner中记录的脚本。 7、保存脚本。点击工具栏中“保存”按钮把脚本保存到指定目录。8、回放脚本。关闭“Flight 4A”程序。选择工具栏上“From Top”按钮。观察脚本的运行。l        插入同步点操作前请先确保如下设置:主菜单“Tools”“General Options”“Settings”选项卡设置如下,选择Timeout for

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论