软件测试-等价类划分练习

简介:

题目

有一个员工管理系统,现对其录入模块进行测试。其中,人员信息包括:
编号:系统自动编号,无需手动录入;
姓名:必须有,要求为不超过5个汉字;
身份证:必须有,长度为15或18位置,末尾为数字或X,注意大小写;
邮箱:要么为空白,输入必须包含@和.
年龄:18-80之间的数字
住址:可以空白
注意:如果录入正确,则提示录入成功,如果录入错误,则提示数据不对。

使用等价类划分法进行划分

第一步 确定输入和输出

输入

  1. 编号(自动录入)
  2. 姓名
  3. 身份证号
  4. 邮箱
  5. 年龄
  6. 地址

输出

如果录入正确则提示录入正确,反之录入错误

第二步 等价类划分生成等价类表

输入

输入项 划分 输入内容 划分编号
编号 无需划分系统自动生成
姓名 有效等价类 汉字<=5 && 汉字 > 0 0
无效等价类 汉字 <=0 && 汉字 >5 1
非汉字内容(例如西文字体) <= 5 && >= 0 2
非汉字内容(例如西文字体)<0 && > 5 3
身份证号 有效等价类 长度为15 末尾为X 5
长度为15 末尾为数字 6
长度为18 末尾为x 7
长度为18 末尾为数字 8
无效等价类 长度为15或18 && 末尾为X或数字 && 其余为非数字内容 9
长度为15或18 && 末尾为!X,!数字 && 其余 数字 10
长度为15或18 && 末尾为!x,!数字 && 其余 !数字 11
长度不为15和18 && 其余内容任意 12
邮箱 有效等价类 空白 14
非空白 含@ && . 15
无效等价类 非空白 不含@ && . 16
年龄 有效等价类 18 -80 && 数字 17
无效等价类 超出 18~80 && 数字 18
非数字 19
20
地址 有效等价类 非空 21
22

输出

输出项 划分 输出内容 编号
录入结果 有效等价类 录入正确,录入成功 23
录入失败,提示错误 24

第三步,根据等价类设计测试用例

为每一个等价类规定一个编号

上表中已经完成

设计测试用例(有效等价类)

设计测试用例的时候,需要尽可能多的覆盖有效等价类

测试用例编号 覆盖的等价类
0,5,14,17,21
0,6,15,17,22
0,7,15,17,22
0,8,15,17,22

设计测试用例(无效等价类)

每一个新测试的用例,只包含一个无效等价类,其余选择有效等价类

测试用例编号 覆盖的等价类
1,5,14,17,21
2,5,14,17,21
3,5,14,17,21
0,9,14,17,21
0,10,14,17,21
0,11,14,17,21
0,12,14,17,21
0,5,16,17,21
11 0,5,14,18,21
12 0,5,14,19,21
13 0,5,14,20,21

第四步,选取测试用例

有效等价类,测试用例

测试用例编号 姓名 身份证号 邮箱 年龄 地址 对应的测试用例编号 输出
1 123244533563332X 18 w 0,5,14,17,21
2 小小小小小 123432345432345 80 0,6,15,17,22
3 12345342345432345X 18 @ 0,7,15,17,22
4 123454323456321234 80 = 0,8,15,17,22

无效等价类,测试用例

测试用例编号 姓名 身份证号 邮箱 年龄 地址 对应的测试用例编号 输出
1 12343212345432X 18 / 1,5,14,17,21
2 e 12343212345432X 18 < 2,5,14,17,21
3 @@@@^w 12343212345432X 18 ' 3,5,14,17,21
5 R^78290^273^yweixX \n 0,9,14,17,21
6 小小小小小 &nbhsp;328493ndwsx 80 <code> 0,10,14,17,21
7 小小小小小 2345ee{}@wexsdresx 80 'select * fron sc 0,11,14,17,21
8 小小小小小 80 'use mysql 0,12,14,17,21
10 小小小小小 12343212345432X ''''''@mingemail 80 a 0,5,16,17,21
11 小小小小小 12343212345432X ''''''@minge.。mail -0 a 0,5,14,18,21
12 小小小小小 12343212345432X ''''''@minge.。mail - a 0,5,14,19,21
13 小小小小小 12343212345432X ''''''@minge.。mail a 0,5,14,20,21

