【测试开发】用例篇 · 熟悉黑盒测试用例设计方法(2)· 正交表 · 场景设计 · 常见案例练习

news2024/11/24 10:36:00

【测试开发】用例篇(2)

在这里插入图片描述

文章目录

  • 【测试开发】用例篇(2)
    • 1. 正交表法
      • 1.1 什么是正交表
      • 1.2 两个重要概念
      • 1.3 如何通过正交表设计测试用例
        • 1.3.1 充分理解需求
        • 1.3.2 确定因素、确定水平
        • 1.3.3 allpairs画正交表
        • 1.3.4 补充正交表
        • 1.3.5 将正交表转换成测试用例
    • 2. 场景设计法
      • 2.1 场景
      • 2.2 如何通过这个方法设计测试用例
        • 2.2.1 充分理解需求
        • 2.2.2 确定主事件流
        • 2.2.2 确定次事件流
        • 2.2.3 一个事件流就是一个测试用例
    • 3. 错误猜测法
    • 4. 常见案例练习
      • 4.1 用FIddler代理来模拟弱网
      • 4.2 接口测试
      • 4.3 对冒泡排序进行测试
      • 4.4 Linux的zip命令
        • 4.4.1 功能测试
        • 4.4.2 界面测试
        • 4.4.3 性能
        • 4.4.4 安全
        • 4.4.5 可视化压缩工具测试用例设计
      • 4.5 水杯测试用例设计(水杯是一个实体)
      • 4.6 微信发送朋友圈设计测试用例(软件的一个模块)

【测试开发】用例篇(2)

1. 正交表法

1.1 什么是正交表

最简单的正交表是L4(23),含意如下:

  1. “L”代表正交表
  2. L角的指数“4”表示有 4 横行,简称行,即要做四次试验
  3. 括号内的指数“3”表示有3 纵列,简称列,即最多允许安排的因素是3 个
  4. 括号内的数“2”表示表的主要部分只有2 种数字,即因素有两种水平1与2(每一个变量的取值只有两种)

正交表的特点是其安排的试验方法具有均衡搭配特性

1.2 两个重要概念

因素:输入的变量

水平:每一个输入变量(因素)的取值

以下是一个正交表:

试验号/列号1234
11111
21222
31333
42123
52231
62312
73132
83213
93321

正交表的两条性质:

  1. 每一列中各数字出现的次数都一样多
  2. 如何两列中各有序数对出现的次数一样多

以此正交表为例:

对于第一条:

  1. 1出现的频次是12
  2. 2出现的频次是12
  3. 3出现的频次是12

第一条每一列:

  1. 1出现3次
  2. 2出现3次
  3. 3出现3次

对于第二条:

  • 可用第一条推出

1.3 如何通过正交表设计测试用例

  1. 充分理解需求
  2. 确定因素、确定水平
  3. 画正交表
  4. 补充正交表
  5. 将正交表转换成测试用例
1.3.1 充分理解需求

针对一个注册案例进行设计测试用例:姓名、邮箱、密码、确认密码、验证码必须全部输入,才能进行注册

1.3.2 确定因素、确定水平

因素:

  1. 姓名
  2. 邮箱
  3. 密码
  4. 确认密码
  5. 验证码

水平:

  1. 填写
  2. 不填写
1.3.3 allpairs画正交表
  1. 将因素和水平放在Excel表格中

在这里插入图片描述

  1. 在allpairs的安装路径下创建一个文本文件:

    • 请自行下载安装allpairs
      在这里插入图片描述
  2. 复制粘贴刚才的表格

在这里插入图片描述

  1. 通过命令行生成正交表

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  1. 查看生成的正交表

在这里插入图片描述

  1. 在Excel表中查看(复制粘贴)
    • pairings等等东西目前不需要注意
    • ~填写的意思是,可以是填写也可以是不填写,但是要保证正交表的那个特性!

在这里插入图片描述

例如:

在这里插入图片描述

1.3.4 补充正交表

比如补充一条测试用例,全部都不填写的情况

在这里插入图片描述

补充正交表,不需要保证仍是正交表,补充的例子是我们人为写的,特别关注的测试用例~

1.3.5 将正交表转换成测试用例

在这里插入图片描述

当然,在这里,我们的两个水平是两个分类,所以这更像是在划分测试点,因为它没全包含测试用例的几个要素:

  • 所以要进行补充测试要素

在这里插入图片描述

