02、如何设计一个"好的"测试用例

一、"好的"测试用例一定是一个完备的集合,它能够覆盖所有等价类以及各种边界值,而跟能否发现缺陷无关

二、好的测试用例必须具备的三个特征

  1、整体完备性:"好的"测试用例一定是一个完备的整体,是有效测试用例组成的集合,能够完全覆盖测试需求

  2、等价类划分的准确性:指的是对于每个等价类都能保证只要一个输入测试通过,其它输入也一定测试通过

  3、等价类集合的完备性:需要保证所有可能的边界值和边界条件都已经正确识别

三、三种最常用的测试用例设计方法

  1、等价类划分方法:分为有效等价类和无效等价类 【我们在测试中无效等价类也是必须要进行测试的】

  2、边界值分析方法:在测试过程中,大量的错误发生在输入输出的边界值上,所以我们要对边界值进行重点测试,通常选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据

  3、错误推测方法:指基于对被测软件系统设计的理解、国王经验及个人直觉,推测出软件可能存在的缺陷,从而有针对性的设计测试用例的方法

四、关于测试用例本身的设计,有两个关键点需要注意:

  1、从软件功能需求出发,全面地、无遗漏地识别出测试需求是至关重要的,这将直接关系到用例的测试覆盖率

  2、对于识别出的每个测试需求点,需要综合运用等价类划分、边界值分析和错误推测方法来全面的设计测试用例

五、用例设计的其它经验

  1、只有深入理解被测试软件的架构,你才能设计出"有的放矢"的测试用例集,去发现系统边界以及系统集成上的潜在缺陷

  2、必须深入理解被测软件的设计与实现细节,深入理解软件内部的处理逻辑

  3、需要引入需求覆盖率和代码覆盖率来衡量测试执行的完备性,并以此为依据找出漏洞的测试点

六、其它的:

  1、在评论中,有讨论到,从用户体验出发完善测试用例,例如一些UI交互设计、banner按钮位置、不同客户端的收拾快捷操作习惯等,作为测试人员应该是比产品和开发更了解用户使用习惯的

  2、在编写测试用例中,需要把需要分析透彻,并不是把需求一段段copy下来就变成测试用例了

  3、有些公司在产品开发和需求迭代速度上比较快,来不及对测试用例进行精细划分,也可使用Xmind思维导图的形式,来设计测试用例,梳理出思路来

七、最后补充的:

  不管是测试、开发或者产品以及UI设计,大家都是一个团队,目的就是把"好"的产品交付给用户使用,所以在实际生产中,大家一定要相互配合,保证每次迭代顺利上线交付。

  

说明:教程来源极客时间--软件测试52讲,作者:茹炳晟

     喜欢的朋友可以去订阅学习

原文地址:https://www.cnblogs.com/dxw-dong/p/12562734.html

时间: 2024-10-06 10:19:42

02、如何设计一个"好的"测试用例的相关文章

如何设计一个"好的"测试用例?

什么才算是"好的"测试用例? 好的测试用例一定是一个完备的集合,它能够覆盖所有等价类以及各种边界值,而跟能否发现缺陷无关. "好的"测试用例必须具备哪些特征? 一个"好的"测试用例,必须具备以下三个特征. 1.整体完备性:"好的"测试用例一定是一个完备的整体,是有效测试用例组成的集合,能够完全覆盖测试去求. 2.等价类划分的准确性:指的是对于每个等价类都能保证只要其中一个输入测试通过,其他输入也一定测试通过. 3.等价类集合的

如何设计一个完整的测试用例

前言: 编写测试用例(这里指功能测试用例的编写),首先要做的就是设计测试用例的模板.每个公司都有适合自己公司用例编写的模板,各有各的特点. 测试用例的格式包括,测试用例摘要.测试用例需求编号(一个需求设计说明书可以分好几个用例编写).编写用例的日期.编写人员.编写日期.前置条件.准备数据等等.格式没有固定的要求,可以根据自己测试用例设计的思路,对测试用例的格式作相应的改变. 下面以一个登录窗口为例,说说我设计登录界面的思路和方法.我把这个测试用例分为三层结构,表单测试.逻辑判断.业务流程. 第一

