第7章 软件实现-软件测试-3_第1页
第7章 软件实现-软件测试-3_第2页
第7章 软件实现-软件测试-3_第3页
第7章 软件实现-软件测试-3_第4页
第7章 软件实现-软件测试-3_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

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

文档简介

1、 chapter_70本章要点本章要点q一、软件测试基础 q二、单元测试q三、集成测试q四、确认测试q五、白盒测试技术q六、黑盒测试技术p七、七、调试调试p八、软件可靠性八、软件可靠性 chapter_71黑盒测试黑盒测试基于需求的测试基于需求的测试 chapter_72黑盒测试法的概念黑盒测试法的概念q 黑盒测试被称为功能测试或数据驱动测试。在测试时,把被测程序视为一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下进行。q 采用黑盒测试的目的主要是在已知软件产品所应具有的功能的基础上,进行:(1)检查程序功能能否按需求规格说明书的规定正常使用,测试各个功能是否有遗漏,检测性能等

2、特性要求是否满足。(2)检测人机交互是否错误,检测数据结构或外部数据库访问是否错误,程序是否能适当地接收输入数据而产生正确的输出结果,并保持外部信息(如数据库或文件)的完整性。(3)检测程序初始化和终止方面的错误。黑盒测试能不能取代白盒测试?黑盒测试能不能取代白盒测试? chapter_73黑盒测试法的概念黑盒测试法的概念n 黑盒法,力图发现下错误类型:黑盒法,力图发现下错误类型: 功能不正确或遗漏了功能;功能不正确或遗漏了功能;界面(接口)错误;界面(接口)错误; 数据结构错误或外部数据库访问错数据结构错误或外部数据库访问错误;误; 性能错误;性能错误; 初始化和终止错误。初始化和终止错误。

3、n 白盒测试在早期阶段进行,黑盒法主要在后期;白盒测试在早期阶段进行,黑盒法主要在后期; chapter_74等等价价分分类类法法边边值值分分析析法法错错误误推推测测法法黑盒法测试黑盒法测试常用的测试方法有:常用的测试方法有: chapter_75一、等价类划分一、等价类划分p 等价类划分方法等价类划分方法把所有可能的输入数据把所有可能的输入数据,即程序的,即程序的输入域输入域划分成若干部分划分成若干部分,然后,然后从每一部分中选取少从每一部分中选取少数有代表性的数据做为测试用例数有代表性的数据做为测试用例。p 注注:这样选取的测试数据最有代表性,可以用较少:这样选取的测试数据最有代表性,可以

4、用较少的测试数据,有效的发现程序中的错误的测试数据,有效的发现程序中的错误p 注注:由于:由于“穷尽穷尽”的黑盒测试是不现实的,等价划的黑盒测试是不现实的,等价划分是一种较好的策略,以期用较小的代价,暴露出分是一种较好的策略,以期用较小的代价,暴露出较多的错误较多的错误q 使用这一方法设计测试用例要经历下面二步:使用这一方法设计测试用例要经历下面二步: 1 1)划分等价类(列出等价类表)划分等价类(列出等价类表) 2 2)选取测试用例。)选取测试用例。 chapter_76(一)、如何划分等价类(一)、如何划分等价类 等价类的划分有两种不同的情况: 有效等价类:是指对于程序的规格说明来说,是合

5、理的,有意义的输入数据构成的集合。 无效等价类:是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。 在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。 一、等价类划分(续)一、等价类划分(续) chapter_77经验经验1:v如果规定了输入值的范围,则可划分出:如果规定了输入值的范围,则可划分出:1个有效的等个有效的等价类价类(输入值在此范围内输入值在此范围内),2个无效的等价类个无效的等价类(输入值小输入值小于最小值、大于最大值于最小值、大于最大值);v例,输入学生成绩,范围为例,输入学生成绩,范围为0-100输入条件输入条件有效等价类有效等价类无效等价类无效等价

6、类范围为范围为0-1000成绩成绩100成绩成绩100 chapter_78经验经验2 2v如果规定了输入数据的个数,则类似地也可以划分如果规定了输入数据的个数,则类似地也可以划分出出1个有效的等价类和个有效的等价类和2个无效的等价类;个无效的等价类;v例,要求输入三个数据例,要求输入三个数据输入条件输入条件有效等价类有效等价类无效等价类无效等价类输入三个数据输入三个数据1数据数数据数3数据数数据数=0个个数据数数据数3个个 chapter_79经验经验3 3:v如果规定了输入数据的一组值,而且程序对不同输入值做不如果规定了输入数据的一组值,而且程序对不同输入值做不同处理。同处理。v则每个允许

7、的输入值是一个有效的等价类,此外还有一个无则每个允许的输入值是一个有效的等价类,此外还有一个无效的等价类效的等价类(任一个不允许的输入值任一个不允许的输入值);v例,可输入的教师职称包括:助教、讲师、副教授、教授例,可输入的教师职称包括:助教、讲师、副教授、教授输入条件输入条件有效等价类有效等价类无效等价类无效等价类输入教师职称输入教师职称助教助教讲师讲师副教授副教授教授教授助工助工 chapter_710经验经验4-6:v 4-如果规定了输入数据必须遵循的规则,则可如果规定了输入数据必须遵循的规则,则可以划分出一个有效的等价类以划分出一个有效的等价类(符合规则符合规则)和若干和若干个无效的等

