测试用例 相关

测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否知足某个特定需求。html

 

测试用例 (Test Case)是将软件测试的行为活动作一个
 
科学化的组织概括,目的是可以将软件测试的行为转化成可管理的模式;同时测试用例也是将测试具体量化的方法之一,不一样类别的软件,测试用例是不一样的。不一样于诸如系统、工具、控制、游戏软件,管理软件的用户需求更加不一样的趋势。
要使最终用户对软件感到满意,最有力的举措就是对最终用户的指望加以明 确阐述,以便对这些指望进行核实并确认其有效性。测试用例反映了要核实的需求。然而,核实这些需求可能经过不一样的方式并由不一样的测试员来实施。例如,执行 软件以便验证它的功能和性能,这项操做可能由某个测试员采用自动测试技术来实现;计算机系统的关机步骤可经过 手工测试和观察来完成;不过,市场占有率和销售数据(以及产品需求),只能经过评测产品和竞争销售数据来完成。
既然可能没法(或没必要负责)核实全部的需求,那么是否能为测试挑选最适合或最关键的需求则关系到项目的成败。选中要核实的需求将是对成本、风险和对该需求进行核实的必要性这三者权衡考虑的结果。
 
肯定测试用例之因此很重要,缘由有如下几方面。
测试用例 测试用例
测试用例构成了设计和制定 测试过程的基础。
测试的“深度”与测试用例的数量成比例。因为每一个测试用例反映不一样的 场景、条件或经由产品的事件流,于是,随着测试用例数量的增长,您对产品质量和测试流程也就越有信心。
判断测试是否彻底的一个主要评测方法是基于需求的覆盖,而这又是以肯定、实施和/或执行的测试用例的数量为依据的。相似下面这样的说明:“95 % 的关键测试用例已得以执行和验证”,远比“咱们已完成 95 % 的测试”更有意义。
测试工做量与测试用例的数量成比例。根据全面且细化的测试用例,能够更准确地估计测试周期各连续阶段的时间安排。
测试设计和开发的类型以及所需的资源主要都受控于测试用例。
测试用例一般根据它们所关联关系的测试类型或测试需求来分类,并且将随类型和需求进行相应地改变。最佳方案是为每一个测试需求至少编制两个测试用例:
·一个测试用例用于证实该需求已经知足,一般称做正面测试用例;
·另外一个测试用例反映某个没法接受、反常或意外的条件或数据,用于论证只有在所需条件下才可以知足该需求,这个测试用例称做 负面测试用例。
1、测试用例是软件测试的核心
软件测试的重要性是毋庸置疑的。但如何以最少的人力、资源投入,在最短的时间内完成测试,发现 软件系统缺陷,保证软件的优良品质,则是软件公司探索和追求的目标。每一个软件产品或 软件开发项目都须要有一套优秀的测试方案和测试方法。
测试用例 测试用例
影 响软件测试的因素不少,例如软件自己的复杂程度、开发人员(包括分析、设计、编程和测试的人员)的素质、测试方法和技术的运用等等。由于有些因素是客观存 在的,没法避免。有些因素则是波动的、不稳定的,例如开发队伍是流动的,有经验的走了,新人不断补充进来;一个具体的人工做也受情绪等影响,等等。如何保 障软件测试质量的稳定?有了测试用例,不管是谁来测试,参照测试用例实施,都能保障测试的质量。能够把人为因素的影响减小到最小。即使最初的测试用例考虑 不周全,随着测试的进行和软件版本更新,也将日趋完善。
所以测试用例的设计和编制是软件测试活动中最重要的。测试用例是测试工做的指导,是软件测试的必须遵照的准则。更是软件测试质量稳定的根本保障。
 
 
 
设计:
 
