测试用例的特性以及编写测试用例的方法

article/2025/8/20 11:44:05

测试用例的特性以及编写测试用例的方法

  • 测试用例的定义:
    • 什么是测试用例?
    • 测试用例的特征:
  • 编写测试用例的好处:
    • 测试用例的作用:
  • 测试用例的4个特性
  • 测试用例通常包括以下几个组成元素:
  • 编写测试用例的基本方法
    • 等价类划分法
      • 概念
    • 边界值法
      • 确定边界值的方法
    • 因果图法
      • 概念:
    • 场景法
      • 基本流和备选流的区别
    • 正交表法
      • 公式
      • 正交表测试用例设计方法的特点是什么?

测试用例的定义:

什么是测试用例?

测试用例是执行测试的依据,把测试系统的操作步骤用文档的形式描述出来

  1. 测试用例是为达到最佳的测试效果或高效的揭露隐藏的错误,而精心设计的少量测试数据,包括测试输入、执行条件和预期的结果,实际结果
  2. 测试用例是执行的最小实体。
  3. 测试用例是测试工作的指导,是软件测试的必须遵守的准则,更是软件测试质量稳定的根本保障

测试用例的特征:

  1. 有效性:测试用例的能够被使用,且被不同人员使用测试结果一致
  2. 可重复性:良好的测试用例具有重复使用的功能。(回归测试)
  3. 易组织性:好的测试用例会分门别类地提供给测试人员参考和使用(功能、性能、易用分类编号)
  4. 清晰、简洁:好的测试用例描述清晰,每一步都应有相应的作用,有很强的的针对性,不应出现一些无用的操作步骤。
  5. 可维护性:由于软件开发过程中需求变更等原因的影响,常常对测试用例进行修改、增加、删除等,以便测试用符合相应测试要求。

编写测试用例的好处:

测试用例的作用:

在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。
测试用例的使用令软件测试的实施重点突出、目的明确。
在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度、缩短项目周期。
检验软件是否满足客户需求、体现一个测试人员的工作量、展现测试用例的设计思路

测试用例的4个特性

  1. 代表性:能够代表并覆盖各种合理的和不合理、合法的和不合法的、边界的和越界的以及极限的输入数据、操作等。
  2. 针对性:对程序中的可能存在的错误有针对性地测试
  3. 可判定性:测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果
  4. 可重现性:对同样的测试用例,系统的执行结果应当是相同的。

测试用例通常包括以下几个组成元素:

用例编号、测试模块、用例标题、用例级别、测试环境、测试输入、执行操作、预期结果,实际结果

编写测试用例的基本方法

等价类划分法

应用场景:多用于输入框

概念

等价类划分是指分步骤地把海量(无限)的测试用例集减得很小,但过程同样有效。

等价类 :何为等价类,某个输入域的集合,在这个集合中每个输入条件都是等效的。

一般可分为有效等价类和无效等价类

等价类划分为:
有效等价类:指符合《需求规格说明书》,输入合理的数据集合
无效等价类:指不符合《需求规格说明书》,输入不合理的数据集合

边界值法

一般边界值分析是因为程序开发循环体时的取数可能会因为<,<=搞错。
比如:有效等价类是0<=y<=100,所以边界值就是-1,0,100,101

对数据进行软件测试,就是在检查用户输入的信息、返回的结果以及中间计算结果是否正确。即使最简单的程序要处理的数据量也可能极大,使这些数据得以测试的技巧是,根据一些关键的原则进行等价类的划分,以合理减少测试用例,这些关键的原则是:边界条件,次边界条件、空值和无效数据。

确定边界值的方法

选取正好等于、刚刚大于或刚刚小于边界值作为测试数据

输入要求是1 ~ 100之间的整数,因此自然产生了1和100两个边界,我们在设计测试用例的时,要重点考虑这两个边界问题。
[1 100] 上点1 ,100 离点 0 101所属
(1,100) 上点 2,99 离点 1 ,100
(1,100] 上点 2,100 离点 1 ,101

因果图法

概念:

因果图法比较适合输条件比较多的情况,测试所有的输入条件的排列组合。所谓的原因就是输入,所谓的结果就是输出。

场景法

这个流经过程要从用例开始到结束遍历其中所有基本流和备选流。
在这里插入图片描述

基本流和备选流的区别

在这里插入图片描述

正交表法