正交表在测试用例设计中有重要的意义

  • 它是一种有效的测试用例设计技术,可以帮助测试人员在有限的资源和时间下,优化测试覆盖率,发现更多的缺陷。

正交表的科学依据源于统计学的设计理论

  • 它可以通过有效的组合和排列,提供一组最小的测试用例
  • 同时覆盖了系统中可能存在的多个独立因素或因素组合

通过使用正交表,测试人员可以在较少的测试用例数量下,覆盖更多的场景,减少测试的工作量和时间成本

2. 场景设计法

2.1 场景

针对用户使用软件的一系列操作,形成的一个场景

  • 例如点外卖:想吃什么类型的 => 想吃哪个商家 => 想吃哪道菜 => 选择菜品指标 => 填写地址和联系方式 => 备注+支付 => 提交订单 => 商家接单 => 商家出单 => 骑手接单 => 骑手送货 => 用户收到外卖 => 用户评论

而按照这条路线,如果每个环节都没出现啥问题,是可以进行完毕的,这就是“主事件流”

  • 其中几个环节是可能出现问题的
    • 如没有这个类型的餐厅、商家未营业、此菜售空/下架、地点不配送、钱不够…
  • 而这种只进行主事件流部分就“宣告失败”的,称为“次事件流”

2.2 如何通过这个方法设计测试用例

  1. 充分理解需求
  2. 确定主事件流
  3. 确定次事件流
  4. 每一个事件流就是一个测试用例
2.2.1 充分理解需求

以ATM取款场景为例

2.2.2 确定主事件流
  1. 插卡

  2. 输入密码

  3. 选择业务

  4. 选择金额

  5. 出钞

  6. 取卡

2.2.2 确定次事件流

各个环节可能出现的问题:

在这里插入图片描述

主事件流:

在这里插入图片描述

次事件流:

在这里插入图片描述

2.2.3 一个事件流就是一个测试用例

对于每个事件流,补充测试要素即可~

在这里插入图片描述

3. 错误猜测法

依据测试人员经验(根据遇到过的错误,进行合理猜测)

所以没啥可讲的,重点在多看多练多实践…

常见的有:

  • 注册:
    1. 校验特殊字符(例如空格)的处理
    2. 密码校验的大小写
    3. 姓名中的特殊字符
    4. 密码发送是否明文

4. 常见案例练习

4.1 用FIddler代理来模拟弱网

打开速度影响,根据用户相关规则,影响网络条件:

在这里插入图片描述

查看用户相关规则:

在这里插入图片描述

出现一个脚本:

ctrl + f 查找:

在这里插入图片描述

找到这个设置相关代码:

  1. 传输1KB花费时间300ms
  2. 下载1KB花费时间150ms
  • 这个数值设置得越大,网络越差越弱

在这里插入图片描述

4.2 接口测试

这里的接口就是前后端交互的接口,不是我们的接口类,但是本质上就是一个名词,差不多就那个意思,接口其实就是一些方法的集合罢了,而在此处,接口就是前后端交互的通道,而接口测试,其实就是模拟前端发送请求走这个通道给后端~

所以,就需要我们的一个软件=> Postman,其使用不再赘述

  • 参考此博文的2.5:【JavaEE】HTTP状态码-HTTP数据报的构造_s:103的博客-CSDN博客

可以结合fiddler/浏览器进行抓包,找到接口,复制url,通过Postman构造请求进行发送

  • 请求的内容也可以仿造已有的包,结合实际测试内容去构造
  • fiddler在进行其他测试的时候,注意关闭弱网

个人比较习惯用fiddler的Raw,用记事本去看,这样可以一眼看全部,当然如果对http请求和响应还不是很熟练,可以看看浏览器和fiddler其他的一些按钮,可以可视化的看到一些信息,自行研究!

在这里插入图片描述

对于复制请求,在postman上粘贴,我建议使用浏览器:

A

  • 需要刷新,然后在这里看到接口

在这里插入图片描述

在postman进行import:

在这里插入图片描述

粘贴:

在这里插入图片描述

在这里插入图片描述


在这里插入图片描述

点击send,就相当于向该接口发起了一次请求

在这里插入图片描述

针对参数进行测试(传递所有参数、传递部分参数、不传递参数、传递其他的参数、改变参数的值…)

  • 你可以试一下对自己的网站的注册功能进行测试,比如空用户名/空昵称进行注册,看看是否注册成功~

针对性能进行测试

  • 后面讲解性能测试的时候再细说

在这里插入图片描述

4.3 对冒泡排序进行测试

