软件测试之测试用例

1. 什么是测试用例

测试用例(TestCase)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素

设计测试⽤例原则⼀:

  1. 测试⽤例中⼀个必需部分是对预期输出或结果进⾏定义

使用 Excel 表格编写测试用例(笔试):

用例编号test-01
标题成功注册网易邮箱
测试方式手工测试
功能模块注册登陆
重要性重要
测试前提系统运行正常,邮件服务器已开启
测试环境win10 Chrome版本103.0.5060.66(正式版本)(64位)
测试数据邮箱地址:996402440@qq.com
密码:123456
手机号:12312341234
测试步骤1.打开谷歌浏览器,输入网易注册地址:https://mail.163.com/register/index.htm
2.输入邮箱地址,密码,手机号,获取验证码并输入正确的验证码,勾选协议
3.点击注册按钮
期望结果展现注册成功的页面,并且使用刚注册的账号可以正常登陆并进入邮箱首页

使用思维导图编写测试用例(面试+工作):
在这里插入图片描述


编写测试用例的好处:

  • 测试用例的出现就是解决下面这些问题:
    1. 不知道是否较全面的测试了所有功能
    2. 测试的覆盖率无法衡量
    3. 对新版本的重复测试很难实施(即回归测试无法仅通过人工测试的方式进行历史功能的回归)
    4. 存在大量冗余测试影响测试效率
    5. 测试用例的作用还可以避免测试人员被迫背锅~~

2. 设计测试用例的万能公式

设计测试用例的万能公式:功能测试+界面测试+性能测试+兼容性测试+易用性测试+安全测试

  1. 功能测试:从产品功能角度出发,验证功能是否正确;
  2. 界面测试:肉眼可以看到的称之为界面,界面所有的元素(大小,颜色,形状,材质)都需要测试;
  3. 性能测试:通常为一些极端的情况会产生一些性能的区别;
  4. 兼容性测试:不同的版本(软件、系统…)、浏览器的版本、不同的浏览器;
  5. 易用性测试:具有简单易上手的属性(引导教程)
  6. 安全测试:是否具备危险材质、气味;
    接口响应数据也要考虑到用户数据的安全性(加密);
    登录场景也需要将秘密进行加密展示;
    数据存储用户隐私数据是否加密。
    比如:SQL注入、越权

使用万能公式对水杯设计测试用例:
在这里插入图片描述


3. 特殊的测试场景

3.1 弱网测试

弱网测试的目的就是尽可能保证用户体验(覆盖更多的网络场景),关注的关键点包括:

  1. 页面响应时间是否可以接受,关注包括热启动、冷启动时间、页面切换、前后台切换、首字时间,首屏时间等。
  2. 页面呈现是否完成一致。
  3. 超时文案是否符合定义,异常信息是否显示正常。
  4. 是否有超时重连。
  5. 安全角度:是否会发生 dns 劫持、登陆 ip 更换频繁、单点登陆异常等。
  6. 大流量事件风险:是否会在弱网下进行更新 apk 包、下载文件等大流量动作。

  • 如何进行弱网测试
    在这里插入图片描述

弱网需要借助工具来构造弱网,这里推荐使用fiddler:

  1. fiddler配置代理
  2. fiddler进行抓包(桌面/移动端)
  3. fiddler如何构造弱网条件
  • 示例:

在这里插入图片描述


3.2 安装卸载测试

  1. 安装:安装包是否可以安装、卸载之后是否可以继续安装、重复安装…
    软件更新后安装是否成功
  2. 卸载:安装完成后卸载、安装一般后卸载、卸载一次后继续安装继续卸载、卸载一般停止后是否还可以继续卸载……

4. 设计测试用例的方法

4.1 基于需求的设计方法写出初步的测试用例

测试和开发工作开展的依据:需求文档 / 产品规格说明书(用户需求通过需求分析形成软件需求)

测试人员接到需求之后,要对需求进行分析和验证,从合理的需求中进一步分析细化需求,从细化的需求中找出测试点,根据这些测试点再去设计测试用例。


  • 这是注册邮箱账号的需求:
    在这里插入图片描述

在这里插入图片描述

4.2 具体的设计方法

4.2.1 等价类

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

  • 姓名:必填,6 - 15位字符
    若测试的姓名位上述字符,那么我们应该测试多少位的字符?6789…15?
    那么小于 6 和 大于 15 的需要吗,那么使用穷举法就太耗时耗力了。

  • 那我们应该怎么做 ?
    我们可以考虑等价类:等价类就是一个可以了,那么这个等价的范围里也就都可以了

等价类分类:

  1. 有效等价类:对于程序的需求文档来说是有意义的(6 ~ 15 位字符)
  2. 无效等价类:对于程序的需求文档来说是无意义的(< 6 或 > 15 位字符)

设计:
设计


4.2.2 边界值

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