设计一个字节数组缓存类

转 http://blog.csdn.net/kakashi8841/article/details/42025367 版权所有,转载须注明出处! 1.为什么要 在做网络通信的时候,经常需要用到: 读:就是我们需要从网络流里面读取字节数据,并且由于分包的原因,我们需要自己缓存这些数据,而不是读完立刻丢掉. 写:我们需要把各种类型的数据变成字节写入.比如把int.string.short等变成字节数组写入流. 2.需要什么 我们需要设计一个类来实现: 支持可以不停地往这个类中添加字节 支持写入in

监听器和 利 用观察者设计模式设计一个程序

一.监听器概念 1.事件源:发生事件的对象. 2.监听器:是一个接口,监听事件源上要发生的动作 3.事件:事件对象一般是作为监听器方法的参数存在的,它封装了发生事件的对象 二.Servlet中提供的监听器(8个) 八个监听器分类: 2.1监听ServletContext.HttpSession.ServletRequest对象的创建和销毁的监听器. ServletContextListener:监听ServletContext对象的创建和销毁. HttpSessionListener:监听Htt

设计一个可扩展的用户登录系统

在Web系统中,用户登录是最基本的功能.如何设计一个可扩展的用户登录系统呢?本文结合实际案例对用户登录系统设计进行多维度的讲解,帮助各设计者在应用中将复杂变得简单. 来源:廖雪峰的官方网站,作者:廖雪峰. [一] 在Web系统中,用户登录是最基本的功能.要实现用户名+密码登录,很多同学的第一想法就是直接创建一个Users表,包含username和password两列,这样,就可以实现登录了: id | username | password | name等其他字段 ----+----------

设计功能和界面测试用例

1.1 文本框.按钮等控件测试 1.1.1 文本框的测试 如何对文本框进行测试 a,输入正常的字母或数字. b,输入已存在的文件的名称: c,输入超长字符.例如在"名称"框中输入超过允许边界个数的字符,假设最多255个字符,尝试输入     256个字符,检查程序能否正确处理: d,输入默认值,空白,空格: e,若只允许输入字母,尝试输入数字:反之:尝试输入字母: f,利用复制,粘贴等操作强制输入程序不允许的输入数据: g,输入特殊字符集,例如,NUL及\n等: h,输入超过文本框长度

Android 设计一个菱形形状的Imageview组件.

网上没有资料,特来请教下大神 Android 设计一个菱形形状的Imageview组件. >> android 这个答案描述的挺清楚的:http://www.goodpm.net/postreply/android/1010000007107851/Android设计一个菱形形状的Imageview组件.html

设计一个程序能够将某一个目录下面的所有文件名打印出来---File类的使用

,设计一个程序能够将某一个目录下面的所有文件名打印出来 运用到的方法有:返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录:list()           测试此抽象路径名表示的文件是否是一个目录:isDirectory()           返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件:listFiles() package printfilename; import java.io.File; public class PrintFileNam

深度学习:从头设计一个TensorFlow3一样的新一代深度学习系统,到底需要把握哪些要点?

深度学习工具潮流滚滚,各种工具层出不穷.也有各种文章从易用性,可移植性,灵活性和效率方面对于各个系统进行比较.这篇文章希望从系统设计上面来讲来回答这个讨论这个问题:如果想到从头设计一个TensorFlow3一样的新一代深度学习系统,到底需要把握哪些要点. 计算单元:从layer abstraction到operator 大家熟悉的第一代深度学习系统,以cuda-convnet21和caffe为代表.这些系统主要的一大特点是提出了一个以深度学习计算层次layer为基本单元的计算单位.不同的laye