这里是一类问题,就是对代码的测试,涉及白盒测试,于进阶篇讲解!

4.4 Linux的zip命令

4.4.1 功能测试
  1. 压缩的是一个目录,或者是一个文件

在这里插入图片描述

对test目录进行压缩:

在这里插入图片描述

zip使用手册:

在这里插入图片描述

对111.txt文件进行压缩:

在这里插入图片描述

对nohup.out进行压缩

  • 对于nohup.out文件的介绍:nohup.out是什么文件?nohup.out如何写?_一棵小白菜#的博客-CSDN博客

在这里插入图片描述

4.4.2 界面测试

在这里插入图片描述

  • 其实这就是界面,只不过是在命令行显示~

压缩信息要提示正确!

4.4.3 性能

对于5G网络条件下和压缩1KB大小的目录/文件,性能怎么样!

4.4.4 安全

压缩完文件,下一次解压文件不能损坏!

4.4.5 可视化压缩工具测试用例设计

跟上面的测试点一致,只不过现在是用户能看到的可视化页面了~

  • 针对这些测试点,结合我们的测试用例设计方法,去设计测试用例即可~

4.5 水杯测试用例设计(水杯是一个实体)

这是一道测试实体题

水杯是真水杯,不是啥专业名词

列出万能公式:

在这里插入图片描述

一些测试点可能适合在不同的划分里,不要太刻意去区分,这里不需要太严格!

  • 写测试点,是没有标准答案的!合理发挥即可,不要太大压力!
  • 可能我没想到的你想到了,由你进一步发挥!

补充测试点:

在这里插入图片描述

4.6 微信发送朋友圈设计测试用例(软件的一个模块)

这是一道测试软件模块题

列出万能公式:

在这里插入图片描述

  • 如果这个划分不够全面,再进行补充~

在这里插入图片描述

对于xss漏洞,就是web中嵌入了恶意脚本代码,导致脚本语言被执行,文本不显示等等的问题…

  • 不是重点,不做赘述,参照博文:什么是XSS漏洞—漏洞原理学习_xss漏洞原理_Ping_Pig的博客-CSDN博客

文章到此结束!谢谢观看
可以叫我 小马,我可能写的不好或者有错误,但是一起加油鸭🦆

我们应该根据具体情况打出组合拳,才能设计出好的测试用例!


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

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

相关文章

2024年浙江工业大学MPA项目适不适合报考?几点建议

浙江工业大学公共管理硕士(MPA)项目的学习是在浙工大小和山校区,近两年的发展速度相对比较快,目前每年都可以招到100的生源,而报考的考生也越来越多。究竟这个项目的综合竞争力怎么样,适不适合报考&#xf…

1791_树莓派bash入门杂志_Essentials_Bash_v1

全部学习汇总: GreyZhang/little_bits_of_raspberry_pi: my hacking trip about raspberry pi. (github.com) 拿到一份树莓派早期的宣传电子杂志资料,看了一下感觉还是有一些帮助。针对里面多少有一些共鸣的地方,做一个简单的整理。 1. 命令行…

原来,C语言操作Mysql这么简单

迷途小书童 读完需要 10分钟 速读仅需 4 分钟 1 简介 MySQL 是一种流行的关系型数据库管理系统,而 C 语言是一种强大的编程语言,可以与 MySQL 进行交互。本篇博文将介绍如何使用 C 语言来连接、查询和操作 MySQL 数据库。我们将涵盖原理实现、安装步骤、…

windows/ubuntu怎么修改hosts文件

windows系统修改方法: 第一步:用管理员权限打开记事本,或者visual studio。 第二步:用记事本或者vs打开地址C:\Windows\System32\drivers\etc\hosts文件,这个时候就可以直接修改了 Ubuntu22 LTS系统修改方法&#xf…

c++STL案列一评委打分

案例描述 有5名选手:选手ABCDE,10个评委分别对每一名选手打分,去除最高分,去除评委中最低分,取平均分 实现步骤 1.创建五名选手,放到vector中 2.遍历vector容器,取出来每一个选手,执行for循环…

【自然语言处理】【大模型】MPT模型结构源码解析(单机版)

相关博客 【自然语言处理】【大模型】MPT模型结构源码解析(单机版) 【自然语言处理】【大模型】ChatGLM-6B模型结构代码解析(单机版) 【自然语言处理】【大模型】BLOOM模型结构源码解析(单机版) 【自然语言处理】【大模型】极低资源微调大模型方法LoRA以及BLOOM-LORA实现代码 【…