边界值包括:边界值 + 次边界值

  • 边界值:给定返回的左数据和右数据
  • 次边界值:需要根据边界值的有效无效情况来定
    1. 若边界值为有效等价类中的数据,则次边界值为无效等价类中的边界
    2. 若边界值为无效等价类中的数据,则次边界值为有效等价类中的边界

在这里插入图片描述
在这里插入图片描述

4.2.3 场景法

作用:进行思路引导
基本事件流和备选事件流

在这里插入图片描述

4.2.4 等价表法

正交法的目的是为了减少用例数目。用尽量少的用例覆盖输入的两两组合。

在这里插入图片描述
正交试验设计是研究多因素多水平的一种设计方法,它是根据正交性,由试验因素的全部水平组合中挑选出部分有代表性的点进行试验,通过对这部分试验结果的分析了解全面试验的情况,找出最优的水平组合。正交试验设计是一种基于正交表的、高效率、快速、经济的试验。

  • 借助工具设计正交表
    在这里插入图片描述

4.2.5 判定表法

判定表是一种表达逻辑判断的工具,形如:
在这里插入图片描述

  • 示例在这里插入图片描述

4.2.6 错误猜测法

错误猜测法是对被测试软件设计的理解,过往经验以及个人直觉,推测出软件可能存在的缺陷,从而针对性地设计测试用例的方法。

这个方法强调的是对被测试软件的需求理解以及设计实现的细节把握,还有个人的经验和直觉。

错误推测法和目前流行的“探索式测试方法”的基本思想一致,这类方法在敏捷开发模式下的投入产出比很高,被广泛应用于测试。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity2D 井字棋

Unity版本2022.3 场景布置 其中可以通过给Board对象添加Grid Layout Group&#xff0c;然后设置每个子物体所占宽高快速排整齐。用完删掉。每个落子的方格ChessBox都是一个Button。 根据Board的宽高除以三即可。 然后隐藏按钮&#xff0c;通过设置alpha值实现。 将ChessBox的…

专题三搜索插入位置

1.题目 题目分析&#xff1a; 给一个目标值&#xff0c;然后要在排序的整数数组中&#xff0c;找到跟目标值一样的&#xff0c;如果没有就把这个值插入进去&#xff0c;然后返回插入后的下标。 2.算法原理 根据题目的时间复杂度可以知道要用二分&#xff0c;开始划分区域&…

正式进入linux 1.0

切记&#xff1a;在Linux中空格很重要 回车键也很重要&#xff0c;不要按两次回车键 ls是显示当前所有文件夹 具体解释&#xff1a; 前面的东西是用户名 后面的是设备名&#xff08;计算机名&#xff09; 这是因为linux允许不同用户在终端下进行操作&#xff0c;这么做可以…

分页查询的实现

目录 前言 一.问题描述 二.后端实现步骤 2.1配置PageHelper插件 ①导入依赖 ②在application.yml配置文件中添加相关配置 2.2编写一个入门的程序&#xff0c;体验分页过程 2.3定义一个vo&#xff0c;用来收集分页后的所有信息 2.4修改serviceImpl层的代码 2.5动态设…

16003. orin camera 相机驱动源码 imx477分析记录

文章目录 1 背景2 原理图2.1 CAM_MUX_SEL 4 lane 选通2.2 J21 和 J20 原理图3 驱动源码及设备树3.1 子设备树 tegra234-p3768-camera-rbpcv3-imx477.dtsi3.2 顶层设备树 tegra234-camera-rbpcv3-imx477.dtsi3.2.1 tegra-capture-vi 视频输入子系统节点配置.3.2.2 host1x 主机控…

无标签数据增强+高效注意力GAN:基于CARLA的夜间车辆检测精度跃升

目录 一、摘要 二、引言 三、框架 四、方法 生成合成夜间数据 昼夜图像风格转换 针对夜间图像的无标签数据增强技术 五、Coovally AI模型训练与应用平台 六、实验 数据 图像风格转换 夜间车辆检测和分类 结论 论文题目&#xff1a;ENHANCING NIGHTTIME VEHICLE D…

开源工具利器:Mermaid助力知识图谱可视化与分享

在现代 web 开发中&#xff0c;可视化工具对于展示流程、结构和数据关系至关重要。Mermaid 是一款强大的 JavaScript 工具&#xff0c;它使用基于 Markdown 的语法来呈现可定制的图表、图表和可视化。对于展示流程、结构和数据关系至关重要。通过简单的文本描述&#xff0c;你可…

C++算法学习2:二分算法精讲

一、实数二分法回顾 1.1问题背景 在1~2的范围内找到一个x&#xff0c;使得式子5x2 -9x 1 的绝对值<10-9&#xff08;即无限接近0&#xff09; 要求&#xff1a;x精确到小数点后9位。 换句话说也就是求&#xff1a;就是求方程 5x2- 9x 1 0 在1~2内的近似解 1.2怎么找到…

手写一个简易版的tomcat

