测试设计理论

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

NeusoftCo.,Ltd.NeusoftConfidential1NeusoftCo.,Ltd.NeusoftConfidential软件测试设计方法测试用例分类测试用例设计方法如何设计优秀的测试用例测试设计实践2NeusoftCo.,Ltd.NeusoftConfidential测试用例测试用例分类-数据类合法类非法类边界值-操作类正常类异常类关联3NeusoftCo.,Ltd.NeusoftConfidential测试用例测试用例分类-表单类输入较验列表选择-条件组合类根据系统特点及程序实现方式判断是否需要遍历所有组合-业务流程类跟踪测试数据的整个流程遍历所有可能4NeusoftCo.,Ltd.NeusoftConfidential测试用例设计方法等价类划分法边界值分析法错误推测法因果图法流程图法5NeusoftCo.,Ltd.测试设计-等价类划分•定义:是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。–可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。•有效等价类–是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合•无效等价类–对程序的规格说明是不合理的或无意义的输入数据所构成的集合NeusoftConfidential6NeusoftCo.,Ltd.测试设计-等价类划分•划分等价类标准:–完备测试、避免冗余;–划分等价类重要的是:集合的划分,划分为互不相交的一组子集,而子集的并集是整个集合;–并集是整个集合:完备性;–子集互不相交:保证一种形式的无冗余性;–同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到“相同的执行路径”。NeusoftConfidential7NeusoftCo.,Ltd.测试设计-等价类划分•划分等价类的方法:–在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。如:输入值是学生成绩,范围是0~100;–在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类;–在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。–在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。–在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则);–在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。NeusoftConfidential8NeusoftCo.,Ltd.测试设计-等价类划分•实战:三角形测试用例设计–三角形:输入三个整数a、b、c分别作为三边的边长构成三角形。通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算…。–用等价类划分方法为该程序进行测试用例设计。NeusoftConfidential9NeusoftCo.,Ltd.测试设计-边界值分析•定义:对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充。–长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。–输入和输出等价类的边界,就是应着重测试的边界情况,应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据。NeusoftConfidential10NeusoftCo.,Ltd.测试设计-边界值分析•边界值分析的原则:–如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据;–如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少一、比最大个数多一的数作为测试数据;–将上述两个规则应用于输出条件,即设计测试用例使输出值达到边界值及其左右的值;–如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例;–如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例;–分析需求说明书,找出其它可能的边界条件。NeusoftConfidential11NeusoftCo.,Ltd.测试设计-边界值分析•常见的边界值:–对16-bit的整数而言32767和-32768是边界;–屏幕上光标在最左上、最右下位置;–报表的第一行和最后一行;–数组元素的第一个和最后一个;–循环的第0次、第1次和倒数第2次、最后一次。•软件测试所包含的边界检验有几种类型:数字、字符、位置、重量、大小、速度、方位、尺寸、空间等。NeusoftConfidential12NeusoftCo.,Ltd.测试设计-边界值分析•实战:三角形测试用例设计–在NextDate函数中,隐含规定了变量mouth和变量day的取值范围为1≤mouth≤12和1≤day≤31,并设定变量year的取值范围为1912≤year≤2050。–用边界值分析方法为该程序进行测试用例设计。NeusoftConfidential13NeusoftCo.,Ltd.测试设计-错误推测法•定义:基于经验和直觉来推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。–列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。NeusoftConfidential14NeusoftCo.,Ltd.测试设计-错误推测法•实战:测试一个对线性表(比如数组)进行排序的程序–输入的线性表为空表;–表中只含有一个元素;–输入表中所有元素已排好序;–输入表已按逆序排好;–输入表中部分或全部元素相同NeusoftConfidential15NeusoftCo.,Ltd.测试设计-因果图法•定义:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。–等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系,多个输入条件组合起来可能出错的情况却被忽视了。–能够帮助测试人员按照一定的步骤,高效率的开发测试用例。–因果图法是将自然语言规格说明转化成形式语言规格说明的一种严格的方法,可以指出规格说明存在的不完整性和二义性。NeusoftConfidential16NeusoftCo.,Ltd.测试设计-因果图法•因果图法的方法:–分析程序规格说明书描述的语义内容,找出“原因”和“结果”,将其表示成连接各个原因与各个结果的“因果图”;–由于语法或环境限制,有些原因与原因之间或与结果之间的组合情况不能出现,用记号标明约束或限制条件;–将因果图转换成决策表–根据决策表中每一列设计测试用例NeusoftConfidential17NeusoftCo.,Ltd.•实战:•QQ登录界面的测试用例1.画出因果图,如右图示NeusoftConfidential18测试设计-因果图法NeusoftCo.,Ltd.测试设计-因果图法2.从因果图导出判定表NeusoftConfidential19NeusoftCo.,Ltd.测试设计-因果图法3.从从判定表导出测试用例NeusoftConfidential20NeusoftCo.,Ltd.测试设计-流程图法•定义:算法流程图是针对程序内部结构的,而黑盒测试的流程图是针对整个系统业务功能流程的。–凡是涉及到业务流程的地方,都可以应用这种方法,甚至安装过程也可以应用NeusoftConfidential21NeusoftCo.,Ltd.测试设计-流程图法NeusoftConfidential22NeusoftCo.,Ltd.测试设计-流程图法•流程图法测试步骤:–详细了解需求–根据需求说明或界面原型,找出业务流程的各个页面以及各页面之间的流转关系–画出业务流图–写用例,覆盖所有的路径分支NeusoftConfidential23NeusoftCo.,Ltd.测试设计-流程图法•实战:ATM机存款取款NeusoftConfidential24NeusoftCo.,Ltd.测试设计-流程图法•ATM机存取款场景分析NeusoftConfidential25场景1——成功提款基本流场景2——ATM内没有现金基本流备选流2场景3——ATM内现金不足基本流备选流3场景4——PIN有误(还有输入机会)基本流备选流4场景5——PIN有误(不再有输入机会)基本流备选流4场景6——账户不存在/账户类型有误基本流备选流5场景7——账户余额不足基本流备选流6NeusoftCo.,Ltd.测试用例设计步骤•构造根据需求规约设计出的基本功能测试用例;•边界值测试用例;•状态转换测试用例;•错误猜测测试用例;•异常测试用例•性能测试用例;•压力测试用例。NeusoftConfidential26NeusoftCo.,Ltd.NeusoftConfidential测试设计方法的应用•按照测试思想和测试设计方法进行测试用例设计1.依据系统功能进行测试大纲的设计,保证测试的覆盖范围2.引入用户场景的描述,保证测试覆盖的重心不偏离3.进行系统的业务流程分析和数据流向分析,保证测试数据的全面性4.依据被测试部分的复杂度和关键度以及质量的要求,选择不同的测试设计方法5.针对用户的业务特征、角色权限和数据特征,进行流程测试设计,保证测试与实际应用的一致性6.按照用户需求,功能的复杂度、重要度和测试执行的要求,对测试用例进行优先级、适用阶段的分类,保证测试设计可以更好地指导测试执行7.执行测试用例评审活动,保证测试设计的准确性27NeusoftCo.,Ltd.测试方法的选择•通常,在确定测试方法时,应遵循以下原则:1.根据程序的重要性和一旦发生故障将造成的损失来确定测试等级和测试重点。2.认真选择测试策略,以便尽可能少使用测试用例,发现尽可能多的程序错误。3.在任何情况下都必须采用边界值分析法。这种方法设计出的测试用例发现程序错误的能力最强。4.必要时采用等价类划分法补充测试用例。5.采用错误推测法再追加测试用例。6.对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度。通过流程图法来尽可能覆盖需求涉及的业务流程。7.如果程序的功能说明中含有输入条件的组合情况,应一开始就选用因果图法。NeusoftConfidential28NeusoftCo.,Ltd.NeusoftConfidential测试用例设计技巧知识和积累-充分理解系统和相关知识-借鉴相似系统的经验-历史信息的积累设计方法总结用例库29NeusoftCo.,Ltd.NeusoftConfidential•在测试用例中引入系统和功能模块的场景描述,在具体测试用例设计前,有效地加强了对用户业务的理解,并使得测试用例评审具有较好的效果业务/系统结合操作/业务结合评审发现,系统不支持同一用户在多个部门下测试设计实践(1)30NeusoftCo.,Ltd.NeusoftConfidential•在测试设计过程中,引入业务流程图和数据流程图的设计工作,有效地保证了系统关联性部分的测试设计,以及流程测试设计的准确性和完整性预警信息的修改和删除会导致行情中的预警提示不能关联正确信息预警报告在实时行情中,进行预警提示。预警处理交易信息测试设计实践(2)EAI前置机预警服务器行情服务器交易数据数据同步/5s同步最新预警信息,可能与行情信息不一致天相行情中心行情数据31NeusoftCo.,Ltd.NeusoftConfidential•测试用例具有优先级和适用阶段等标识划分,保证在测试执行阶段,可以根据不同的情况和策略,灵活的对用例进行筛选测试设计实践(3)

1 / 37
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功