正交实验法就是利用排列整齐的表 -正交表来对试验进行整体设计、综合比较、统计分析,实现通过少数的实验次数找到较好的生产条件,以达到最高生产工艺效果,这种试验设计法是从大量的试验点中挑选适量的具有代表性的点,利用已经造好的表格—正交表来安排试验并进行数据分析的方法。

公式

在这里插入图片描述

正交表测试用例设计方法的特点是什么?

  1. 用最少的实验覆盖最多的操作,测试用例设计很少,效率高,但是很复杂;
  2. 对于基本的验证功能,以及二次集成引起的缺陷,一般都能找出来;但是更深的缺陷,更复杂的缺陷,还是无能为力的;
  3. 大体的环境下,正交表一般都很难做的。大多数,只在系统测试的时候使用此方法。

http://chatgpt.dhexx.cn/article/DN2GJ5xr.shtml

相关文章

【软件测试】编写测试用例的方法,这个是真的很好用

大家测试过程中经常用的等价类划分、边界值分析、场景法等&#xff0c;并不能覆盖所有的需求&#xff0c;我们之前讲过很少用到的因果图法&#xff0c;下面就来讲另一种不经常用到但又非常重要的测试用例编写方法——测试大纲法。 测试大纲法适用于有多个窗口&#xff0c;每个…

编写测试用例常用的七大方法

测试用例格式包括十大特点 用例编号 测试项 测试标题 用例属性 重要级别&#xff1a;高中低 预置条件 测试输入 操作步骤 预期结果 实际结果 第一&#xff1a;等价类 1&#xff0c;等价类定义 2&#xff0c;等价类划分 3&#xff0c;等价类划分规则 4&#xff0c;进行…

【测试】编写测试用例的思路和方法

文章目录 1&#xff09;什么是测试用例&#xff1f;1.1 测试用例的定义测试用例的内容&#xff1a; *为什么需要测试用例&#xff1f;测试用例的作用&#xff1a; 1.2 测试用例的元素测试目标&#xff08;Why&#xff09;&#xff1a;测试对象&#xff08;What&#xff09;&…

编写测试用例常用方法

一、等价类划分法 1.概念&#xff1a;等价类划分法是将所有程序的输入域划分成若干个子集合(等价类)&#xff0c;然后从每一个子集合中选取少数具有代表性的数据作为测试的输入数据。在该子集合中&#xff0c;所有的输入数据对于揭露软件中的错误都是等效的。等价类划分有效等…

Java-高级技术(二)

9、多线程 什么是线程&#xff1f; 线程(thread)是一个程序内部的一条执行路径。 我们之前启动程序执行后&#xff0c;main方法的执行其实就是一条单独的执行路径。 public static void main(String[] args) {// 代码...for (int i 0; i < 10; i) {System.out.println(i);…

想面中高级java工程师,要怎么写简历?(附图)

大家好~ 小仙女又回来啦~ 经过了N天的面试&#xff0c;最终选择了一家最中意的~ 过几天就要入职啦~ 现在把经验分享给大家~ 想跳槽的小哥哥小姐姐们可以参考一下~ 写简历要遵循的原则&#xff1a;整齐、简洁、多从阅读者的角度考虑。 文档属性与命名 写完简历生成pdf版的这个…

如何才能更快速的成为一名高级Java开发人员?

对于从事Java开发的小伙伴来说&#xff0c;成为一名高级Java开发工程师是他们的职业目标。高级Java开发工程师除了有更高的薪资和待遇&#xff0c;还代表着他们在行业的实际技能、经验和能力。但如何才能更快速的成为一名高级Java开发人员&#xff1f;下面&#xff0c;小编就给…

2022高级JAVA开发面试题精选

面试过程是一个由浅入深的过程&#xff0c;面试官先给求职者抛出一个相对简单的问题&#xff0c;然后通过一环套一环的追问深入考察求职者对知识点的理解掌握程度。 如下是一个实际的关于redis知识点的面试场景&#xff1a; 面试官&#xff1a;你用过redis吗&#xff1f; 你&a…

如何成为高级Java工程师?Java怎么进阶?

所谓的Java高级程序员往往是经验和能力的结合&#xff0c;并不是说掌握了哪几个技术就是高级程序员了&#xff0c;能否把掌握的知识运用到实际的项目中&#xff0c;并且解决了具体的问题&#xff0c;这个才是衡量一个Java程序员的标准&#xff0c;如何成为高级Java工程师&#…