第五步,测试用例书写完成

测试基本信息

用例 说明 初始化 前提与约束
验证用户信息输入功能 测试是否能将用户的信息录入 登录系统 需要登录系统

测试过程

有效等价类,测试用例

测试用例编号 姓名 身份证号 邮箱 年龄 地址 对应的测试用例编号 输出
1 123244533563332X 18 w 0,5,14,17,21
2 小小小小小 123432345432345 80 0,6,15,17,22
3 12345342345432345X 18 @ 0,7,15,17,22
4 123454323456321234 80 = 0,8,15,17,22

无效等价类,测试用例

测试用例编号 姓名 身份证号 邮箱 年龄 地址 对应的测试用例编号 输出
1 12343212345432X 18 / 1,5,14,17,21
2 e 12343212345432X 18 < 2,5,14,17,21
3 @@@@^w 12343212345432X 18 ' 3,5,14,17,21
5 R^78290^273^yweixX \n 0,9,14,17,21
6 小小小小小 &nbhsp;328493ndwsx 80 <code> 0,10,14,17,21
7 小小小小小 2345ee{}@wexsdresx 80 'select * fron sc 0,11,14,17,21
8 小小小小小 80 'use mysql 0,12,14,17,21
10 小小小小小 12343212345432X ''''''@mingemail 80 a 0,5,16,17,21
11 小小小小小 12343212345432X ''''''@minge.。mail -0 a 0,5,14,18,21
12 小小小小小 12343212345432X ''''''@minge.。mail - a 0,5,14,19,21
13 小小小小小 12343212345432X ''''''@minge.。mail a 0,5,14,20,21

其余信息

测试人员 时间 执行结果 执行时间
目录
相关文章
|
测试技术 开发者
vertx的学习总结6之动态代理类和测试
本文是Vert.x学习系列的第六部分,介绍了如何使用动态代理在事件总线上公开服务,以及如何进行Vert.x组件的异步测试,包括动态代理的创建和使用,以及JUnit 5和Vert.x测试工具的结合使用。
190 3
vertx的学习总结6之动态代理类和测试
|
Java 程序员 测试技术
Java|让 JUnit4 测试类自动注入 logger 和被测 Service
本文介绍如何通过自定义 IDEA 的 JUnit4 Test Class 模板,实现生成测试类时自动注入 logger 和被测 Service。
276 5
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
261 2
|
JSON 测试技术 数据格式
单元测试问题之使用JCode5插件生成测试类如何解决
单元测试问题之使用JCode5插件生成测试类如何解决
546 3
|
Java 测试技术 Spring
单元测试问题之在 JCode5 类中使用 testService如何解决
单元测试问题之在 JCode5 类中使用 testService如何解决
129 2
|
测试技术
详解单元测试问题之MockHandlerImpl类的handle方法中VerificationMode不为空如何解决
详解单元测试问题之MockHandlerImpl类的handle方法中VerificationMode不为空如何解决
243 3
|
JavaScript Java 测试技术
《手把手教你》系列技巧篇(七十一)-java+ selenium自动化测试-自定义类解决元素同步问题(详解教程)
【6月更文挑战第12天】本文介绍了如何创建一个自定义类库来解决自动化测试中的元素同步问题。作者指出,大部分错误源于元素因时间不同步而引发,为此提供了一种解决方案。在项目实践中,首先在`library`包下创建名为`MyWait`的类,包含一个方法`isElementPresent`,该方法通过循环尝试并等待指定元素出现,避免了直接使用时间等待可能导致的不准确性。之后,在测试类中调用此自定义方法,成功实现了元素同步。代码示例展示了如何在Java+Selenium自动化测试中应用这个自定义类。
171 2
|
Java 测试技术
|
Java 数据库 Spring
Java编程问题之在测试中使用CGLIB创建代理类如何解决
Java编程问题之在测试中使用CGLIB创建代理类如何解决
227 0
|
Java
springboot Test 测试类中如何排除一个bean类
springboot Test 测试类中如何排除一个bean类
633 0