8、价类个无效的等价类(从各种不同角度违反规则从各种不同角度违反规则);v 5-如果规定了输入数据为整型,则可以划分出如果规定了输入数据为整型,则可以划分出正整数、零和负整数等正整数、零和负整数等3个有效类;个有效类;v 6-如果程序的处理对象是表格,则应该使用空如果程序的处理对象是表格,则应该使用空表,以及含一项或多项的表。表,以及含一项或多项的表。 chapter_711划分等价类小结p 以上列出的启发式规则只是测试时可能遇到的情况中以上列出的启发式规则只是测试时可能遇到的情况中的很小一部分,实际情况千变万化,根本无法一一列的很小一部分,实际情况千变万化,根本无法一一列出出;p 为了正确划分等

9、价类,一是要注意积累经验,二是要为了正确划分等价类,一是要注意积累经验,二是要正确分析被测程序的功能正确分析被测程序的功能;p 此外,在划分无效的等价类时还必须考虑编译程序的此外,在划分无效的等价类时还必须考虑编译程序的检错功能,一般说来,不需要设计测试数据用来暴露检错功能,一般说来,不需要设计测试数据用来暴露编译程序肯定能发现的错误编译程序肯定能发现的错误;p 最后说明一点,上面列出的启发式规则虽然都是针对最后说明一点,上面列出的启发式规则虽然都是针对输入数据说的,但是其中绝大部分也同样适用于输出输入数据说的,但是其中绝大部分也同样适用于输出数据。数据。 chapter_712(二)、确立测

10、试用例在确立了等价类之后,建立等价类表,列出所有划分出的等价类。一、等价类划分(续)一、等价类划分(续) chapter_713p再从划分出的等价类中按以下原则选择测试用例:(1) 为每一个等价类规定一个唯一编号;(2) 设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;(3)设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。一、等价类划分(续)一、等价类划分(续) chapter_714例1:用户名是由字母开头,后跟字母或数字的任意组合构成。有效字符数为1-20个。”一、一、等

11、价类法等价类法-实例实例1用等价类划分的方法,建立输入等价类表:输入条件输入条件有效等价类有效等价类无效等价类无效等价类第一个字符第一个字符字母(字母(1 1)非字母(非字母(5 5)标识符组成标识符组成字母(字母(2 2),数字(),数字(3 3) 非字母数字字符(非字母数字字符(6 6)标识符字符数标识符字符数1 18 8个(个(4 4)0 0(7 7),大于),大于2020(8 8) chapter_715确定等价类输入数据:确定等价类输入数据:序号序号用户名用户名覆盖等价类覆盖等价类输出输出1(1),(2),(3),(4)有效用户名22345(5)无效用户名3U¥(6)4(7)5Y12

12、3456789abcdefghijk(8)一、一、等价类法等价类法-实例实例1 (续)(续) chapter_716例例2:根据输入判断三角形的形状:根据输入判断三角形的形状测试场景:测试场景:一个程序读入3个整数,把这三个数值看作一个三角形的3条边的长度值。这个程序要打印出信息,说明这个三角形是不等边的、是等腰的、还是等边的一、一、等价类法等价类法-实例实例2 chapter_717ab+c?ba+c?c0b0c0TTTFFF chapter_718创建等价类表:创建等价类表:输入条件有效等价类无效等价类是否三角形的三条边(A0), (1)(B0), (2)(C0), (3)(A+BC),

13、(4)(B+CA), (5)(A+CB), (6)(A0), (7)(B0), (8)(C0), (9)(A+BC), (10)(B+CA), (11)(A+CB), (12)是否等腰三角形(A=B), (13)(B=C), (14)(C=A), (15)(AB)and(BC)and(CA) (16)是否等边三角形(A=B)and(B=C)and(C=A) (17)(AB), (18)(BC), (19)(CA), (20)一、等价类法一、等价类法-实例实例2 chapter_719确定等价类输入数据:确定等价类输入数据:序号序号【A A,B B,C C】覆盖等价类覆盖等价类输出输出1【3,4

14、,5】(1),(2),(3),(4),(5),(6)一般三角形2【0,1,2】(7)不能构成三角形3【1,0,2】(8)4【1,2,0】(9)5【1,2,3】(10)6【1,3,2】(11)7【3,1,2】(12)8【3,3,4】(1),(2),(3),(4),(5),(6),(13)等腰三角形9【3,4,4】(1),(2),(3),(4),(5),(6),(14)10【3,4,3】(1),(2),(3),(4),(5),(6),(15)11【3,4,5】(1),(2),(3),(4),(5),(6),(16)非等腰三角形12【3,3,3】(1),(2),(3),(4),(5),(6),(17

15、)是等边三角形13【3,4,4】(1),(2),(3),(4),(5),(6),(14),(18)非等边三角形14【3,4,3】(1),(2),(3),(4),(5),(6),(15),(19)15【3,3,4】(1),(2),(3),(4),(5),(6),(13),(20)一、等价类法一、等价类法-实例实例2 chapter_720q边界值分析也是一种黑盒测试方法,是对等价类划分方法的补充。q人们从长期的测试工作经验得知,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。二、边值分析法二、边值分析法 chapter_72

16、1p比如,在做三角形计算时,要输入三角形的三个边长:A、B和C。 我们应注意到这三个数值应当满足 A0、B0、C0、 ABC、ACB、BCA,才能构成三角形。但如果把六个不等式中的任何一个大于号“”错写成大于等于号“”,那就不能构成三角形。问题恰出现在容易被疏忽的边界附近。二、边值分析法(续)二、边值分析法(续) chapter_722q这里所说的边界是指,相对于输入等价类和输出等价类而言,稍高于其边界值及稍低于其边界值的一些特定情况。q使用边界值分析方法设计测试用例,首先应确定边界情况。应当选取正好等于,刚刚大于,或刚刚小于边界的值做为测试数据,而不是选取等价类中的典型值或任意值做为测试数据

17、。二、边值分析法(续)二、边值分析法(续) chapter_723健壮性测试是边界值分析的一种简单扩展adcbx1x2二、边值分析法(续)二、边值分析法(续) chapter_724p最坏情况测试用例adcbx1x2二、边值分析法(续)二、边值分析法(续) chapter_725二、边值分析法(续)二、边值分析法(续)常见的边界值: 1)屏幕上光标在最左上、最右下位置 2)报表的第一行和最后一行 3)数组元素的第一个和最后一个 4)循环的第 0 次、第 1 次和倒数第 2 次、最后一次 chapter_726对边界值设计测试用例,应遵循以下几条原则:对边界值设计测试用例,应遵循以下几条原则:(

18、1 1)如果输入条件规定了值的范围,则应取刚达到这个)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。为测试输入数据。例:程序规格说明中规定: “重量在10公斤至50公斤范围内的邮件,其邮费计算公式为”则作为测试用例,我们应选取9.999.99 、10、10.0110.01、49.9949.99、50、及 50.01。二、边值分析法(续)二、边值分析法(续) chapter_727对边界值设计测试用例,应遵循以下几条原则:对边界值设计测试用例,应遵循以下几条原则:2.2.如果输入条件规定了值

