软件测试—用例篇(上)

news2024/10/5 22:24:15

软件测试—用例篇

  • 🔎测试用例的概念
  • 🔎测试用例的好处
  • 🔎测试用例的设计方法
    • 🌸基于需求的设计方法
    • 🌸等价类划分法
    • 🌸边界值分析法
    • 🌸判定表
  • 🔎结尾

🔎测试用例的概念

为了实施测试而向被测试的系统提供的一组集合
这组集合包括
(1)测试环境 (2)操作步骤 (3)测试数据 (4)预期结果

🔎测试用例的好处

(1)提高测试效率, 节省测试时间
(避免重复测试)

(2)手动测试用例是自动化测试用例的前提

🔎测试用例的设计方法

下面所介绍的设计方法是黑盒测试用例的设计方法

🌸基于需求的设计方法

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

在分析测试需求时, 一般分为功能需求测试非功能需求测试

在这里插入图片描述

🌸等价类划分法

依据需求将输入(特殊情况下会考虑输出)划分为若干等价类
从等价类中选出一个测试用例, 如果这个测试用例测试通过, 则认为所代表的等价类测试通过
这样就可以用较少的测试用例达到尽量多的功能覆盖, 解决了不能穷举测试的问题

等价类可以分为
(1)有效等价类 (2)无效等价类

  • 有效等价类
    满足用户需求输入的集合
  • 无效等价类
    不满足用户需求输入的集合

举个栗子🥝

滑稽老哥去超市买水果

有效等价类
苹果, 橘子, 梨, 香蕉…

无效等价类
香菇, 白菜, 土豆, 青菜…

等价类划分法设计测试用例的步骤
(1)
充分理解需求
(2)
划分有效等价类, 划分无效等价类
(3)
从有效等价类中抽取一个数据进行测试用例设计
从无效等价类中抽取一个数据进行测试用例设计

覆盖有效等价类的时候, 一个测试用例, 需要覆盖所有的有效等价类
覆盖无效等价类的时候, 一个测试用例, 只允许覆盖一个无效等价类


🥝小练习🥝

某平台对于用户名的规定
(1)长度为6~15位
(2)字符类型为A~Z, 不区分大小写

请根据用户名的规定采用等价类划分法设计测试用例

在这里插入图片描述


🌸边界值分析法

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

边界值包括
(1)上点 (2)内点 (3)离点

  • 上点
    边界上的点

  • 内点
    边界内的点

  • 离点
    边界值附近的一个点(闭区间区间外距离上点最近的点, 开区间区间内距离上点最近的点)

举个栗子🥝

(6,15) → 开区间
上点 6, 15
内点 7~14
离点 7, 14

[6,15] → 闭区间
上点 6, 15
内点 7~14
离点 5, 16

边界值分析法设计测试用例的步骤
(1)
充分理解需要
(2)
找边界点
(3)
针对边界点设计测试用例

对于上面的小练习, 我们可以采用边界值分析法作为对等价类划分法的补充进行测试用例的设计

在这里插入图片描述

基于等价类划分法与边界值分析法的完整测试用例

在这里插入图片描述

🌸判定表

判定表是一个数据表
这个数据表表示的是输入条件和输出结果之间的关系

判定表中的关系
(1)与 (2)或 (3)非 (4)恒等


  • 条件全为真, 结果为真. 其中一个条件为假, 结果为假

  • 其中一个条件为真, 结果为真. 条件全为假, 结果为假

  • 条件为真, 结果为假. 条件为假, 结果为真
  • 恒等
    条件为真, 结果为真. 条件为假, 结果为假

判定表设计测试用例的步骤
(1)
分析所有可能的输入和输出
(2)
找出输入与输出之间的对应关系
(3)
设计判定表
(4)
将判定表对应到每一个测试用例


🥝小练习🥝

某购物网站在双11规定
(1)订单已提交
(2)订单金额大于300或有红包
同时满足(1)和(2)可以享受购物优惠