java高级编程

&#xff08;一&#xff09;课程描述 Java高级编程是一门面向计算机专业的专业任选课&#xff0c;其具有实践性强、应用广泛、功能强大等特点&#xff0c;对于学生职业发展和提高社会信息化水平&#xff0c;具有重要意义。Java Web开发是Java 开发技术中的一个重要的组成部分&…

面试题总结 —— JAVA高级工程师

面试题总结——JAVA高级工程师 近期考虑换工作的问题&#xff0c;于是投简历面试&#xff0c;面试5家公司的高级Java工程师&#xff0c;有4家给了我offer&#xff0c;想着总结一下面试经验&#xff0c;方便最近正在寻求机会的你们 一、无笔试题 不知道是不是职位原因还是没遇到…

中高级Java程序员,你不得不掌握的基本功,挑战20k+

文章目录 1 前言2 自我介绍3 Java SE3.1 Java访问控制修饰符3.2 Java中抽象类与接口有何区别&#xff1f;3.3 Java中super关键字与final关键字3.4 final修饰的对象&#xff0c;有几种初始化方式3.5 Java中方法的重载&#xff08;Overload&#xff09;与方法的覆盖&#xff08;O…

高级JAVA程序员必备:必看书籍清单

前言 经常有粉丝私聊我&#xff0c;有没有JAVA的好书推荐&#xff0c;今天特意就写一篇&#xff0c;有需要自取。 PC端左侧加我微信&#xff0c;进社群&#xff0c;有送书等更多活动&#xff01; 《Java核心技术&#xff08;Core Java&#xff09;》 这本书就像一张高精地图…

Java-高级技术(一)

1、Stream 流 1.1、Stream 流的概述 在Java 8中&#xff0c;得益于Lambda所带来的函数式编程&#xff0c; 引入了一个全新的Stream流概念。目的&#xff1a;用于简化集合和数组操作的API。 代码演示 import java.util.ArrayList; import java.util.Collections; import java.…

JAVA高级知识点整理

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言String字符串类String可变字符串StringBuilder可变字符串与String之间的转换 RunTime类概述特点使用 Data类方法 SimpleDateFormat类方法 包装类特点字符串与原…

java高级(javaAdv)

一、String字符串 String 是一个类&#xff0c;属于引用类型。 Java 程序中一切使用 "" 引起来的内容&#xff0c;都是这个类的实例&#xff0c;称为字符串对象。 字符串定义后是一个常量 &#xff0c;值不可更改。字符串 实际是一个字符数组 。 二、 String 类使…

各种编程语言名称的来历

写了那么多代码&#xff0c;你知道你用的编程语言为什么叫那个名字么&#xff1f; 下面整理了 TIOBE 2017年3月份前十语言的名称由来(本月Swift首次进入TIOBE指数前10名!) Java 任职于太阳微系统&#xff08;SUN&#xff09;的詹姆斯高斯林等人于1990年代初开发Java语言的雏形…

马上七夕到了,用各种编程语言实现10种浪漫表白方式

目录 1. 直接表白&#xff1a;2. 七夕节表白&#xff1a;3. 猜心游戏&#xff1a;4. 浪漫诗句&#xff1a;5. 爱的方程式&#xff1a;6. 爱心Python&#xff1a;7. 心形图案JavaScript 代码&#xff1a;8. 心形并显示表白信息HTML 页面&#xff1a;9. Java七夕快乐&#xff1a;…

各种编程语言的演变

关注、星标公众号&#xff0c;不错过精彩内容 素材来源&#xff1a;21ic电子网 编辑整理&#xff1a;strongerHuang 学编程的过程中&#xff0c;总是有小伙伴纠结我到底是该学C语言呢&#xff1f;还是Python呢&#xff1f;或者学Java&#xff1f; 那到底为什么编程需要这么多编…

plc编程语言是c语言吗,PLC各种编程语言特点你了解多少?

原标题&#xff1a;PLC各种编程语言特点你了解多少&#xff1f; 编程语言种类很多&#xff0c;各有各的优势&#xff0c;语句表和指令表类似&#xff0c;是编程语言的一种&#xff0c;在PLC中应用比较普遍&#xff0c;也是一种高级编程语言&#xff0c;PLC中语句表、梯形图、SC…