19、的个数,则用最大个数、最小如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少一、比最大个数多一的数作为测个数、比最小个数少一、比最大个数多一的数作为测试数据。试数据。例:程序规格说明中规定: “某输入文件可包含1至255个记录”则作为测试用例,我们应选取1、255、0 0及256。二、边值分析法(续)二、边值分析法(续) chapter_728对边界值设计测试用例,应遵循以下几条原则:对边界值设计测试用例,应遵循以下几条原则:3、将规则1)和2)应用于输出条件,即设计测试用例使输出值达到边界值及其左右的值。例如,一程序属于情报检索系统,要求每次最少显示1条、最多显示4条情报摘要,

20、这时我们应考虑的测试用例包括1和4,还应包括0和5等。 二、边值分析法(续)二、边值分析法(续) chapter_729例1:分析以下代码段int a10;for(i=1;i0), (1)(B0), (2)(C0), (3)(A+BC), (4)(B+CA), (5)(A+CB), (6)(A0), (7)(B0), (8)(C0), (9)(A+BC), (10)(B+CA), (11)(A+CB), (12)是否等腰三角形(A=B), (13)(B=C), (14)(C=A), (15)(AB)and(BC)and(CA) (16)是否等边三角形(A=B)and(B=C)and(C=A)

21、(17)(AB), (18)(BC), (19)(CA), (20)二、边值分析法(续)二、边值分析法(续) chapter_731p一个有趣的例子:l美国通用汽车公司的客服收到一封客户抱怨的信:我们家有一个传统的习惯,就是每天晚饭后会吃冰激凌甜点,我开车去买。奇怪的是每当我买香草口味的冰激凌,车子就不发动。但如果我买其它口味,车子就发动得很顺。难道你们的车子对香草口味冰激凌过敏?l客服经理派一位工程师去调查。工程师与这位客户上车,开车买香草口味冰激凌。上车后,车子发动不起来。之后这个工程师又来了三个晚上,第一晚买巧克力冰激凌,车子没事;第二晚买草莓口味的,车子也没事,第三晚买香草口味,车子又

22、不动了。l工程师记下了所有发生的详细资料。包括时间,用油等l他发现一个问题,买香草冰激凌比其它口味所花时间少。l为什么?p蒸汽锁没足够的时间散热蒸汽锁没足够的时间散热三、错误推测法三、错误推测法 chapter_732p错误推测法属于逆向思维方式,它是基于经验和错误推测法属于逆向思维方式,它是基于经验和直觉,推测软件中所有可能存在的各种错误,从直觉,推测软件中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。而有针对性的设计测试用例的方法。p错误推测方法的基本思想是:列举出软件中所有错误推测方法的基本思想是:列举出软件中所有可能的错误和容易发生错误的情况,并有针对性可能的错误和容易发生

23、错误的情况,并有针对性的设计测试用例。的设计测试用例。p例如,没有获取到输入,系统如何处理。测试工例如,没有获取到输入,系统如何处理。测试工作者总结的常见软件错误,以前产品测试中曾经作者总结的常见软件错误,以前产品测试中曾经发现的错误等等。发现的错误等等。 三、错误推测法三、错误推测法 chapter_733 错误推测法是一种简单易行的黑盒法,但由于该方法有较大的随意性,主要依赖于测试者的经验,因此通常作为一种辅助的黑盒测试方法。例例 对一个排序的程序,可能出错的情况有:对一个排序的程序,可能出错的情况有: 1 1、输入表为空的情况。、输入表为空的情况。 2 2、输入表中只有一个一行。、输入表

