1、测试方法一、编写用例的方法等价类划分、边界值、因果图、判定表、正交排列法、场景法、状态转换图法、测试大纲方法等价类划分1. 应用场合:只要有数据输入的地方,就可以应用等价类划分。从很多的数据中,选取具有代表性的数据进行测试,可以提高测试效率,节约测试成本。2. 核心概念:(1)有效等价类:对程序有意义、合理的输入数据程序接收有效等价类数据,应该正确计算、执行(2)无效等价类:对程序无意义、不合理的输入数据程序接收无效等价类数据,应该给出错误提示,或者根本不让输入3. 步骤:(1)根据需求,划分等价类(2)细化等价类再次检查,等价类能不能细分,一般依据的不是书面上的需求,而是基于对计算机数据存储
2、、处理方式的深入理解。对正数和负数一般需要单独测试(3)建立等价类表(熟练后,直接做这一步)个人认为这一步是多余的。(4)编写测试用例从每个等价类中至少选取一个数据进行测试即可4. 边界值法说明:一般不会单独说到用边界值,等价类和边界值是小情侣,结合使用设计一套较为完善的测试用例。边界值选取规则:得到需求的边界值时,取大于,等于,小于三个值设计测试用例。5. 等价类法经验1) 在一条用例中,可以尽可能多的测试(覆盖)不同控件的 1 个有效等价类(包括有效边界值)对于不同控件的有效等价类(有效边界值)可以组合着去测。2) 在一条用例中,只测试一个控件的一个无效等价类(包括无效边界值)无效等价类先
3、不要组合(无效等价类先单独测试,避免屏蔽现象,最后可以考虑无效等价类的组合)因果图法1. 应用场合在一个界面中,有多个控件,要考虑控件之间的组合,不同控件的组合会产生不同的输出结果组合,为了弄清输入组合和输出组合之间的对应关系,可以使用因果图(控件之间的组合)2. 因果图的核心(1)因原因,输入动作(2)果结果,输出结果找出原因(输入)和结果(输出) ,以及它们之间的对应关系3. 图形符号(1)基本符号表达输入(因)和输出(果)的对应关系(2)约束条件约束的是同一类型(全部是输入或者全部是输出)4. 步骤1) 找出所有的原因(输入)和找出所有的结果(输出)2) 找到各输入的限制关系和组合关系和
4、找出各输出的限制关系和组合关系3) 找出什么样的输入组合会产生怎样的输出组合,画出因果图4) 根据因果图,写出判定表(决策表)5) 根据判定表,编写测试用例:把判定表的一列,转换成一条用例如下一个判定表:5. 小结因果图适合处理控件的组合情况,但是一般来讲,控件的数量不宜过多(5-6 个) ,以及每个控件的状态(取值)不宜过多(最好 2-3 个)正交排列法1. 应用场合有多个控件,每个控件有多个取值,要考虑不同控件,不同取值的组合,如何用最少的组合量,达到最大的覆盖面正交排列2. 正交表看 API:如 L9(34)3. 步骤(1)选取合适的正交表需要组合控件的个数次幂(表的列数):4 个控件
5、4 次幂每个控件的取值个数底:每个控件有 3 个取值 底为 3(2)分析需求列出所有控件及其取值(3)映射把正交表的列名分别用控件名称替代把正交表每列中的取值分别用控件的选项进行替代(4)根据正交表,编写用例:正交表的一行转换成一条用例4. 正交表的思想选取数据组合的时候,应该零星、均匀的从所有的组合中选择,而不能只局限在某个局部,让每个控件中的所有取值,参与组合的机会均等,最少的数据组合达到最大的用例场景法(情景法)1、应用场合真实模拟用户的操作,测试软件的主要功能和业务逻辑场景法的应用主要基于对软件业务的深入理解(行业背景)场景法的技术主要基于等价类划分(主要等价类)2、重要概念(1)基本
6、流(正确流):模拟用户正确的操作流程(使用有效等价类) ,基本流验证软件的核心功能(2)备选流(错误流):模拟用户出错的操作流程(使用无效等价类) ,备选流验证软件错误处理能力3、步骤(1)列出基本流和备选流基本流正确取款的操作过程备选流模拟各个环节出错的操作主要基于对软件业务的理解(2)根据基本流和备选流,列出主要的场景(3)针对每个场景,编写用例状态转换图1、应用场合软件有很多种操作顺序、路径,为了更真实、全面的模拟出这些操作顺序、操作流程,可以使用状态转换图。(避免所有的操作流程考虑不全面,把一系列完整的操作进行分解)2、重要的概念(1)输入的动作:用户对软件进行的有效操作(2)软件的状
7、态:软件在某一时刻所处的情况3、步骤(1)找出软件所有的动作,编号(2)找出软件的所有状态 可以认为每对软件做一个动作,它的状态就会发生变化步骤(1) (2)主要是熟悉需求的过程(3)找出什么动作,会导致什么状态发生,画出状态转换图如:(4)编写用例一条用例覆盖一条较为完整的路径说明:对于无效等价类,在图中先不体现(只画出必填项不填情形) ,否则图形会过于复杂,最后再利用等价类方法补充即可总结:直接要找出软件的所有操作流程比较困难,而测试要求必须测试全这些操作路径把一系列连贯的操作进行分解,每一步都在可控范围内,最后再把独立的状态和动作联系起来编写用例。测试大纲方法1. 应用场合涉及到多个界面
8、,每个界面中有多个操作,为了弄清界面和界面之间的关系(操作之间的关系) ,可以通过测试大纲法。如:安装测试中插件选择对下一个界面的影响,或先选择什么样的插件就跳到对应插件中去安装。主要测试窗口的跳转是否正确。 2. 步骤(1)列提纲 找出所有的窗口及其动作(熟悉需求)(2)找到窗口之间的关系(动作之间的关系) ,编写用例说明:测试大纲方法可以找全所有的操作路径,但是可能会有一定的冗余(没有新的测试点) ,可以把这些用例去掉如:测试用例方法选择的综合策略1. 场景法:测试软件的主要功能、重要的业务流程以及错误处理能力(包括等价类)基本流:有效数据,验证主要业务逻辑备选流:无效数据,验证错误处理2
9、. 等价类划分有数据输入的地方,进行等价类划分有效等价类、无效等价类3. 边界值有数据输入的地方,需要测试边界值 在实际工程中,边界值的重要程度一般低于等价类,很多边界在前期可能不会测试前 3 种方法最重要=4. 因果图/判定表有多个控件、每个控件有多个取值(操作) ,考虑控件输入的组合,产生不同的输出组合要求:记住基本的图形符号局限性:每个控件的取值(或操作)最好 2-3 个5. 正交排列方法有多个控件、每个控件有多个取值,考虑控件取值的组合(参数配置类)方法 4、5 主要处理控件组合情况=6. 状态转换图为了更真实的模拟用户的操作流程和操作顺序优点:可以把所有的操作流程全部找到缺点:过于复杂7. 测试大纲方法适合多窗口程序方法 6、7 适用于特定场合=如果时间允许,再利用错误猜测方法补充测试即可