(一)白盒技术
白盒测试是结构测试,因此被测对象基本上是 源程序,以 程序的内部逻辑为基础设计测试用例。
程序内部的 逻辑覆盖程度,当程序中有循环时,覆盖每条路径是不可能的,要设计使覆盖程度较高的或覆盖最有表明性的路径的测试用例。下面根据图7-1所示的 程序,分别讨论几种经常使用的覆盖技术。
语句覆盖
为了提升发现错误的可能性,在测试时应该执行到 程序中的每个语句。 语句覆盖是指设计足够的测试用例,使被 测试程序中每一个语句至少执行一次。
如图7-1是一个被测试 程序流程图
断定覆盖
断定覆盖指设计足够的测试用例,使得被测 程序中每一个断定表达式至少得到一次“真”值和“假”值,从而使程序的每个分支至少都经过一次,所以断定覆盖也称 分支覆盖
条件覆盖
条件覆盖是指设计足够的测试用例,使得断定 表达式中每一个条件的各类可能的值至少出现一次。
该覆盖标准指设计足够的测试用例,使得断定表达式的每一个条件的全部可能取值至少出现一次,并使每一个断定表达式全部可能的结果也至少出现一次。
条件组合覆盖是比较强的覆盖标准,它是指设计足够的测试用例,使得每一个断定表达式中条件的各类可能的值的组合都至少出现一次。
路径覆盖
路径覆盖是指设计足够的测试用例,覆盖被测 程序中全部可能的路径。
在实际的 逻辑覆盖测试中,通常以 条件组合覆盖为主设计测试用例,而后再补充部分用例,以达到 路径覆盖测试标准。
⒉循环覆盖
⒊基本 路径测试
(二)黑盒技术
⒈等价类划分
⑴划分等价类。
①在输入条件规定了取值范围或值的个数的状况下,则能够确立一个有效等价类和两个 无效等价类
②在输入条件规定了输入值的集合或者规定了“必须如何”的条件的状况下,可确立一个有效等价类和一个 无效等价类
③在输入条件是一个布尔量的状况下,可肯定一个有效等价类和一个 无效等价类
④在规定了输入数据的一组值(假定n个),而且 程序要对每个输入值分别处理的状况下,可确立n个有效等价类和一个 无效等价类
⑤在规定了输入数据必须遵照的规则的状况下,可确立一个有效等价类(符合规则)和若干个 无效等价类(从不一样角度违反规则)。
⑥在确知已划分的等价类中各元素在 程序处理中的方式不一样的状况下,则应再将该等价类进一步的划分为更小的等价类。
⑵肯定测试用例。
①为每个等价类编号。
②设计一个测试用例,使其尽量多地覆盖还没有被覆盖过的合理等价类。重复这步,直到全部合理等价类被测试用例覆盖。
③设计一个测试用例,使其只覆盖一个不合理等价类。
⒉边界值分析
使用边界值分析方法设计测试用例时通常与等价类划分结合起来。但它不是从一个等价类中任选一个例子做为表明,而是将测试边界状况做为重点目标,选取正好等于、刚刚大于或刚刚小于边界值的测试数据。
⑴若是输入条件规定了值的范围,能够选择正好等于边界值的数据做为合理的测试用例,同时还要选择恰好越过边界值的数据做为不合理的测试用例。如输入值的范围是[1,100],可取0,1,100,101等值做为测试数据。
⑵若是输入条件指出了输入数据的个数,则按最大个数、最小个数、比最小个数少一、比最大个数多1等状况分别设计测试用例。如,一个输入文件可包括1--255个记录,则分别设计有1个记录、255个记录,以及0个记录的输入文件的测试用例。
⑶对每一个输出条件分别按照以上原则⑴或⑵肯定输出值的边界状况。如,一个学生成绩管理系统规定,只能查询 95--98级大学生的各科成绩,能够设计测试用例,使得查询范围内的某一届或四届学生的学生成绩,还需设计查询94级、99级学生成绩的测试用例(不合 理输出等价类)。
因为输出值的边界不与输入值的边界相对应,因此要检查输出值的边界不必定可能,要产生超出输出值以外的结果也不必定能作到,但必要时还需试一试。
⑷若是 程序的规格说明给出的输入或输出域是个有序集合(如 顺序文件、线形表、链表等),则应选取集合的第一个元素和最后一个元素做为测试用例。
⒊错误推测
测试程序时,人们可能根据经验或直觉推测程序中可能存在的各类错误,从而有针对性地编写检查这些错误的测试用例,这就是错误推测法。
因果图
等价类划分和边界值方法分析方法都只是孤立地考虑各个输入数据的测试功能,而没有考虑多个输入数据的组合引发的错误。
⒌综合策略
每种方法都能设计出一组有用例子,用这组例子容易发现某种类型的错误,但可能不易发现另外一类型的错误。所以在实际测试中,联合使用各类测试方法,造成综合策略,一般先用黑盒法设计基本的测试用例,再用 白盒法补充一些必要的测试用例。
相关文章
相关标签/搜索