24、中只有一个一行。 3 3、输入表中所有的行都具有相同的值。、输入表中所有的行都具有相同的值。 4 4、输入表已经排好序。、输入表已经排好序。 像像“愚笨愚笨”的用户那样做,随便点点鼠标,测试一下;的用户那样做,随便点点鼠标,测试一下;借助借助2/8原则,在已经找到缺陷的地方再找找;凭直觉、经验原则,在已经找到缺陷的地方再找找;凭直觉、经验和预感猜测一下。这些思路都可以帮助我们找到更多的软件和预感猜测一下。这些思路都可以帮助我们找到更多的软件缺陷。缺陷。 三、错误推测法三、错误推测法 chapter_734错误猜测例子错误猜测例子p年龄:应该是大于年龄:应该是大于0的数字的数字p输入输入:aaa

25、,看是否出现错误看是否出现错误p性别性别:应该是男应该是男/女女p输入其它,看是否出现错误输入其它,看是否出现错误 chapter_735补充:基于判定表的测试补充:基于判定表的测试桩123456789C1:a,b,c构成三角形?C2: a=b?C3: a=c?C4: b=c?N-YYYYYYYNYYNYYYNNYNYYYNYNYNNYYNNNA1:非三角形A2:不等边三角形A3:等腰三角形A4:等边三角形A5:不可能X X X X X X X X X chapter_736四、场景法四、场景法 场景法是将软件系统的某个流程看成路径,用场景法来设计测试用例。根据流程的顺序依次进行组合,使得流程

26、的各个分支都能走到。目前的软件几乎都是由事件触发来控制流程的,事件触发的情景便形成了场景。这种测试思想是Rational公司刚提出的 chapter_737p 基本流和备选流基本流和备选流p 在利用场景法测试一个软件的时候,如果软件按照正确在利用场景法测试一个软件的时候,如果软件按照正确的事件流而实现了一个流程,则称该流程为该软件的的事件流而实现了一个流程,则称该流程为该软件的“基本流基本流”。p 如果出现故障,不能用基本流来表示,那么就要用一个如果出现故障,不能用基本流来表示,那么就要用一个所谓的所谓的“备选流备选流”来加以替代。来加以替代。p 一个备选流可从基本流开始,在某个特定条件下执行

27、,一个备选流可从基本流开始,在某个特定条件下执行,执行完后重新加入到基本流中。例如,如果你从执行完后重新加入到基本流中。例如,如果你从ATM机取机取款系统中顺利地取出一笔钱,那么款系统中顺利地取出一笔钱,那么ATM机取款系统就执行机取款系统就执行了一个基本流。反之,了一个基本流。反之,ATM机取款系统就要执行一个备选机取款系统就要执行一个备选流。流。 四、场景四、场景法法 chapter_738p 场景分析法中设计测试用例的参考步骤场景分析法中设计测试用例的参考步骤p (1).根据说明书,描述出程序的基本流及各项备选流;根据说明书,描述出程序的基本流及各项备选流;p (2).根据基本流和各项备

28、选流生成不同的场景;根据基本流和各项备选流生成不同的场景;p (3).对每一个场景设计相应的测试用例;对每一个场景设计相应的测试用例;p (4).对生成的所有测试用例重新复审,去掉多余的测试用对生成的所有测试用例重新复审,去掉多余的测试用例。测试用例确定后,对每一个测试用例确定测试数据,例。测试用例确定后,对每一个测试用例确定测试数据,进行测试。进行测试。四、场景四、场景法法 chapter_739五、涉及知识点总结场景的基本流和备选流 chapter_740p 右图有一个基本流和四个备选流。每个可能路径,可以确定不同的用例场景。从基本流开始,再将基本流和备选流结合起来,可以确定以下用例场景:

29、场景 1 基本流场景 2 基本流 备选流 1场景 3 基本流 备选流 1 备选流 2场景 4 基本流 备选流 3场景 5 基本流 备选流 3 备选流 1场景 6 基本流 备选流 3 备选流 1 备选流 2场景 7 基本流 备选流 4场景 8 基本流 备选流 3 备选流 4四、场景法四、场景法 chapter_741四、场景法四、场景法下面使用网上购物系统的购物场景举例说明。下面使用网上购物系统的购物场景举例说明。(1 1)场景描述)场景描述 用户进入网上购物系统网站进行购物,选好物用户进入网上购物系统网站进行购物,选好物品后进行购买,这时需要使用账号登录,登录成品后进行购买,这时需要使用账号登

30、录,登录成功后付款,交易成功后生成订单,完成此次购物功后付款,交易成功后生成订单,完成此次购物活动。活动。(2 2)使用场景法设计测试用例)使用场景法设计测试用例 确定基本流和备选流事件确定基本流和备选流事件 chapter_742四、场景法四、场景法基本流基本流登录网上购物系统网站,选择物品,登录帐号,付登录网上购物系统网站,选择物品,登录帐号,付钱交易,生成订单钱交易,生成订单备选流备选流1 账号不存在账号不存在备选流备选流2 账号或密码错误账号或密码错误备选流备选流3 用户账号余额不足用户账号余额不足备选流备选流4 用户账号没有钱用户账号没有钱备选流备选流5 用户退出系统用户退出系统 c

