软件测试用例的设计和编写

一、为什么要写测试用例

   写测试用例可以让测试的需求覆盖更加全面,让测试工作进行得条理有序,且方便移交和交流 好的测试用例要做到:结构设置和理,case覆盖全面,且具有可执行性,可重复等特点。

二、软件测试文档

1、测试范围列表:需求编号、模块名称、功能名称、复杂度、复用性、自测充分性、是否公用模块、使用频率、优先级

2、测试用例一般包含的要素:用例编号、测试项目、用例标题、优先级(致命、严重、一般、微小、建议)、预置条件、输入参数、执行步骤、预期结果

3、 缺陷报告要素:缺陷编号、缺陷标题、严重级别、重现步骤、缺陷状态、提交人、时间、附件

三、测试用例的常用方法

1、等价类

方法:根据需求列出输入,并对每一个输入的规则进行分析,然后对每一条规则进行正确和错误的罗列,最后将的所有的输入进行正确和错误用例的组合,一条正确的用例尽可能多的覆盖每个输入的不同有效数据,一条错误的用例只能含有一个无效数据(控制变量)。 对于一个输入应考虑它的:数据类型、长度、取值范围、是否为空(为空可分为不输入和输入空格)等内容 。

优点:简单高效,能快速评估测试用例数量;

缺点:只考虑了输入的有效和无效,对数据的组合比较随机,边界缺陷不容易发现 ;

适用范围:只在存在输入的需求都适用。

2、边界值

边界值分析方法的理论基础是假定大多数的错误是发生在各种输入条件的边界上,如果在边界附近的取值不会导致程序出错,那么其他取值导致程序错误的可能性也很小。

方法:对于存在边界的输入取边界的上点、内点、离点进行测试。

上点:边界上的点

内点:边界内的点

离点:闭区间间靠近上点但在区间外的一点,开区间则是在区间内的一点 主要是用于对等价类的补充

优点:能更容易发现边界,更全面系统的测试边界上可能存在的问题;

缺点:只能做为一个对其他设计方法的补充;

适用范围:有输入参数且存在取值边界或长度边界时。

3、判定表

方法:确定输入和输出,列出所有的条件桩和动作桩;填入条件项;针对每个条件项计算并填入动作项;化简,合并相似的规则。

优点:能把复杂的问题按各种可能的情况一一列举出来,简明而易于理解,也可避免遗漏;

缺点:条件桩过多时,用例呈指数增长,且在合并相似的项时存在漏测的风险;

适用范围:多个输入判断条件存在逻辑关系,且不分先后的情况。

4、正交实验法

从大量的测试点中挑选出适量的有代表性的点,应用依据迦罗瓦理念导出的正交表,合理安排测试数据的方法 。

优点:用于考虑到所有的组合又使例数量最少 ;

适用范围:输入的参数之间是独立的,不存在相互依赖的关系。

5、流程分析法

流程分析法是将软件系统的某个流程看成路径,根据流程的顺序依次进行组合,使得各个分支都能走到;。

方法:画出流程图,确定测试路径,选择测试数据;构造测试用例;

优点:覆盖了输入,处理和输入;

缺点:覆盖的输入取值不多,需要对业务比较了解 ;

适用范围:流程比较复杂的情况。

6、状态迁移法

即有深度和广度的状态树 。

方法:画出状态迁移图;通过迁移图画出状态转换树;从转换枝推导出测试路径;编写测试用例 。

优点:保证每一个节点的所有可达状态都被测试到;

缺点:没有对不可达的状态进行测试的覆盖;

适用范围:从一个操作可以到达多个可能的操作或从一个状态可以到达多个可能的规定状态 且状态取值或输入变化有固定的要求顺序。

7、因果图

因果图提供了一个把规格转化为判定表的系统方法,且它最终生成的就是判定表。

方法:把大的系统规格划分成可以测试的规格片段;分析哪些是原因、哪些是结果;画出因为图;把因果图转换成判定表;简化判定表;

优点:能帮助我们按照一定步骤,高效的选择测试用例,设计多个输入条件组合用例;能考虑到多个条件组合起来可能出错的情况;

缺点:输入条件与输出条件的因果关系有时很难从SRS中得到,即便得到了也会因为因果关系复杂导致因果图非常庞大,从而使测试用例数目非常多;

8、输入域覆盖法

是一种综合的方法,综合了等价类和边界值等方法

9、输出域覆盖法

从输入结果倒推输入的测试方法

10、异常分析法 主要是构造环境异常来看测试结果

11、错误猜测法

方法选择(打油诗,仅供参考):

所有输入选等价

给定范围加边界

条件孤立想判定

指定常量取正交

跨界操作流程法

多种状态迁移图

条件组合出因果

测试充分全覆盖

多种方法不唯一

附:

软件质量: 一个实体的所有特性,基于这些特性可以满足显式或隐式的需求的程度

软件质量模型:功能性、效率、可靠性、易用性、可移植性、可维护性

非功能:效率、可靠性、易用性、可维护性、可移植性

功能性:适用性、准确性、保密安全性、互操作性、依存性

效率:时间特性、资源利用率

易用性:易理解性、易学性、易操作性、吸引性

可靠性:成熟性、容错性、易恢复性

可移植性:适应性、易安装性、共存性、易替换性

可维护性:易分析性、易改变性、稳定性、易测试性

双V模型:即测试工作并不是在开发完成之后才开始进行,而是开发阶段与测试设计阶段同步进行,在编码完成后继续执行UT、IT、ST。

时间: 2024-11-01 10:50:09

软件测试用例的设计和编写的相关文章

测试用例的设计方法