Tomcat 是一个广泛使用的开源 Servlet 容器&#xff0c;用于运行 Java Web 应用程序。深入理解 Tomcat 的工作原理对于 Java 开发者来说是非常有价值的。本文将带领大家手动实现一个简易版的 Tomcat&#xff0c;通过这个过程&#xff0c;我们可以更清晰地了解 Tomcat 是如何处理…

object.assign和扩展运算法是深拷贝还是浅拷贝,两者区别

object.assign和扩展运算法是深拷贝还是浅拷贝&#xff0c;两者区别 1. 浅拷贝的本质2. Object.assign 和扩展运算符的区别‌3. 具体场景对比‌合并多个对象‌‌复制数组‌‌处理默认值‌ ‌4. 如何实现深拷贝&#xff1f;JSON.parse(JSON.stringify(obj))‌‌递归深拷贝函数第…

X-CLIP和X-FLORENCE论文解读

1.研究背景 尽管已有研究探索了如何将语言-图像模型迁移到其他下游任务&#xff08;如点云理解和密集预测&#xff09;&#xff0c;但视频识别领域的迁移和适应性研究还不够充分。例如&#xff0c;ActionCLIP提出了一种“预训练、提示和微调”的框架用于动作识别&#xff0c;但…

微信小程序刷题逻辑实现:技术揭秘与实践分享

页面展示&#xff1a; 概述 在当今数字化学习的浪潮中&#xff0c;微信小程序以其便捷性和实用性&#xff0c;成为了众多学习者刷题备考的得力工具。今天&#xff0c;我们就来深入剖析一个微信小程序刷题功能的实现逻辑&#xff0c;从代码层面揭开其神秘面纱。 小程序界面布局…

Android UI 组件系列(二):Button 进阶用法

引言 在上一篇博客中&#xff0c;我们介绍了 Button 的基本用法和常见属性&#xff0c;掌握了 Button 的基础知识。然而&#xff0c;在实际开发中&#xff0c;Button 远不止于简单的点击功能&#xff0c;它还可以支持不同的变体、丰富的自定义样式&#xff0c;以及更灵活的状态…

【云馨AI-大模型】RAGFlow功能预览:Dify接入外部知识库RAGFlow指南

介绍 Dify介绍 开源的 LLM 应用开发平台。提供从 Agent 构建到 AI workflow 编排、RAG 检索、模型管理等能力&#xff0c;轻松构建和运营生成式 AI 原生应用。比 LangChain 更易用。官网&#xff1a;https://dify.ai/zh RAGFlow介绍 RAGFlow 是一款基于深度文档理解构建的…

Redis超高并发分key实现

Redis扛并发的能力是非常强的&#xff0c;所以高并发场景下经常会使用Redis&#xff0c;但是Redis单分片的写入瓶颈在2w左右&#xff0c;读瓶颈在10w左右&#xff0c;如果在超高并发下即使是集群部署Redis&#xff0c;单分片的Redis也是有可能扛不住的&#xff0c;如下图所示&a…

缓存使用的具体场景有哪些?缓存的一致性问题如何解决?缓存使用常见问题有哪些?

缓存使用场景、一致性及常见问题解析 一、缓存的核心使用场景 1. 高频读、低频写场景 典型场景&#xff1a;商品详情页、新闻资讯、用户基本信息。特点&#xff1a;数据更新频率低&#xff0c;但访问量极高。策略&#xff1a; Cache-Aside&#xff08;旁路缓存&#xff09;&a…

HTML5(Web前端开发笔记第一期)

p.s.这是萌新自己自学总结的笔记&#xff0c;如果想学习得更透彻的话还是请去看大佬的讲解 目录 三件套标签标题标签段落标签文本格式化标签图像标签超链接标签锚点链接默认链接地址 音频标签视频标签 HTML基本骨架综合案例->个人简介列表表格表单input标签单选框radio上传…

ubuntu22.04 关于挂在设备为nfts文件格式无法创建软连接的问题

最近遇到情况&#xff0c;解压工程报错&#xff0c;无法创建软连接 但是盘内还有130G空间&#xff0c;明显不是空间问题&#xff0c;查找之后发现是移动硬盘的文件格式是NTFS&#xff0c;在ubuntu上不好兼容&#xff0c;于是报错。 开贴记录解决方案。 1.确定文件格式 使用命…

深度解读DeepSeek部署使用安全(48页PPT)(文末有下载方式)

深度解读DeepSeek&#xff1a;部署、使用与安全 详细资料请看本解读文章的最后内容。 引言 DeepSeek作为一款先进的人工智能模型&#xff0c;其部署、使用与安全性是用户最为关注的三大核心问题。本文将从本地化部署、使用方法与技巧、以及安全性三个方面&#xff0c;对Deep…

RK3568 Android13 源码编译

提示&#xff1a;RK3568 Android13 源码编译 脚本&#xff0c;源码编译管理方式优化 文章目录 获取源码设置屏幕配置确认屏幕修改源码的设备树 修改线程数整体编译Android固件配置JDK java 环境 source javaenv.sh使能编译 build/envsetup.sh lunch topeet_rk3568-userdebug整体…