31、hapter_743四、场景法四、场景法根据基本流和备选流来确定场景根据基本流和备选流来确定场景场景场景1-成功购物成功购物基本流基本流场景场景2-账号不存在账号不存在基本流基本流备选流备选流1场景场景3-账号或密码错误账号或密码错误基本流基本流备选流备选流2场景场景4-用户账号余额不足用户账号余额不足基本流基本流备选流备选流3场景场景5-用户账号没有钱用户账号没有钱基本流基本流备选流备选流4 chapter_744设计用例设计用例 对每一个场景都要做测试用例,可以使用矩阵对每一个场景都要做测试用例,可以使用矩阵(表格)来管理用例。用行表示各个测试用例,(表格)来管理用例。用行表示各个测试用例

32、,列表示测试用例的信息。首先将测试用例的列表示测试用例的信息。首先将测试用例的ID、条件、涉及的数据元素以及预期结果列在矩阵中,条件、涉及的数据元素以及预期结果列在矩阵中,然后将这些数据确定下来,填写在表格中。然后将这些数据确定下来,填写在表格中。 下表中,下表中,“有效有效”表示这个条件必须是有效的表示这个条件必须是有效的才可执行基本流,而才可执行基本流,而“无效无效”用于表示这种条件用于表示这种条件下将激活所需备选流。下将激活所需备选流。“不适用不适用”表示这个条件表示这个条件不适用于测试用例。不适用于测试用例。四、场景法四、场景法 chapter_745测试用例信息表测试用例信息表测试用

33、例ID场景/条件账号密码用户账号余额预期结果1场景1:成功购物有效有效有效成功购物2场景2:账号不存在无效不适用不适用提示账号不存在3场景3:账号或密码错误(账号正确,密码错误)有效无效不适用提示账号或密码错误,返回基本流步骤34场景3:账号或密码错误(账号错误,密码正确)无效有效不适用提示账号或密码错误,返回基本流步骤35场景4:用户账号余额不足有效有效无效提示账号余额不足请充值6场景5:用户账号没有钱有效有效无效提示账号余额请充值四、场景法四、场景法 chapter_746设计上表测试用例数据设计上表测试用例数据,填入下表填入下表测试测试用例用例ID场景场景/条件条件账号账号密码密码用户账

34、用户账号余额号余额预期结果预期结果1场景场景1:成功购物:成功购物wangshPassw0rd193成功购物,用户成功购物,用户账号余额正确账号余额正确2场景场景2:账号不存:账号不存在在song不适用不适用不适用不适用提示账号不存在提示账号不存在3场景场景3:账号或密:账号或密码错误(账号正码错误(账号正确,密码错误)确,密码错误)wangsh666666不适用不适用提示账号或密码提示账号或密码错误,返回基本错误,返回基本流步骤流步骤34场景场景3:账号或密:账号或密码错误(账号错码错误(账号错误,密码正确)误,密码正确)songpassw0rd不适用不适用提示账号或密码提示账号或密码错误,

35、返回基本错误,返回基本流步骤流步骤35场景场景4:用户账号:用户账号余额不足余额不足wshpass0rd2提示账号余额不提示账号余额不足请充值足请充值6场景场景5:用户账号用户账号没有钱没有钱sunxx8172170提示账号余额请提示账号余额请充值充值四、场景法四、场景法 chapter_747案例分析p下面以购物系统添加商品类别信息为例,说明功能测试的案例设计 chapter_748一、编写商品类别添加的测试用例集Test Case 047: Test Case 047: 必添项是否允许为空必添项是否允许为空Summary: Summary: 检验系统是否对必填项为空的情况做了处理。检验系统

36、是否对必填项为空的情况做了处理。Steps:Steps:1 1、点击、点击【商品类别【商品类别】 【添【添加加】按钮】按钮2 2、什么都不输入,直接点、什么都不输入,直接点击击 添加添加 按钮;按钮;Expected Results:1、弹出、弹出“商品类别添加界面商品类别添加界面”2、提示、提示“类别名称不能为空类别名称不能为空” 场景法场景法Pass / Fail:Pass / Fail:Test Notes:Author adminAuthor admin chapter_749一、编写商品类别添加的测试用例集Test Case 048: Test Case 048: 输入字符数等于域允

37、许的最大字符数输入字符数等于域允许的最大字符数Summary: Summary: 系统是否对域的输入长度进行了检验系统是否对域的输入长度进行了检验Steps:Steps:1 1、点击、点击【商品类别【商品类别】 【添【添加加】按钮】按钮2 2、在、在“类别名称类别名称”中输入中输入“国产电视机国产电视机”,点击,点击 添添加加 按钮按钮Expected Results:1、弹出、弹出“商品类别添加界面商品类别添加界面”;2、提示、提示“保存成功保存成功”边界值法边界值法Pass / Fail:Pass / Fail:Test Notes:Author adminAuthor admin cha

38、pter_750一、一、编写商品类别添加的测试用例集编写商品类别添加的测试用例集Test Case 051: Test Case 051: 验证系统定义的域长度是否够用验证系统定义的域长度是否够用Summary: Summary: 输入有现实意义且字符数比较多的类别名称,检验系统是否输入有现实意义且字符数比较多的类别名称,检验系统是否允许输入允许输入Steps:Steps:1 1、点击、点击【商品类别【商品类别】 【添【添加加】按钮】按钮2 2、在、在“类别名称类别名称”中输入中输入“国产电子元器件国产电子元器件”,点,点击击 添加添加 按钮按钮Expected Results:Expecte

