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

1.3 等价类划分法

欢迎大家订阅【软件测试】 专栏,开启你的软件测试学习之旅!

文章目录

  • 前言
  • 1 单功能
  • 2 等价划分法
  • 3 测试步骤
    • 3.1 分析需求
    • 3.2 设计测试点
    • 3.3 将测试点转为可执行用例文档
    • 3.4 执行测试
    • 3.5 缺陷管理


前言

在现代软件开发中,确保核心功能的有效性和可靠性至关重要。本文详细介绍了如何通过等价类划分法有效测试一个单功能软件应用的核心需求。


本篇文章参考黑马程序员

1 单功能

单功能指软件程序或应用程序专注于提供一项核心功能或特性,而不包含其他附加功能。

这类应用通常旨在解决特定问题或满足特定需求,使用户能够高效、便捷地使用其核心功能。由于其简单性,单功能应用常常在设计和开发上更加专注,从而提高用户体验和易用性。
【示例】
在一个电子商务系统中,“注册”、“登陆”、“修改信息”、“添加购物车”、“支付”、“查看订单”、“领取优惠劵”以及“退单”都是单功能。
在这里插入图片描述

2 等价划分法

①定义
等价类划分法是一种软件测试技术,用于将输入数据划分为多个等价类,以减少测试用例的数量。

其基本思想是,如果一个输入数据在某个等价类中是有效的,则该类中的其他数据也应被视为有效;同理,对于无效类也是如此。

②核心特点

  • 有效类:满足需求或预期的输入数据。
  • 无效类:不满足需求或预期的输入数据。
  • 代表性测试:从每个等价类中选择一个或几个代表性测试用例进行测试,以提高效率和覆盖率。

③测试步骤

  1. 划分有效等价类:识别满足需求的数据集合。
  2. 划分无效等价类:识别不满足需求的数据集合。
  3. 代表数据选择:从每个类中选取代表数据进行测试,确保覆盖不同场景。

④适用于单功能应用的测试

  • 简化测试:单功能应用通常有明确的输入和输出,等价类划分法可以帮助测试人员将输入数据分为有效和无效的类,减少测试用例的数量,从而简化测试过程。
  • 覆盖不同场景:通过识别有效和无效的输入,等价类划分法确保测试覆盖了各种使用情况,包括边界条件和常见错误,帮助发现潜在缺陷。
  • 提高效率:在单功能应用中,由于其关注点单一,使用等价类划分法可以更高效地选择测试数据,快速验证功能的正确性,避免冗余的测试。

3 测试步骤

案例需求:
1.账号:必填,已经注册手机号或邮箱
2.密码:必填,注册账号的密码
3.验证码:正确且未过期
在这里插入图片描述

3.1 分析需求

在测试前,首先需要全面分析需求:

  • 账号:确保用户输入的手机号或邮箱已注册。
  • 密码:验证输入的密码是否正确。
  • 验证码:确认验证码的有效性。

3.2 设计测试点

根据质量模型,我们将需求分解为以下测试点:

  • 账号
    • 已注册手机号
    • 已注册邮箱
    • 未注册手机号
    • 未注册邮箱
    • 为空
  • 密码
    • 正确密码
    • 错误密码
    • 为空
  • 验证码
    • 正确验证码
    • 过期验证码
    • 错误验证码
    • 为空

在这里插入图片描述

3.3 将测试点转为可执行用例文档

将上述测试点整理成具体的测试用例,包括输入条件、预期结果和执行步骤,使其易于执行和验证。

3.4 执行测试

按照用例文档逐项执行测试,记录结果,及时发现并记录缺陷。

3.5 缺陷管理

缺陷管理流程包括提交缺陷、验证修复以及关闭缺陷。确保每个缺陷都被及时跟踪和解决。

)

http://www.lryc.cn/news/441699.html

相关文章:

  • 概率论原理精解【15】
  • 【新手上路】衡石分析平台系统管理手册-安全管理
  • 【Matlab】matlab 结构体使用方法
  • Mamba YOLO World
  • JVM 内存模型:堆、栈、方法区讲解
  • 24年蓝桥杯及攻防世界赛题-MISC-2
  • openssl-AES-128-CTR加解密char型数组分析
  • 自动化生成与更新 Changelog 文件
  • (六)WebAPI方法的调用
  • 运维工程师面试整理-故障排查常见故障的排查步骤及方法
  • OpenAI o1解决了「Quiet-STaR」的挑战吗?
  • PDF产品册营销推广利器FLBOOK
  • 华为OD机试 - 字符串划分(Python/JS/C/C++ 2024 E卷 100分)
  • nginx和php-fpm连接超时的相关配置以及Nginx中的try_files以及root、alias的使用
  • 在MAC中Ollama开放其他电脑访问
  • NE555芯片制作的节拍器
  • 如何使用 Next.js 进行服务端渲染(Server-Side Rendering, SSR)
  • 【machine learning-八-可视化loss funciton】
  • Android 将EasyPermissions进一步封装,使得动态权限申请更加简明
  • 我的AI工具箱Tauri版-VideoReapeat视频解说复述克隆
  • MySQL5.7.42高可用MHA搭建及故障切换演示
  • 快速搭建最简单的前端项目vue+View UI Plus
  • 倍增练习(1)
  • MATLAB 在数学建模中的深入应用:从基础到高级实践
  • Unity 设计模式 之 【什么是设计模式】/ 【为什么要使用设计模式】/ 【架构和设计模式的区别】
  • [数据集][目标检测]智慧交通铁路异物入侵检测数据集VOC+YOLO格式802张7类别
  • 飞驰云联FTP替代方案:安全高效文件传输的新选择
  • Hive内置集合函数-size,map_keys,map_values,sort_array,array_contains
  • Exchange Online 计划 2 部署方案
  • 图数据库的力量:深入理解与应用 Neo4j