【云原生】Kubernetes学习笔记

部署 在部署前强调几点 不要使用IPv6, 很多组件都不支持IPv6不要使用最新版本, 最新版本非常不稳定, 甚至可能存在无法运行的bug不要版本更新, 安装后就将版本固定下来, 新的版本可能会引入新功能, 或移除旧功能, 导致Kubernetes无法运行 Kubeadm介绍 K8s是由多个模块构成的…

卸载Visual Studio 2010学习版 —— 卸载VCExpress

目录 最初安装Visual Studio 2010学习版是因为计算机二级 C语言考试而装,现如今考完试后便可卸载掉了,安装简便而卸载却没有uninstall.exe文件。故本文提供卸载方式。 进入到程序目录,找到setup.exe文件,也可以在程序目录搜索set…

Spring Security :一【权限管理概述、Spring Security 认证与授权】

文章目录 Spring Security一、权限管理概述1.1.什么是认证1.2 什么是授权1.3 授权的数据模型RBAC1.3.1 基于角色的访问控制1.3.2 基于资源的访问控制 1.4 权限管理框架1.4.1 Apache Shiro1.4.2 Spring Security1.4.3 Shiro 和 Spring Security 比较 二、Spring Security 认证与…

Simple Factory 简单工厂模式简介与 C# 示例【创建型3.1】【设计模式来了_3.1】

〇、简介 1、什么是简单工厂模式? 一句话解释: 客户类和工厂类严格分工,客户类只需知道怎么用,处理逻辑交给工厂类。 简单工厂模式(Simple Factory Pattern)是日常开发中常用的设计模式。其是一种简单的创…

【WSN】基于蚁群算法的WSN路由协议(最短路径)消耗节点能量研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

postgresql-存储过程

postgresql-存储过程 简述PL/pgSQL 代码块结构示例嵌套子块 声明与赋值控制结构IF 语句CASE 语句简单case语句搜索 CASE 语句 循环语句continuewhilefor语句遍历查询结果 foreach 游标游标传参 错误处理报告错误和信息检查断言 捕获异常自定义函数重载VARIADIC 存储过程示例事务…

Opencv-python去图标与水印方案实践

RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色&#xff…

【虚拟化】虚拟机vcpu绑核物理机

文章目录 一、NUMA二、虚拟机xml配置解析 参考文章 第一篇:KVM虚拟化CPU技术总结 第二篇:虚机cpu和mem的配置(cputune和numatune) 第三篇:libvirt 中cpu, numa 的配置 第四篇:如何提高虚拟机性能&#xff1…

最新研究综述——探索基础模型中的“幻觉”现象

深度学习自然语言处理 原创作者:Winnie “幻觉”问题即模型生成的内容可能包含虚构的信息。它不仅在大语言模型(LLMs)中存在,也存在于图像、视频和音频等其他一系列基础模型中。 针对这一问题,一篇最近的综述论文对目前所有基础模型的“幻觉”…

树、二叉树、堆及其应用(堆排序、top-k问题)

目录 树的概念与结构 概念: 与树相关的概念: 树的表示: 二叉树 概念: 特殊的二叉树: 二叉树性质: 二叉树的存储结构: 堆 堆的概念: 堆的实现: 堆的创建: 堆的插入: 堆的删…

linux、windows的pip一键永久换源[清华源、中科大、豆瓣、阿里云]

前言 本文概述:linux、windows操作系统一键将pip下载源永久设置为国内下载源,避免了使用临时源需要到处找镜像地址的麻烦。 作者介绍:作者本人是一名人工智能炼丹师,目前在实验室主要研究的方向为生成式模型,对其它方向…

stm32_标准库_中断_按键点灯|蜂鸣器

配置流程 需要对AFIO、EXTI、NVIC、GPIOB进行配置形成通路将中断连接至CPU APB2总线连接的寄存器 LED灯代码 #include "stm32f10x.h" // Device header #include "Delay.h"GPIO_InitTypeDef GIPO_InitStruct;//结构体配置GPIO EXTI_InitTypeDef EXTI_…

海普纯化产品-多肽固相合成载体

#海普纯化产品-多肽固相合成载体 多肽固相合成法被广泛应用于多肽和蛋白质的研究领域,特别是短多肽的合成,随着全新化学结构的新药开发难度加大,投入费用逐年增高,多肽类药物的开发逐渐成为医药领域的新热点。 多肽类药物合成技术…