39、d Results:1 1、弹出、弹出“商品类别添加界商品类别添加界面面”;2 2、提示、提示“保存成功保存成功”错误推测法错误推测法Pass / Fail:Pass / Fail:Test Notes:Test Notes:Author adminAuthor admin chapter_751二、编写类别修改的测试用例集二、编写类别修改的测试用例集Test Case 055: Test Case 055: 输入字符数大于域允许的最大字符数输入字符数大于域允许的最大字符数Summary: Summary: 检验系统是否对域输入长度进行了验证检验系统是否对域输入长度进行了验证Steps:Ste

40、ps:1 1、点击、点击【商品类别【商品类别】 【浏【浏览览】按钮;】按钮;2 2、点击商品类别、点击商品类别“国产电国产电视机视机”后面的链接后面的链接 修改修改 3 3、将类别名称改为、将类别名称改为“国产国产电子元器件电子元器件”,点击,点击 修改修改 按钮;按钮;Expected Results:Expected Results:1 1、弹出、弹出“商品类别浏览界商品类别浏览界面面”2 2、 弹出弹出“商品类别修改界商品类别修改界面面”3 3、提示、提示“您输入的名称过您输入的名称过长,请重新输入长,请重新输入”边界值法边界值法Pass / Fail:Pass / Fail:Test

41、Notes:Test Notes:Author adminAuthor admin chapter_752二、编写类别修改的测试用例集二、编写类别修改的测试用例集Test Case 056: Test Case 056: 不修改直接保存不修改直接保存Summary: Summary: 不修改,直接点击不修改,直接点击 保存保存 按钮按钮Steps:Steps:1 1、点击、点击【商品类别【商品类别】 【浏【浏览览】按钮;】按钮;2 2、点击商品类别、点击商品类别“国产电国产电视机视机”后面的链接后面的链接 修改修改 3 3、不修改直接点击、不修改直接点击 修改修改 按钮;按钮;Expected

42、 Results:Expected Results:1 1、弹出、弹出“商品类别浏览界商品类别浏览界面面”2 2、 弹出弹出“商品类别修改界商品类别修改界面面”3 3、提示、提示“修改成功修改成功”,不,不应提示类别名称已存在。应提示类别名称已存在。场景法场景法Pass / Fail:Pass / Fail:Test Notes:Test Notes:Author adminAuthor admin chapter_753二、编写类别修改的测试用例集二、编写类别修改的测试用例集Test Case 058: 重名校验重名校验Summary: 检验系统是否对类别名重名的情况做了校验检验系统是否对类

43、别名重名的情况做了校验Steps:1、点击、点击【商品类别【商品类别】【添加【添加】按钮】按钮2、在、在“类别名称类别名称”中输入中输入“长长虹电视虹电视”,点击,点击添加添加按钮按钮3、点击、点击【商品类别【商品类别】【浏览【浏览】按钮;】按钮;4、点击商品类别、点击商品类别“国产电视机国产电视机”后面的链接后面的链接修改修改5、将类别名称改为、将类别名称改为“长虹电视长虹电视”,点击,点击修改修改按钮;按钮;Expected Results:1、弹出、弹出“商品类别添加界面商品类别添加界面”;2、提示、提示“添加成功添加成功”3、弹出、弹出“商品类别浏览界面商品类别浏览界面”4、 弹出弹出

44、“商品类别修改界面商品类别修改界面”5、提示、提示“类别名称已存在类别名称已存在”场景法场景法Pass / Fail:Test Notes: chapter_754三、编写类别删除的测试用例集三、编写类别删除的测试用例集Test Case 059: 删除未被使用的类别删除未被使用的类别Summary: 未被使用的类别可以被删除未被使用的类别可以被删除Steps:1、点击、点击【商品类别【商品类别】【浏【浏览览】按钮】按钮2、选择未被使用的类别,、选择未被使用的类别,点击类别名称后面的链接点击类别名称后面的链接文字文字【删除【删除】Expected Results:1、打开商品类别浏览界面、打开

45、商品类别浏览界面2、提示、提示“删除成功删除成功”场景法场景法Pass / Fail:Test Notes:Author admin chapter_755三、编写类别删除的测试用例集三、编写类别删除的测试用例集Test Case 060: 删除已被使用的类别删除已被使用的类别Summary: 已被使用的类别不可以被删除已被使用的类别不可以被删除Steps:1、在添加商品类别、在添加商品类别“电脑电脑”;2、添加商品、添加商品“hp 家用电脑家用电脑”,商品类别选择,商品类别选择“电脑电脑”3、点击、点击【商品类别【商品类别】【浏【浏览览】按钮】按钮4、选择已被使用的类别、选择已被使用的类别“

46、电脑电脑”,点击类别名称后,点击类别名称后面的链接文字面的链接文字【删除【删除】Expected Results:1、商品类别添加成功;、商品类别添加成功;2、商品添加成功;、商品添加成功;3、打开商品类别浏览界面;、打开商品类别浏览界面;4、提示、提示“该商品类别已被使用不能删该商品类别已被使用不能删除除”。场景法场景法Pass / Fail:Test Notes:Author admin chapter_756四、编写类别浏览、查看的测试用例集四、编写类别浏览、查看的测试用例集Test Case 061: 查看信息显示是否完整查看信息显示是否完整Summary: 所有已添加的类别均应显示出

