免费智能真题库 > 历年试卷 > 软件设计师 > 2013年下半年 软件设计师 上午试卷 综合知识
  第35题      
  知识点:   测试方法   等价类划分
  关键词:   测试方法   测试用例   测试   用例        章/节:   软件测试基础知识       

 
一个程序根据输入的年份和月份计算该年中该月的天数,输入参数包括年份(正整数)、月份(用1〜12表示)。若用等价类划分测试方法进行测试,则(35)不是一个合适的测试用例(分号后表示测试的输出)。
 
 
  A.  (2013,1;31)
 
  B.  (0,1;‘错误’)
 
  C.  (0,13;‘错误’)
 
  D.  (2000,-1;‘错误’)
 
 
 

 
  第35题    2009年下半年  
   22%
某系统重用了第三方组件(但无法获得其源代码),则应采用(35)对组件进行测试。
  第32题    2016年下半年  
   58%
对下图所示流程图采用白盒测试方法进行测试,若要满足路径覆盖,则至少需要(32)个测试用例。采用McCabe度量法计算该程序的环路..
  第35题    2011年上半年  
   63%
下图所示的逻辑流,最少需要(35)个测试用例可实现语句覆盖。
   知识点讲解    
   · 测试方法    · 等价类划分
 
       测试方法
        软件测试方法分为静态测试和动态测试。
        1)静态测试
        静态测试是指被测试程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测。
        (1)人工检测。人工检测是不依靠计算机而是靠人工审查程序或评审软件,包括代码检查、静态结构分析和代码质量度量等。
        (2)计算机辅助静态分析。利用静态分析工具对被测试程序进行特性分析,从程序中提取一些信息,以便检查程序逻辑的各种缺陷和可疑的程序构造。
        2)动态测试
        动态测试是指通过运行程序发现错误。对软件产品进行动态测试时可以采用黑盒测试法和白盒测试法。
        测试用例的设计如下。
        测试用例由测试输入数据和与之对应的预期输出结构组成。在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。
        (1)用黑盒法设计测试用例。黑盒测试也称为功能测试,在完全不考虑软件的内部结构和特性的情况下,测试软件的外部特性。
        常用的黑盒测试技术有等价类划分、边界值分析、错误推测和因果图等。
        ①等价类划分。等价类划分法将程序的输入域划分为若干等价类,然后从每个等价类中选取一个代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值。这样就可以用少量具代表性的测试用例取得较好的测试效果。等价类划分分两种不同的情况,即有效等价类和无效等价类。在设计测试用例时,要同时考虑这两种等价类。
        ②边界值分析。输入的边界比中间更加容易发生错误,因此用边界值分析来补充等价类划分的测试用例设计技术。边界值分析选择等价类边界的测试用例,既注重于输入条件边界,又适用于输出域测试用例。
        ③错误推测。错误推测是基于经验和直觉推测程序中所有可能存在的错误,从而有针对性地设计测试用例的方法。其基本思想是列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例。
        ④因果图。因果图法是从自然语言描述的程序规格说明中找出因(输入条件)和果(输出或程序状态的改变),通过因果图转换为判定表。
        (2)用白盒法设计测试用例。白盒测试也称为结构测试,根据程序的内部结构和逻辑来设计测试用例,对程序的路径和过程进行测试,检查是否满足设计的需要。
        白盒测试常用的技术是逻辑覆盖、循环覆盖和基本路径测试。
        ①逻辑覆盖。逻辑覆盖考查用测试数据运行被测程序时对程序逻辑的覆盖程度。主要的逻辑覆盖标准有语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖6种。
        ②循环覆盖。执行足够的测试用例,使得循环中的每个条件都得到验证。
        ③基本路径测试。基本路径测试法是在程序控制流图的基础上,通过分析控制流图的环路复杂性,导出基本可执行路径集合,从而设计测试用例。
 
       等价类划分
        等价类是指某个输入域的子集合。在该子集合中,测试某等价类的代表值就等于对这一类其他值的测试,对于揭露程序的错误是等效的。因此,将输入的全部数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据取得较好的测试结果。
        等价类划分有两种情况,即有效等价类和无效等价类。
        (1)有效等价类。对于程序的规格说明来说,它是由合理的、有意义的输入数据构成的集合,利用它可检验程序是否实现了规格说明中所规定的功能和性能。
        (2)无效等价类。与有效等价类相反,它是由对程序的规格说明无意义、不合理的输入数据构成的集合。
        测试用例的设计不仅接收合理的数据,也能经受意外的不合理数据的考验,这样才能确保软件具有较高的可靠性。
        分析可能的输入情况,按照如下几条规则对等价类进行划分。
        (1)在输入条件规定了取值范围或值的个数的情况下,确立一个有效等价类和两个无效等价类。
        例如,若输入条件规定了x的取值为1~100的整数,则等价类划分有效等价类1≤x≤100,两个无效等价类分别为x<1或x>100。
        (2)按照数值集合划分。在输入条件规定了输入值的集合或者规定了“必须如何”的条件下,确立一个有效等价类和一个无效等价类。
        例如,输入条件规定了x的取值为偶数,则有效等价类为x的值为偶数,无效等价类为x的值不为偶数的整数。
        (3)输入条件是一个布尔量的情况,确定一个有效等价类和一个无效等价类。
        (4)规定输入数据取一组值(假定n个),并且程序要在对每一个输入值分别处理的情况下,确立n个有效等价类和一个无效等价类。
        例如,分房方案中对教授、副教授、讲师、助教分别计分,则有效类为4个;无效类为1个。
        (5)按照限制条件或规则划分。在规定输入数据必须遵守的规则的情况下,确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。
        例如,C程序设计语言的语法规定.每个语句应以“;”结束,则其有效类有1个,而无效类有若干个(如以“,”结束、以“:”结束、以空格结束等)。
        (6)在确知已划分的等价类中各元素在程序处理方式不同的情况下,再将该等价类进一步划分为更小的等价类。
        等价类划分后,形成等价类表,见下表。
        
        等价类表样式
        根据等价类表,确定测试用例。首先,为每一个等价类规定唯一编号;其次,设计新的测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;最后,设计新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止(通常,程序在执行一个错误后不继续检测其他错误,故每次只测一个无效类)。
   题号导航      2013年下半年 软件设计师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第35题    在手机中做本题