测试用例设计--等价类的几个例子

article/2025/10/3 6:36:26
等价类的设计思路:
  • 根据输入条件,确定等价类,包括有效等价类和无效等价类,建立等价类列表
  • 为每个等价类规定一个唯一的编号
  • 设计一个测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类被覆盖完为止
  • 设计一个测试用例,使其尽可能多的覆盖尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类被覆盖完为止

1、三角形--等价类测试的例子

某程序规定:"输入三个整数 a  b  c 分别作为三边的边长构成三角形。通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算 … "。用等价类划分方法为该程序进行测试用例设计。(三角形问题的复杂之处在于输入与输出之间的关系比较复杂。)
  
分析题目中给出和隐含的对输入条件的要求: 
  
1)整数    2)三个数    3)非零数   4)正数   
  
5)两边之和大于第三边     6)等腰     7)等边 
   
如果 a  b  c 满足条件( 1  ~  4 ),则输出下列四种情况之一:
   1)
如果不满足条件(5),则程序输出为 " 非三角形 " 
   2)
如果三条边相等即满足条件(7),则程序输出为 " 等边三角形 " 
   3)
如果只有两条边相等、即满足条件(6),则程序输出为 " 等腰三角形 " 
   4)
如果三条边都不相等,则程序输出为 " 一般三角形 "  
   
列出等价类表并编号


覆盖有效等价类的测试用例:
    a      b      c              
覆盖等价类号码
    3      4      5             
1--7
    4      4      5             
1--7),(8
    4      5      5             
1--7),(9    
    5      4      5             
1--7),(10
    4      4      4             
1--7),(11
   
覆盖无效等价类的测试用例:



2、档案管理系统--等价类的例子

设有一个档案管理系统,要求用户输入以年月表示的日期。假设日期限定在19901~204912月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。现用等价类划分法设计测试用例,来测试程序的"日期检查功能"

输入判断
有效等价类
编号
无效等价类
编号
输入字符长度
6位
大于6位数字字符
小于6位数字字符
输入字符类型

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

相关文章

理解:守护线程---理解

定义:守护线程--也称“服务线程”,在没有用户线程可服务时会自动离开。 优先级:守护线程的优先级比较低,用于为系统中的其它对象和线程提供服务。 设置:通过setDaemon(true)来设置线程为“守护线程”;将一…

并发编程线程基础知识:守护线程

什么是守护线程 守护线程–也称“服务线程”,它是后台线程,在没有用户线程可服务时会自动离开。 守护线程优先级 守护线程的优先级比较低,用于为系统中的其它对象和线程提供服务。 如何设置守护线程 通过 setDaemon(true)来设置线程为“…

Java 守护线程的作用 Java 守护线程线程

Java 守护线程的作用 Java 守护线程线程 一、概述 在看java线程相关的内容时,有一个 daemon thread 守护线程的概念,看方法注释内容,大意是:将此线程标记为守护线程或用户线程。当运行的所有线程都是守护线程时,Java虚…

多线程中守护线程的使用

java中线程分为非守护线程(用户线程)和守护线程(后台线程) 一、setDaemon(boolean on) java线程中对于守护线程的使用主要是依靠setDaemon(boolean on)方法 方法作用: 将此线程设置为守护线程 守护线程使用上与普通线程没有区别, 但是在结束上有一点不同, 当一个进程中所有…

python守护线程

启用守护线程 守护线程,又称后台线程,它是在后台运行的,如果所有前台线程都死亡,那么后台线程就会自动死亡。 import threadingdef run(n):for i in range(n):print(threading.current_thread().name " " str(i)) …

多线程-守护线程

守护线程(daemon): 线程分为用户线程(如main线程)和守护线程; 虚拟机必须确保用户线程执行完毕,而不会等待守护线程执行完毕; 守护线程有:记录操作日志的线程、监控内存的…

守护线程是什么?守护线程和非守护线程的区别是?守护线程的作用是?

守护线程是区别于用户线程,用户线程即我们手动创建的线程,而守护线程是程序运行的时候在后台提供一种通用服务的线程。垃圾回收线程就是典型的守护线程。 守护线程和非守护线程的区别是 public static void main(String[] args) throws InterruptedExce…

JAVA多线程——守护线程

在Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程) 用个比较通俗的比如,任何一个守护线程都是整个JVM中所有非守护线程的保姆: 只要当前JVM实例中尚存在任何一个非守护线程没有结束,守护线程就全部工作&#…