47、来所有已添加的类别均应显示出来Steps:点击点击【查看【查看】(】(【浏览【浏览】)按】)按钮,检查类别显示是否完整、钮,检查类别显示是否完整、类别内容是否正确类别内容是否正确Expected Results:所有添加的类别均可以显示出所有添加的类别均可以显示出来;显示的类别名称与添加时来;显示的类别名称与添加时所填写的内容一致。所填写的内容一致。场景法场景法Pass / Fail:Test Notes:Author admin chapter_757四、编写类别浏览、查看的测试用例集四、编写类别浏览、查看的测试用例集Test Case 062: 翻页翻页Summary: 点击翻页按钮可以正

48、确跳转到相应的页面上点击翻页按钮可以正确跳转到相应的页面上Steps:1、点击类别、点击类别【查看【查看】(】(【浏览浏览】)按钮】)按钮2、点击、点击【第一条【第一条】、】、【下【下一条一条】、】、【上一条【上一条】、】、【最后一条最后一条】Expected Results:1、弹出商品类别浏览界面、弹出商品类别浏览界面2、可以正确跳转到对应的、可以正确跳转到对应的页面上,不存在部分信息重页面上,不存在部分信息重复显示,部分信息显示不出复显示,部分信息显示不出来的情况。来的情况。场景法场景法Pass / Fail:Test Notes:Author admin chapter_758p 黑盒

49、测试的优点黑盒测试的优点p (1).应用面广。产品要至少经过黑盒测试才能发布,能够应用面广。产品要至少经过黑盒测试才能发布,能够胜任黑盒测试工作的人员相对充足,黑盒测试方法的成胜任黑盒测试工作的人员相对充足,黑盒测试方法的成本低见效快,几乎所有测试部门、测试人员,在产品本低见效快,几乎所有测试部门、测试人员,在产品(功能块,集成模块,系统)第一轮测试时,都会首选(功能块,集成模块,系统)第一轮测试时,都会首选黑盒测试方法,该方法最符合企业实际开展测试工作的黑盒测试方法,该方法最符合企业实际开展测试工作的需要;需要;p (2).黑盒测试方法,不需要测试人员知道软件内部的逻辑黑盒测试方法,不需要测

50、试人员知道软件内部的逻辑结构和实现方法,熟悉软件需求分析规格说明书或用户结构和实现方法,熟悉软件需求分析规格说明书或用户需求报告相对容易些,准备工作时间相对短,同时对于需求报告相对容易些,准备工作时间相对短,同时对于一些不提供源代码的项目也同样适用。一些不提供源代码的项目也同样适用。 测试方法小结测试方法小结 chapter_759p (3).(3).可以借助自动化测试工具提高测试效率。可以借助自动化测试工具提高测试效率。p 黑盒测试的工作量很大,但是在产品(功能块,集成模黑盒测试的工作量很大,但是在产品(功能块,集成模块,系统)第二轮测试中,可以利用工具回放第一轮测块,系统)第二轮测试中,可

51、以利用工具回放第一轮测试过程中录制的测试脚本,以进行自动化测试。试过程中录制的测试脚本,以进行自动化测试。p 典型的测试工具如典型的测试工具如MIMI公司的公司的QTPQTP。p 自动测试工具可以帮助完成大量重复的测试工作,这是自动测试工具可以帮助完成大量重复的测试工作,这是很多人最初盲目热衷的理由,但是应该提醒读者,任何很多人最初盲目热衷的理由,但是应该提醒读者,任何工具都有自己的优势和局限,不要在实际工作中草率的工具都有自己的优势和局限,不要在实际工作中草率的采用自动化测试工具,否则你会发现,它总是让你失望,采用自动化测试工具,否则你会发现,它总是让你失望,往往学习使用工具,维护脚本就占用

52、了你很多时间,测往往学习使用工具,维护脚本就占用了你很多时间,测试时间快结束了,你可能还没开始执行任何有实际意义试时间快结束了,你可能还没开始执行任何有实际意义的测试工作,一般建议做产品的公司、做行业项目的公的测试工作,一般建议做产品的公司、做行业项目的公司,以及经常要做第二轮功能测试的情况下,可以考虑司,以及经常要做第二轮功能测试的情况下,可以考虑采用适合的自动化测试工具。采用适合的自动化测试工具。测试方法小结测试方法小结 chapter_760p 黑盒测试的缺点黑盒测试的缺点p (1). 黑盒测试工作质量的好坏,取决于测试用例设计的质黑盒测试工作质量的好坏,取决于测试用例设计的质量。测试用

53、例设计的质量,取决于测试者对行业业务的量。测试用例设计的质量,取决于测试者对行业业务的熟悉程度,很难要求测试人员对各种行业的业务都精通,熟悉程度,很难要求测试人员对各种行业的业务都精通,很多时候都是具有计算机专业背景的人员,根据测试需很多时候都是具有计算机专业背景的人员,根据测试需要接受业务培训,然后进行测试,但是对业务的理解是要接受业务培训,然后进行测试,但是对业务的理解是很有限的,因此限制了黑盒测试工作的质量。很有限的,因此限制了黑盒测试工作的质量。 p (2).缺陷的定位有时不够准确,甚至误导开发人员。缺陷的定位有时不够准确,甚至误导开发人员。 测试方法小结测试方法小结 chapter_

