当前位置: 首页 > news >正文

【软件测试】测试用例的设计方法

目录

一、基于需求进行测试用例的设计

1.1 功能需求测试分析

二、黑盒测试用例设计方法

2.1 等价类划分法(解决穷举)

2.1.1 等价类设计步骤

2.1.2 等价类划分法案例

2.1.2.1 验证 QQ 账号的合法性

2.1.2.2 验证某城市电话号码的正确性

2.1.3 适用场景

2.2 边界值分析法(解决边界值)

2.2.1 边界值的概念

2.2.2 边界范围节点

2.2.3 边界值设计用例步骤

2.2.4 边界值划分法案例

2.2.4.1 验证标题长度的合法性

2.2.4.2 验证 QQ 账号的合法性

2.2.5 边界值的应用场景

2.3 错误猜测法(拓展方法)

2.4 场景设计法(基于项目业务)

2.4.1 流程图

2.4.2 场景设计法

2.4.3 场景设计案例

2.4.3.1 ATM 机取款流程

2.5 判定表法(解决多条件依赖)

2.5.1 判定表法的引用

2.5.2 判定表法设计用例步骤

2.5.3 判定表法案例

2.5.3.1 订购单检查

2.5.4 判定表法的应用场景

2.6 正交排列(条件组合多的情况)

2.6.1 概念

2.6.2 正交表的性质

2.6.3 通过正交表设计测试用例

2.6.4 Allpairs工具


一、基于需求进行测试用例的设计

基于需求设计测试用例是测试设计和开发测试用例的基础,第一步就要分析测试需求,验证需求是否正确、完整、无二义性,并且逻辑自洽。在需求正确的基础上细化测试需求,从测试需求提炼出一个个测试点或者测试项,然后根据每一个测试点进行测试用例的设计;

1.1 功能需求测试分析

(1)系统各个功能界面的验证

(2)借助业务把功能串起来进行测试

(3)功能的一致性,交互性(多功能互操作)的测试

(4)系统的不同输入,结果输出的业务数据测试。

(5)功能的错误操作,异常操作的测试(属于负面测试)

(6)功能实现用到的算法验证,有时需要用运代码评审

(7)用户操作的易用性,用户体验,往往结合功能测试同时验证

二、黑盒测试用例设计方法

2.1 等价类划分法(解决穷举)

  • 等价类划分法:对所有的测试数据中的具有某种共同特征的数据集合进行划分。

  • 等价类的分类:有效等价类、无效等价类

2.1.1 等价类设计步骤

  1. 充分理解需求

  2. 划分有效等价类,无效等价类:细分有效等价类和无效等价类

  3. 组合有效等价类和无效等价类

2.1.2 等价类划分法案例

2.1.2.1 验证 QQ 账号的合法性
  1. 明确需求:6~10 位自然数

  2. 划分等价类

    1. 有效等价类:6,7,8,9位自然数(取其中任意一种即可)

    2. 无效等价类:小于6位、大于10位(取其中任意一种即可)

  3. 组合等价类,编写用例:

2.1.2.2 验证某城市电话号码的正确性

组合有效等价类和无效等价类:

2.1.3 适用场景

  • 针对场景:需要有大量的数据测试输入,但是没法穷举测试的地方

    • 输入框

    • 下拉列表

    • 单选复选框

2.2 边界值分析法(解决边界值)

2.2.1 边界值的概念

边界值分析法:对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。

2.2.2 边界范围节点

  • 上点:无论是开区间还是闭区间还是半开半闭区间,上点就是表示边界上的点

  • 内点:无论是开区间还是闭区间还是半开半闭区间,内点表示的是边界内的点

  • 离点:离点表示边界左右的一个点。如果是闭区间,离点就是范围外的点;如果是开区间,离点就是范围内的点。

http://www.xdnf.cn/news/355933.html

相关文章:

  • Kafka集群加入新Broker节点会发生什么
  • 在Cline上调用MCP服务之MCP实践篇
  • Vue Baidu Map
  • 学习记录:DAY28
  • Xcode16.3配置越狱开发环境
  • 武汉火影数字|数字科技馆打造:开启科技探索新大门
  • 深入理解 Java 代理模式:从基础到实战​
  • BP神经网络
  • 【PmHub后端篇】PmHub整合TransmittableThreadLocal (TTL)缓存用户数据
  • Python代码编程基础
  • 使用JMETER中的JSON提取器实现接口关联
  • onResume()和 onPause()的触发条件
  • 7、三维机械设计、装配与运动仿真组件 - /设计与仿真组件/3d-mechanical-designer
  • c/c++的Libevent 和OpenSSL构建HTTPS客户端详解(附带源码)
  • 基于设备指纹识别的反爬虫技术:给设备办 “身份证”
  • 【MySQL】-- 事务
  • 机器学习之数据转换策略
  • Java 23种设计模式 - 结构型模式7种
  • 数据库故障排查指南
  • React+Taro选择日期组件封装
  • 51c自动驾驶~合集40
  • 新品:同等小体积通信距离翻一倍-RF3060F27通信模块
  • Vmware 最新下载教程和安装教程,外带免下载文件
  • project从入门到精通(四)
  • idea spring boot 打包成可执行的 JAR包
  • 使用docker安装Dinky
  • `timescale 1ns/1ps的意义
  • 【250GB空间不够用】
  • 发那科机器人4(编程实例)
  • [Unity]-[UI]-[Image] 关于UI精灵图资源导入设置的详细解释