测试用例的设计方法有: 等价类划分方法,边界值分析方法,错误推理方法,因果图方法,判定表驱动分析方法,正交实验设计方法,功能图分析方法,场景设计方法 等价类划分方法: 基本概念: 一.方法简介 1.定义 是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法. 2.划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等

软件测试用例设计 0620

入职基础培训课程系列 软件测试概述 软件测试用例设计 软件测试缺陷管理 软件系统测试 培训目标:1 明确测试用例在软件中的重要性 2 掌握测试用例设计的基本思路 3 了解并熟悉测试用例的要素和编写方法 课程内容: 1基本定义 要素和作用概念 2测试用例设计过程 3测试用例设计思路实例分析 用户登录:性能测试 安全性测试 文档测试 功能测试 界面测试 兼容性测试 什么是用例:用例是输入输出对,输出描述的是对输入数据的预期结果 用例是一组操作序列与数据的集合,这个集合通常具有业务或操作上的意义,一般

【tool】软件测试用例设计综合策略

1. Myers提出了使用各种测试方法的综合策略: 1) 在任何情况下都必须使用边界值分析方法,经验表明用这种方法设计出测试用例发现程序错误的能力最强. 2) 必要时用等价类划分方法补充一些测试用例. 3) 用错误推测法再追加一些测试用例. 4) 对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度,如果没有达到要求的覆盖标准,应当再补充足够的测试用例. 5) 如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因果图法. 2.测试用例的设计步骤 1) 构造根据设计规格得出的基本功能测试用

我眼中的软件测试用例

在一般的软件公司中,设计和编写测试用例一直是测试人员一个非常重要的基本工作. 但是,很多软件测试从业者或者说其他部门的总是会觉得,测试用例是没有什么必要编写的.我们可以想一想一款软件的研发流程: 产品人员确定用户需求->产品人员.开发人员.测试人员.UE人员等进行评审->开发人员进行设计与开发(测试设计并编写用例->开发人员提交->测试人员按照需求和用例执行测试->上线发布. 我认为,测试用例是必须要编写的.但是很多软件测试从业人员认为测试用例的编写是无用功,因为最后执行测试

【tool】软件测试用例优先级与三轮测试的结合

软件测试用例优先级与三轮测试的结合测试用例设计 测试用例优先级.三轮测试,已经在我们测试团队推广开.那么我们要如何运用起测试用例优先级,可否与三轮测试相结合?简单谈下我的实践. 冒烟测试用例.流程性测试用例.校验性测试用例.在编写测试用例时,我们会对每条测试用例设置优先级.完成测试用例后,搭建实验室,创建测试用例集合.测试用例实验室,首先创建3个一级文件夹,即按照3轮测试.我们每一轮的测试,目标是不同的,而每一轮都需要执行测试用例,我们如何将执行测试用例与三轮测试结合起来呢? 首先我们通过优先级

测试用例的设计步骤

测试用例的设计步骤作为测试新人,如何实现测试用例的设计一直是我的一个疑惑,在工作中写过几个项目的测试用例,尝试总结一个测试用例的设计步骤.前提:编写测试用例之前我们需要对项目的需求有清晰的了解,对要测试什么,按照什么顺序测试,覆盖哪些需求做到心中有数,作为测试用例的编写者不仅了解要有常见的测试用例编写方法,同时需要了解被测软件的设计.功能规格说明.用户试用场景以及程序/模块的结构.步骤:1.测试需求分析从项目部拿到软件的需求规格说明书后,开始对项目的需求进行分析,通过自己的分析.理解,整理成为测

软件测试用例知识点梳理

一.概念 怎样以最少的人力.资源投入,在最短的时间内完成测试,去发现软件系统的缺陷(bug),保证软件的优良品质,是软件公司探索和追求的目标. ▲测试用例是测试工作的指导,是软件测试的必须遵守的准则,更是软件测试质量稳定的根本保障 ▲测试用例是指为实施测试而向被测试系统提供的输入数据,操作或者各种环境设置以及期望结果的一个特定集合. 简单来说------测试用例就是解决要测什么,怎么测和如何衡量的问题 二.测试用例的属性: 1.用例ID(编号) 2.用例名称() 3.测试目的 4.测试级别 5.

单元测试中测试用例的设计方法

单元测试中测试用例的设计方法 1. 用于语句覆盖的基路径法 基路径法保证设计出的测试用例,使程序的每一个可执行语句至少执行一次,即实现语句覆盖.基路径法是理论与应用脱节的典型,基本上没有应用价值,读者稍作了解即可,不必理解和掌握. 基路径法步骤如下: 1)画出程序的控制流图 控制流图是描述程序控制流的一种图示方法,主要由结点和边构成,边代表控制流的方向,节点代表控制流的汇聚处,边和结点圈定的空间叫做区域,下面是控制流图的基本元素: 以下代码: void Sort(int iRecordNum,

测试小笔记(黑\白盒测试及区别、测试用例的设计)

测试的概念: 白盒测试 黑盒测试 白盒测试.黑盒测试优劣比较   测试用例的设计 一般而言,在所有的方法中效率最低的是随机输入测试,即在所有可能的输入值中随机选取某个子集来对程序进行测试的过程. 白盒测试的方法:1)语句覆盖.2)判定覆盖.3)条件覆盖.4)判定/条件覆盖.5)多重条件覆盖. 1.>语句覆盖:较弱的准则,将程序中的每条语句至少执行一次. 2.>判定覆盖或分支覆盖:较强的逻辑覆盖准则,必需编写足够的测试用例,使得每个判断都至少有一个为真和为假的输出结果.也就是说每条分支路劲都必须