54、761p白盒测试的优点白盒测试的优点p(1). 白盒测试方法深入到了程序内部,测试粒度白盒测试方法深入到了程序内部,测试粒度到达某个模块、某个函数甚至某条语句,能从程到达某个模块、某个函数甚至某条语句,能从程序具体实现的角度发现问题;序具体实现的角度发现问题;p(2). 白盒测试方法是对黑盒测试方法的最有力补白盒测试方法是对黑盒测试方法的最有力补充,通过前面的讲解,我们清楚的了解了黑盒测充,通过前面的讲解,我们清楚的了解了黑盒测试和白盒测试的思路,只有将二者结合才能将软试和白盒测试的思路,只有将二者结合才能将软件测试工作做到相对到位。件测试工作做到相对到位。 测试方法小结测试方法小结 chap

55、ter_762测试方法小结测试方法小结p 测试人员在需求分析阶段,通过需求说明书了解用户需测试人员在需求分析阶段,通过需求说明书了解用户需求,针对需求利用黑盒测试的思路设计测试用例,然后求,针对需求利用黑盒测试的思路设计测试用例,然后根据已有的编程和测试经验,补充一些白盒测试用例。根据已有的编程和测试经验,补充一些白盒测试用例。p 在开发阶段,测试人员拿到代码后,一种方法是直接人在开发阶段,测试人员拿到代码后,一种方法是直接人工阅读代码工阅读代码(也称为静态测试也称为静态测试),进行白盒测试。另一种方,进行白盒测试。另一种方法是借助于白盒测试工具,实现各种覆盖测试。法是借助于白盒测试工具,实现

56、各种覆盖测试。p IT企业软件测试的基本方法是:宏观上用黑盒测试,微观企业软件测试的基本方法是:宏观上用黑盒测试,微观上用白盒测试;全局用黑盒测试,局部用白盒测试;绝上用白盒测试;全局用黑盒测试,局部用白盒测试;绝大部分测试人员用黑盒测试,极少数程序人员用白盒测大部分测试人员用黑盒测试,极少数程序人员用白盒测试;以黑盒测试为主,以白盒测试为辅。试;以黑盒测试为主,以白盒测试为辅。 chapter_763本章要点本章要点q一、软件测试基础 q二、单元测试q三、集成测试q四、确认测试q五、白盒测试技术q六、黑盒测试技术p七、七、调试调试p八、软件可靠性八、软件可靠性 chapter_764调试调试

57、 ( (debugging) q测试(testing)的目的与任务 q目的:发现程序的错误 q任务:通过执行程序,暴露潜在的错误 q调试也叫纠错(debugging)的目的与任务 q目的:定位和纠正错误 q任务:消除软件故障,保证程序的可靠运行 软件测试的目的是发现错误,在发现错误后,则应按照软件测试的目的是发现错误,在发现错误后,则应按照一定的技术去纠正它,一定的技术去纠正它,纠错的关键是纠错的关键是“错误定位错误定位”。 chapter_765 1 1、确定程序中可疑错误的确切的位置和性质。、确定程序中可疑错误的确切的位置和性质。 2 2、修改、排除错误。、修改、排除错误。执行测试用例纠错

58、结果错误现场测试用例猜测的原因已知原因改正 调试(纠错)活动 chapter_766二、纠错的原则二、纠错的原则 1 1、注意错误的、注意错误的“群集现象群集现象”。 2 2、不能只修改错误的征兆、表现,还应该修改错误的本、不能只修改错误的征兆、表现,还应该修改错误的本质。质。 3 3、注意在修改一个错误的同时,又引入新的错误。、注意在修改一个错误的同时,又引入新的错误。调试过程调试过程 chapter_767几种主要的排错方法几种主要的排错方法 调试的方法有:调试的方法有: 蛮干法(硬性纠错硬性纠错) 回溯法 对分查找法 归纳法 演绎法可根据个人经验和具体情况灵活应用。 chapter_76

59、8一、硬性纠错一、硬性纠错又称为蛮干法,由于简单,是目前使用较多,但效率较低又称为蛮干法,由于简单,是目前使用较多,但效率较低的方法。如:的方法。如:主存信息转储法主存信息转储法 将计算机存储器和寄存器的全部内容打印出来,然后在大量的数据中查错。关键部分设置打印语句关键部分设置打印语句 在出错源程序的各个关键变量改变在出错源程序的各个关键变量改变位置、重要的分支、子程序的调用等位置,设置打印语句,位置、重要的分支、子程序的调用等位置,设置打印语句,跟踪程序执行和变量的改变。跟踪程序执行和变量的改变。 使用自动调试工具使用自动调试工具 使用由某些语言提供的调试工具查错。使用由某些语言提供的调试工

60、具查错。几种主要的调试方法几种主要的调试方法 chapter_769二、回溯法排错二、回溯法排错 适用于小程序,发现错误时,确定首先发现错误“症状”的位置,人工沿控制流追踪源代码程序,直到找出错误根源或确定错误范围为止。几种主要的排错方法几种主要的排错方法 chapter_770本章要点本章要点q一、软件测试基础 q二、单元测试q三、集成测试q四、确认测试q五、白盒测试技术q六、黑盒测试技术p七、七、调试调试p八、软件可靠性八、软件可靠性 chapter_771软件可靠性软件可靠性p 软件的可靠性是软件质量的一个重中指标,软件的可靠性是软件质量的一个重中指标,也是用户需求中一项重要内容。也是用

温馨提示

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

评论

0/150

提交评论