(1)分析所有可能的输入和输出

  • 订单已提交, 订单金额大于300, 有红包
  • 订单已提交, 订单金额大于300, 无红包
  • 订单已提交, 订单金额不大于300, 有红包
  • 订单已提交, 订单金额不大于300, 无红包
  • 订单未提交, 订单金额大于300, 有红包
  • 订单未提交, 订单金额大于300, 无红包
  • 订单未提交, 订单金额不大于300, 有红包
  • 订单未提交, 订单金额不大于300, 无红包

(2)找出输入与输出之间的对应关系

  • 订单已提交
    • 订单金额大于300 → 优惠
    • 有红包 → 优惠
    • (订单提交状态下, 订单金额大于300 或者 有红包 即可享受优惠)
  • 订单未提交 → 不优惠
    • (订单未提交状态下, 订单金额大于300 或者 有红包 都不享受优惠)

(3)设计判定表

在这里插入图片描述

(4)将判定表对应到每一个测试用例

在这里插入图片描述

🔎结尾

创作不易,如果对您有帮助,希望您能点个免费的赞👍
大家有什么不太理解的,可以私信或者评论区留言,一起加油

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/452115.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Python】如何用pyth做游戏脚本(太简单了吧)

文章目录 前言一、开发前景二、开发流程3.1、获取窗口句柄,把窗口置顶3. 2、截取游戏界面,分割图标,图片比较 二、程序核心-图标连接算法(路径寻找)四、开发总结五、源码总结 前言 简述:本文将以4399小游戏…

使用@Import注解给容器中快速导入一个组件

注册bean的方式 向Spring容器中注册bean通常有以下几种方式: 包扫描给组件标注注解(Controller、Servcie、Repository、Component),但这种方式比较有局限性,局限于我们自己写的类Bean注解,通常用于导入第…

软测如果这么学,培训班都得倒闭,直接省去上万元的学费

俗话说外行看热闹,内行看门道。 写这篇文章,是希望把我的一些我认为是非常有价值的经验总结出来,能够帮助刚做测试不久的新同学,或者是测试经验丰富的老同学以共享。 希望我们可爱的新同学,准备要在测试领域耕耘的伙…

Git推出大文件储存工具Git LFS,但它真的好用吗?

Git LFS(全称为Git Large File Storage,Git大文件存储)被许多团队用来管理和存储大文件。本篇文章将解释Git LFS是什么,它的功能和使用场景,以及它究竟是不是管理大文件的最佳版本控制工具。 什么是Git LFS&#xff0…

共治、共建、共享!龙蜥社区第 16 次运营委员会会议顺利召开!

4 月 14 日,龙蜥社区在凝思软件召开了第 16 次运营委员会会议,本次会议由统信软件运营委员会委员崔开主持。来自阿里云、红旗软件、海光、Intel、联通软研院、浪潮信息、凝思软件、普华基础软件、统信软件、万里红、新华三、中科方德等理事单位的 23 位委…

第一章 Go环境搭建

前言 Golang是一种比较新颖的编程语言,其强大的功能以及底层的强大支撑快速的成为了编程语言的佼佼者,使其备受欢迎。 1、Go的安装与配置 如果你有一定的开发经验或者学习知识肯定知道,如何语言的开发都需要进行环境的配置与相关资源的安装…

12. 图的进阶

12. 图的进阶 12.1 有向图 在实际生活中,很多应用相关的图都是有方向性的,最直观的就是网络,可以从A页面通过链接跳转到B页面,那么a和b连接的方向是a->b,但不能说是b->a,此时我们就需要使用有向图来解决这一类问题&#x…

8 年后端开发,API 设计的学习方法分享

笔者目前在参与一个开源项目,平时接触多的也是 API 相关的核心功能开发,经常会有读者私信我,对于开发新人而言,如何快速学习 API 设计,我简单总结了一下: 1. 学习基础知识:学习HTTP、RESTful AP…

Vue表单基本操作-收集表单数据

收集表单数据 使用vue中的v-model收集表单里面的数据,不同的表单元素配合v-model会有不同的写法和技巧 本次的表单元素包括:文本框,单选,多选,下拉框,文本域 编写表单元素 首先编写表单元素,…

IT项目管理 PPT 选择题【太原理工大学】

