编写测试用例有哪些方法

编写测试用例的方法:1、正交试验法;2、边界值分析法;3、等价类划分;4、测试大纲法;5、因果图法;6、判定表驱动法;7、场景图法;8、错误推测法。正交实验法是在各因素互相独立的情况下,设计一种特殊的表格,找出能以少数替代全面的测试用例。

1、正交试验法

正交试验设计法(Orthogonal Experimental Design)是从大量的试验点中挑选出适量的、有代表性的点,应用依据伽罗瓦理论导出的“正交表”,合理地安排试验的一种科学的试验设计方法,是研究多因素、多水平的一种设计方法。它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备“均匀分散、齐整可比”的特点,正交试验是一种基于正交表的,高效率、快速、经济的试验设计方法。

正交试验分析法包括以下常用术语:

  • 指标:通常把判断试验结果优劣的标准叫做试验的指标。
  • 因子:是指所有影响试验指标的条件。
  • 因子的状态:是指影响试验因子的因素,也称之为因子的水平。

2、边界值分析法

大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。

举例说明,对于在区间min,max的值,测试用例可以记为min,min+,max,max-。 例如,假定 X 为整数,10≤X≤100,那么 X 在测试中应该取的边界值为:10,11,99,100。

3、等价类划分

等价类划分(Equivalance Partitioning)测试的思想:将程序的输入域划分为若干个区域(等价类),并在每个等价类中选择一个具有代表性的元素生成测试用例。该方法是常用的黑盒(Blackbox Testing)测试用例(Testcase)设计方法。

等价类划分可有两种不同的情况:有效等价类和无效等价类。

  • 有效等价类是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合,它能检验程序是否可以实现规格说明中所规定的功能需求。
  • 无效等价类是指对程序的规格说明是不合理的或无意义的输入数据所构成的集合,它能检验程序在不符合规则的数据输入下,是否会有异常;无效等价类至少应有一个,也可能有多个,视具体情况而定。

因此,设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要能经受意外的考验,这样的测试才能确保软件具有更高的可靠性。划分标准要遵循完备测试、避免冗余的原则。

4、测试大纲法

程序包含多个窗口,每个窗口有多个操作,这些操作之间有一定的关系,为了弄清楚窗口之间不同操作的联系,可以使用测试大纲法。常用于测试软件的安装、删除程序、界面之间的跳转关系等。

步骤:

  • 分析需求,列出所有的窗口以及每个窗口包含的操作——列大纲(提纲)。注意窗口之间的先后顺序。
  • 根据大纲,理清窗口操作之间的关系,编写用例。

说明:

  • 哪个最简单先测试哪个。
  • 如果某个操作流程中没有新的测试功能点(所有的功能点之前的用例都测过),那么该条用例可以省略。但是如果时间充足的话,最好还是测试一下。
  • 关于列表框和下拉列表框控件的测试:一般至少测试3项(应用了等价类划分和边界值法):第一项(最小值),中间某项(有效等价类),最后一项(最大值)。
  • 有些用例如果跟之前的用例操作过程基本一致,可以重复使用。提示:测试用例可以复用,但是测试的执行过程不能省。

5、因果图法

等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。适用场景:在一个界面中有多个控件,如果控件之间存在组合关系或者限制关系,不同的控件组合会产生不同的输出结果。

6、判定表驱动法

判定表是分析和表达多逻辑条件下执行不同操作的情况的工具。适用场景:在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即针对不同逻辑条件的组合值,分别执行不同的操作。判定表的优点是能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利用判定表能够设计出完整的测试用例集合。缺点是不能表达重复执行的动作,例如循环结构。

7、场景图法

现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可以引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。场景法是基于软件业务的测试方法,测试人员把自己当成最终用户,尽可能真实地模拟用户在使用此软件的操作情形。

重点模拟两类操作:

  • 用户正确操作的业务过程:验证软件的业务功能是否正确实现。
  • 模拟用户错误操作的情形:验证软件的异常处理能力(健壮性)。

8、错误推测法

在测试程序时,人们可以根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法。 这种方法没有固定的形式,依靠的是经验和直觉,很多时候,我们都会不知不觉的使用到。

延伸阅读

判定表的组成

  • 条件桩(Condition Stub):列出了问题的所有条件。通常认为列出的条件的次序无关紧要。
  • 动作桩(Action Stub):列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。
  • 条件项(Condition Entry):列出针对它左列条件的取值。在所有可能情况下的真假值。
  • 动作项(Action Entry):列出在条件项的各种取值情况下应该采取的动作。

开发者生产力工具大全

从人工到自动化,从重复到创新,技术演进的历程中,都伴随着开发者工具类产品的发展,所以这里整理近几年口碑良好,使用广泛的22款程序员生产力工具。

1.研发项目管理与协作:PingCode

优点:让工作推进、进度/问题追踪、团队协作变得更简单,2021年研发项目管理榜单TOP1(36Kr)。

简介:覆盖研发全生命周期,广泛用于需求、版本、项目(敏捷/kanban/瀑布)、测试、缺陷、文档、效能等环节管理与协作。并且集成github、gitlab、jinkens等主流工具,支持私有部署、在线等多种部署使用方式。

教程/官网

2.任务管理/甘特图制作工具:Worktile

优点:功能成熟、性价比高、国内市场占有率最高的团队任务工具;

简介:在功能上Worktile 是一个工具集合,它具备OKR目标管理、项目管理、项目集管理、项目计划、项目风险、项目成本管理、企业网盘、审批、简报等能力。并且具备强大的自定义能力,能够配置出符合各种项目团队的流程、表单、字段、数据报表,以及具备丰富的模板市场。