java守护线程 作用_Java中守护线程的总结

在Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程) 用个比较通俗的比如,任何一个守护线程都是整个JVM中所有非守护线程的保姆: 只要当前JVM实例中尚存在任何一个非守护线程没有结束,守护线程就全部工作&#xf…

【线程】什么是守护线程?

Java提供了两种线程:守护线程和用户线程 守护线程,是指在程序运行时 在后台提供一种通用服务的线程,这种线程并不属于程序中不可或缺的部分。通俗点讲,任何一个守护线程都是整个JVM中所有非守护线程的"保姆"。 用户线…

JAVA多线程基础篇--守护线程(Daemon Thread)

1.概述 JAVA中的线程主要分为两类:用户线程(User Thread)和守护线程(Daemon Thread)。JAVA语言中无论是线程还是线程池,默认都是用户线程,因此用户线程也被称为普通线程。守护线程也被称之为后台线程、服务线程或精灵…

面试官: 谈谈什么是守护线程以及作用 ?

文章首发自微信公众号: 小哈学Java 个人网站: https://www.exception.site/java-concurrency/java-concurrency-daemon-thread 目录 一、什么是守护线程 二、守护线程的作用及应用场景 三、总结 一、什么是守护线程 守护线程相对于正常线程来说,是比较特殊的一…

入门oracleDBA面试题

1.默认情况下管理员创建了一个用户,就会在 /home 下创建一个用户的主目录 2.当用mount进行设备或文件挂载时,需要用的设备名称位于 /dev 位置。 3.列出目录所有目录里的所有文件ls -l 4.Su 可以讲普通用户转换为超级用户,但是需要密码 5.…

oracle面试题答案,Oracle面试题笔试题及参考答案

一套Oracle面试题笔试题及参考答案 Oracle, 笔试, 面试 完成下列操作,写出相应的SQL语句 1.创建表空间neuspace,数据文件命名为neudata.dbf,存放在d:\data 目录下,文件大小为200MB,设为自动增长,增量5MB&am…

一个oracle面试题

某天,群里突然冒出一个道友询问oracle的面试题,特此记录一下 一系列过程: 第一步建表: DROP TABLE serv; DROP TABLE terminal; CREATE TABLE serv(serv_id NUMBER(10),prod_id NUMBER(10),user_type VARCHAR2(30),terminal_na…

oracle试题和答案,Oracle面试题及答案

Oracle面试题及答案模块和题目 l基本SQL查询 l运算符与函数 l子查询 l连接查询 建表语句emp.sql PartI(第一天) 01.查询员工表所有数据,并说明使用*的缺点 答: select*fromemp; 使用*的缺点有 a)查询出了不必要的列 b)效率上不如直接指定列名 02.查询职位(JOB)为PRE…

Oracle面试题整理

目录 Oracle面试题整理 1.MySQL和Oracle的区别: 2.Oracle中function和procedure的区别? 3. 比较truncate和delete命令 ? 4.oralce中 rowid, rownum的定义 5. 事务的特性(ACID)是指什么 6. 列举几种表连接方式…

Oracle面试题及答案整理,速速收藏

点击上方SQL数据库开发,关注获取SQL视频教程 SQL专栏 SQL数据库基础知识汇总 SQL数据库高级知识汇总 好久没有给大家发面试题了,最近收集了一套Oracle的面试题,特地整理出来分享给大家,希望对你有帮助。 1、表:table1(…

Oracle数据库面试题

1、什么是数据库? 使用数据结构存储数据的仓库。 2、什么是关系型数据库? 使用关系模型存储数据的数据库。 关系模型指表与表之间的关系,包含一对一、一对多、多读多。 3、什么是非关系型数据库? 使用非关系模型保存数据的数据…

Oracle 面试题汇总

1,delete 与Truncate区别? 1)Truncate 是DDL 语句,DELETE 是DML语句。 2) Truncate 的速度远快于DELETE; 原因是: 当执行DELETE操作时所有表数据先被COPY到回滚表空间,数据量不同…