单选题,10*2分20分 填空题,10*2分20分 判断题,10*1分10分 画图题,10分 进度计算题,15分 成本计算题,15分 简答题,5*2分10分 重点章节:3、4、5、6、7章 我觉得小题应该是在 PP…

如何在短时间内完成短视频app的上线及推广?

作为一款充满活力和创意的短视频app,想要快速上线并赢得用户的喜爱是一项艰巨的任务。在本文中,我们将探讨如何在短时间内完成短视频app的上线及推广。 短视频app搭建 首先,要成功地上线一款短视频app,您需要一套高质量的小视频…

从零入门激光SLAM(八)——ROS常用消息

大家好呀,我是一个SLAM方向的在读博士,深知SLAM学习过程一路走来的坎坷,也十分感谢各位大佬的优质文章和源码。随着知识的越来越多,越来越细,我准备整理一个自己的激光SLAM学习笔记专栏,从0带大家快速上手激…

Scrapy框架 -- POST请求实现案例

一、创建一个Scrapy项目fanyi,并进入该项目创建,fanyipc爬虫文件 scrapy startproject fanyi cd fanyi scrapy genspider example example.com 二、修改配置文件settings,关闭君子协议,只看报错信息,自定义UA头 ROB…

Vue.prototype 详解及使用

前言: 我们可能会在很多组件里用到数据/实用工具,但是不想污染全局作用域。这种情况下,可以通过在原型上定义它们使其在每个 Vue 的实例中可用。 1. 基本示例 在main.js中添加一个变量到 Vue.prototype Vue.prototype.$appName My App这…

ChatGPT应用篇:如何快速生成精美PPT提高工作效率-附资料下载

一、ChatGPT生成markdown源代码 问: 我想做一份ChatGPT变现方法的PPT,请生成丰富的教学展示内容,因为生成PPT是需要MarkDown格式的,请您输出Markdown格式的内容 ChatGPT回复: 二、Mindshow登录/注册 用浏览器打开Mi…

公司为什么禁止SpringBoot项目使用Tomcat?

前言 在SpringBoot框架中,我们使用最多的是Tomcat,这是SpringBoot默认的容器技术,而且是内嵌式的Tomcat。 同时,SpringBoot也支持Undertow容器,我们可以很方便的用Undertow替换Tomcat,而Undertow的性能和…

Mac 安装Charles抓包工具及使用教程(什么,都什么时候了还不会抓包)

Mac 安装Charles抓包工具及使用教程 一、抓包工具对比二、安装Charles三、网页抓包 一、抓包工具对比 这五个工具都是比较常用的抓包工具,具体哪个更适合你需要根据你的具体需求和使用习惯来决定。以下是它们各自的优缺点: Charles:功能强大…

[LeetCode周赛复盘] 第 342 场周赛20230423

[LeetCode周赛复盘] 第 342 场周赛20230423 一、本周周赛总结二、 6387. 计算列车到站时间1. 题目描述2. 思路分析3. 代码实现 三、6391. 倍数求和1. 题目描述2. 思路分析3. 代码实现 四、6390. 滑动子数组的美丽值1. 题目描述2. 思路分析3. 代码实现 五、 6392. 使数组所有元…

Grid (基础DP)

题目&#xff1a; 给一个 HW 的网格&#xff0c;网格由‘.’和‘#’组成&#xff0c;一开始在左上角 (1,1)(1,1) 每一步只能向右或向下走&#xff0c;不能经过 # 格子&#xff0c;求走到右下角 (H,W) 有多少种走法。 其中 2<H,W<1000&#xff1b; 答案对 10^97 取模。…

ZBlog安装SSL证书

Z-BlogPHP简介 Z-BlogPHP是一款强大的博客式建站系统和CMS程序Z-BlogPHP支持PHP 5.2 - 7.4、8.0 - 8.1,可运行在市面上所有的操作系统和WEB服务器之上。 大部分部署ZBlogPHP程序使用Linux比较普遍&#xff0c;这是介绍使用宝塔控制面板安装SSL证书方法&#xff1a; 1、进入Gw…