官网/教程

3.分布式版本控制系统:Git

优点:分布式开发、速度快、灵活

简介:Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。

教程/官网

4.数据库管理工具:Navicat

优点:高效、安全,最好用的数据库管理工具。

简介:“Navicat”是一套可创建多个连接的数据库管理工具,用以方便管理 MySQL、Oracle、PostgreSQL、SQLite、SQL Server、MariaDB 和 MongoDB 等不同类型的数据库,它与阿里云、腾讯云、华为云、Amazon RDS、Amazon Aurora、Amazon Redshift、Microsoft Azure、Oracle Cloud 和 MongoDB Atlas等云数据库兼容。

官网/教程

其余工具可通过《神级程序员都用什么工具?程序员生产力工具大全 》查看,以上均整理自该文章。

文章标题:编写测试用例有哪些方法,发布者:Z, ZLW,转载请注明出处:https://worktile.com/kb/p/48160

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年3月30日 下午3:56
下一篇 2023年3月30日 下午4:16

相关推荐

  • 流程管理的具体工作有哪些方面

    流程管理的具体工作有:一、对现有工作过程进行流程梳;二、流程活动分析;三、流程的优化、改造、再造。对现有工作过程进行流程梳这一工作包括将企业内部现有的行事方式,运用流程图的形式予以描绘,以转化到运行流程管理形式下来。 一、对现有工作过程进行流程梳 这一工作包括将企业内部现有的行事方式,运用流程图的形…

    2023年4月16日
    2800
  • 在线项目进度表怎么做

    在线项目进度表可以用以下软件做:一、Microsoft Project;二、Smartsheet;三、Trello;四、Asana;五、Notion。Microsoft Project 是一款功能强大的进度表软件,它提供了甘特图、网络图、资源管理、成本分析等多种功能。用户可以使用 Microsoft…

    2023年4月27日
    1900
  • 虚拟浏览器是什么

    虚拟浏览器是通过虚拟技术生成的一个空间,这个空间具备独特的信息,就像单独的一台电脑一样,具备相关的信息,并且这些信息不会相通。当我们在使用的时候,就可以用软件生成若干个虚拟空间,就相当于多台电脑一样,然后再绑定固定的IP地址和电脑,就可以去起到很不错的防关联效果。 一、虚拟浏览器是什么 虚拟浏览器是…

    2023年5月7日
    1900
  • web的兼容性测试主要测什么

    主要测:一、页面布局;二、样式;三、脚本;四、多媒体;五、表单;六、性能;七、安全性。页面布局是指网页中各元素的位置、大小、间距和对齐方式等方面的设置,这些设置可能在不同的浏览器中呈现不同的效果。 一、页面布局 页面布局是指网页中各元素的位置、大小、间距和对齐方式等方面的设置,这些设置可能在不同的浏…

    2023年5月29日
    400
  • 有哪些平台可以找项目管理

    以下平台可以找项目管理:一、PingCode;二、Worktile;三、Asana;四、Trello;五、Wrike。PingCode是国内软件研发项目管理软件。功能以及解决的问题有:能够支持看板、敏捷等多种项目的管理;管理团队目标,监控单/多项目的进度、管理计划分配资源。 一、PingCode P…

    2023年4月30日
    400
  • 进度计划编制软件有哪些

    进度计划编制软件有:1、广联达斑马进度计划;2、翰文进度计划编制系统;3、品茗智绘进度计划软件;4、施工进度计划表;5、鲁班进度计划;6、筑业进度计划软件。广联达斑马进度计划属于工程建筑的管理软件,能够为大家带来更为高效的网络计划。 1、广联达斑马进度计划 这款软件属于工程建筑的管理软件,能够为大家…

    2023年1月4日
    78800
  • unix有哪些

    unix有:1、FreeBSD;2、 Solaris系统;3、AIX系统;4、HP-UX系统;5、SCO UNIX;6、Tru64 UNIX。其中,FreeBSD 是一种类UNIX操作系统,是经由 BSD、386BSD 和 4.4BSD 发展而来的Unix的一个重要分支。 1、FreeBSD Fre…

    2023年1月3日
    24100
  • Java语言的GC为什么不实时释放内存

    Java的GC不使用引用计数器方法,而是使用可达性分析算法。GC的目的是恢复已分配和未使用的内存,提高内存利用率和程序执行效率。如果我们对内存进行实时的垃圾分析和回收,将会消耗更多的资源和执行时间。 1、最基本的纯引用计数方式的自动内存管理可以做到实时释放死对象,但却无法处理存在循环引用的对象图的释…

    2023年2月8日
    7100
  • 项目计划一般用什么软件做

    项目计划一般用以下软件做:一、甘特图;二、PERT图;三、日历;四、时间线;五、WBS图;六、思维导图;七、状态表。甘特图有助于计划和管理项目,它把一个大型项目划分为几个小部分,并有条理地展示。每个任务都有预期完成时间,由水平的条形代表,左端代表开始日期。 一、甘特图 甘特图有助于计划和管理项目,它…

    2023年4月27日
    3200
  • xp系统和win7系统区别是什么

    xp系统和win7系统区别有以下几方面:任务栏和资源管理器对于Windows XP老用户而言,乍看Windows 7的任务栏,真的有点乱,比如缩略图预览功能、快速启动栏及牛宽的任务栏横条,但如果你使用电脑不多,或非常追求使用美感还是赶紧装上去看看吧。 1、任务栏和资源管理器对于Windows XP老…

    2023年2月21日
    16700

发表回复

登录后才能评论
联系我们
站长微信
站长微信
分享本页
返回顶部