【软件测试】设计测试用例的方法(正交法、判定表法、错误猜测法),测试文档的写法

news2024/12/23 20:59:34

文章目录

  • 正交法
    • 正交表
    • 设计正交表
  • 判定表法
        • 判定表
    • 设计测试用例的步骤
  • 错误猜测法
  • 测试文档

正交法

正交试验设计(Orthogonal experimentaldesign)是研究多因素多⽔平的⼀种设计⽅法,它是根据正交性,由试验因素的全部⽔平组合中挑选出部分有代表性的点进⾏试验,通过对这部分试验结果的分析了 解全⾯试验的情况,找出最优的⽔平组合。正交试验设计是⼀种基于正交表的、⾼效率、快速、经济的试验。

正交表

如图最简单的正交表是 L 4 ( 2 3 ) L4(2^3) L4(23),含意如下:“L ”代表正交表;L 下⻆的数字“ 4 ”表⽰有 4 横⾏,简称⾏,即要做四次试验;括号内的指数“3 ”表⽰有 3 纵列,简称列,即最多允许安排的因素是 3 个;括号内的数“2 ”表⽰表的主要部分只有 2 种数字,即因素有两种⽔平 12
image.png|423

  • 因素:存在的条件
  • 水平:因素的取值

特性:

  1. 每一列中,不同的数字出现的次数相同
  2. 任意两列中数字的排列方式齐全而且均衡

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

设计正交表

借助工具来实现正交表:allpairs image.png|338

步骤:

  1. 根据需求,找出因素和水平

    • 因素:姓名、电子邮箱、密码、确认密码、验证码
    • 水平:填写、不填写
  2. 将因素和水平写入到 Excel 表格中(表格不需要保存)image.png|385

    • 建议使用微软自带的 Excel,不建议使用其他的 Excel 工具image.png|494
  3. allparis.exe 同级文件夹下创建一个 txt 文件,将 Excel 表格中的内容复制到 txt 文件中,不要有其他的操作,直接保存文件

如果不是用 Excel 直接粘贴到记事本里面,而是手动在 txt 文件中编写因素和水平,使用命令生成正交表会存在格式校验错误的情况,allparis 工具对格式的要求非常严格

  1. 使用 allparis.exe 工具对 txt 文件生成正交表文件

    • pairs 目录中打开 cmd
    • 输入命令: allparis.exe test01.txt > res-test01.txtimage.png
    • ~ 代表可以是任何选项(填写/不填写)
    • allparis 工具生成的正交表和实际的正交表会有一定的出入,但是不影响整体的情况
  2. 根据生成好的正交表来编写测试用例,继续将重要的用例补全

    1. 姓名填写、电子邮箱填写、密码填写、确认密码填写、验证码填写
    2. 姓名填写、电子邮箱不填写、密码不填写、确认密码不填写、验证码不填写
    3. 姓名不填写、电子邮箱填写、密码不填写、确认密码填写、验证码不填写
    4. 姓名不填写、电子邮箱不填写、密码填写、确认密码不填写、验证码填写
    5. 姓名填写/不填写、电子邮箱填写、密码填写、确认密码不填写、验证码不填写
    6. 姓名填写/不填写、电子邮箱不填写、密码不填写、确认密码填写、验证码填写
    7. 姓名不填写、电子邮箱不填写、密码不填写、确认密码不填写、验证码不填写(自己补的,有全部填写,也有全部不填写

判定表法

通过具体的⽅法能够将测试⽤例设计的更加完整和规范。需求中会存在各种各样的场景,现在我们把需求改成如下的要求:

  • 用户输⼊的账号中包含 admin 字符,或者通过内部链接进⼊注册⻚⾯,然后提交注册按钮成为管理员⾝份;反之⽆管理员⾝份。

通过这个需求可以看出,不同的组合操作可能对应不同的结果。采⽤正交法⽆法解决这样的问题。⽽正交法能够解决需要考虑输⼊之间的组合关系对应不同结果的场景。

判定表

判定表是⼀种表达逻辑判断的⼯具,形如:image.png|501

  • 非常容易编写出测试用例(思路非常清晰)
  • 没有判定表的话,写出来的用例组合就非常凌乱
    1. 感觉疲倦,也不感兴趣
    2. 感觉疲倦,但是感兴趣
    3. 不疲倦,感兴趣

设计测试用例的步骤

根据判定表法设计测试用例的步骤:

  1. 确认需求中输入条件输出条件

    • 输入:账户包含 admin 字符,内部链接进入注册界面,提交注册按钮
    • 输出:管理员/非管理员
  2. 找出输入条件和输出条件之间的关系

    • 通过对输入条件的组合,找出不同组合对应的结果image.png|483
  3. 画判定表image.png

  4. 根据判定表编写测试用例
    1. 账户包含 admini 字符,提交注册按钮,成为管理员账号
    2. 内部链接进入注册,提交注册按钮,称为管理员账号
    3. …


错误猜测法

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

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

错误推测法和⽬前流⾏的“探索式测试⽅法”的基本思想⼀致,这类⽅法在敏捷开发模式下的投⼊产出⽐很⾼,被⼴泛应⽤于测试。

当我们⼀提到某个⾮常熟悉的⼈的名字,脑海会⽴刻浮现对他的评价

  • “武⼤郎”:憨厚,⽼实,为⼈坦诚,乐于助⼈
  • “潘⾦莲”:美丽,“温柔”,“疼爱丈夫”,“善于交友”,“精通制⾐”

张三要去卖⽠

  • ⽤例1:张三这⼈不实诚,⼩⼼他缺⽄少两
  • ⽤例2:张三这⼈粗⼼,⼩⼼他的⽠被压坏了
  • ⽤例3:张三这⼈⼩⽓,⼩⼼不要把他惹哭了

密码:是否加密,是否具备安全性
获取用户输入:是否存在 SQL 注入的情况
软件存在多版本:多个版本都要测试
活动每个月都存在,但是每个月的奖励不一样:兼容前面月份的奖励

测试文档

  1. 项目背景
  2. 项目功能
  3. 对项目进行测试
    1. 编写测试用例(用例截图放到这里)
    2. 执行测试(选取几个用例的步骤截图放到这里做展示)
  4. 测试总结(覆盖了多少个页面、用例是否全部执行通过、发现了多少个 bug?bug 出现的原因/涉及到的页面在哪里…)

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

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

相关文章

MySQL技巧之跨服务器数据查询:进阶篇-从A数据库复制到B数据库的表中

MySQL技巧之跨服务器数据查询:进阶篇-从A数据库复制到B数据库的表中 基础篇已经描述:借用微软的SQL Server ODBC 即可实现MySQL跨服务器间的数据查询。 而且还介绍了如何获得一个在MS SQL Server 可以连接指定实例的MySQL数据库的连接名: MY_ODBC_MYSQ…

网络安全练习之 ctfshow_web

文章目录 VIP题目限免(即:信息泄露题)源码泄露前台JS绕过协议头信息泄露robots后台泄露phps源码泄露源码压缩包泄露版本控制泄露源码(git)版本控制泄露源码2(svn)vim临时文件泄露cookie泄露域名txt记录泄露敏感信息公布内部技术文档泄露编辑器…

Elasticsearch retrievers 通常与 Elasticsearch 8.16.0 一起正式发布!

作者:来自 Elastic Panagiotis Bailis Elasticsearch 检索器经过了重大改进,现在可供所有人使用。了解其架构和用例。 在这篇博文中,我们将再次深入探讨检索器(retrievers)。我们已经在之前的博文中讨论过它们&#xf…

debug笔记:gpustat显示没有进程运行,但是GPU显存被占用

1 问题描述 使用gpustat之后,虽然显示除了gpu5之外别的都没有进程,但是GPU显存却被占用了 2 解决方法 原因是存在僵尸进程,已经运行完,但是内存并没有释放 fuser -v /dev/nvidia* 这个指令查看僵尸进程 然后kill掉即可&#…

【Chapter 3】Machine Learning Classification Case_Prediction of diabetes-XGBoost

文章目录 1、XGBoost Algorithm2、Comparison of algorithm implementation between Python code and Sentosa_DSML community edition(1) Data reading and statistical analysis(2)Data preprocessing(3)Model Training and Evaluation(4)Model visualization 3、summarize 1…

Android OpenGL ES详解——立方体贴图

目录 一、概念 二、如何使用 1、创建立方体贴图 2、生成纹理 3、设置纹理环绕和过滤方式 4、激活和绑定立方体贴图 三、应用举例——天空盒 1、概念 2、加载天空盒 3、显示天空盒 4、优化 四、应用举例——环境映射:反射 五、应用举例——环境映射:折射 六、应用…

聊天服务器(9)一对一聊天功能

目录 一对一聊天离线消息服务器异常处理 一对一聊天 先新添一个消息码 在业务层增加该业务 没有绑定事件处理器的话消息会派发不出去 聊天其实是服务器做一个中转 现在同时登录两个账号 收到了聊天信息 再回复一下 离线消息 声明中提供接口和方法 张三对离线的李…

T6识别好莱坞明星

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 导入基础的包 from tensorflow import keras from tensorflow.keras import layers,models import os, PIL, pathlib import matplotlib.pyplot as pl…

Odoo :一款免费开源的日化行业ERP管理系统

文 / 开源智造Odoo亚太金牌服务 概述 构建以 IPD 体系作为核心的产品创新研发管控体系,增进企业跨部门业务协同的效率,支撑研发管控、智慧供应链、智能制造以及全渠道营销等行业的场景化,构筑行业的研产供销财一体化管理平台。 行业的最新…

48.第二阶段x86游戏实战2-鼠标点击call

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要…

Vue 学习随笔系列十五 -- 数组遍历方法

数组遍历方法 文章目录 数组遍历方法1. for 循环2. forEach (不会修改数组本身)3. map (不修改数组本身)4. some(不修改数组本身)5. every(不修改数组本身)6. filter(不修改数组本身)7. find(不修改数组本身)8. findIndex拓展 9. reduce(累加)拓展 1. fo…

FreeRTOS的列表与列表项

目录 1.为什么要学列表? 2.什么是列表和列表项? 2.1 列表 2.2列表项 2.3,迷你列表项 3.列表与列表项的初始化 3.1 列表初始化 3.2列表项初始化 4.列表项的“增删查”(插入、删除、遍历) 4.1列表项的插入 4.1.1…

数字IC后端教程之Innovus hold violation几大典型问题

今天小编给大家分享下数字IC后端实现Physical Implementation过程中经常遇到的几个hold violation问题。每个问题都是小编自己在公司实际项目中遇到的。 数字后端实现静态时序分析STA Timing Signoff之min period violation Q1: 在Innouvs postCTS时序优化的log中我们经常会看…

VS2022编译32位OpenCV

使用环境 Visual Studio 2022 OpenCV: 4.7.0 cmake: 3.30.2一、使用CMake工具生成vs2022的openCV工程解决方案 打开cmake,选择opencv的源代码目录,创建一个文件夹,作为VS工程文件的生成目录 点击configure构建项目,弹出构建设置…

企业生产环境-麒麟V10(ARM架构)操作系统部署Zookeeper单节点集群版

前言:ZooKeeper是一个分布式协调服务,它为分布式应用提供一致性服务,是Apache Hadoop的子项目。它被设计为易于编程,同时具有高性能和高可靠性。ZooKeeper提供了一个简单的接口和一些基本的文件系统操作,使得开发者能够…

vue3 中直接使用 JSX ( lang=“tsx“ 的用法)

1. 安装依赖 npm i vitejs/plugin-vue-jsx2. 添加配置 vite.config.ts 中 import vueJsx from vitejs/plugin-vue-jsxplugins 中添加 vueJsx()3. 页面使用 <!-- 注意 lang 的值为 tsx --> <script setup lang"tsx"> const isDark ref(false)// 此处…

深度学习服务器租赁AutoDL

1. 根据需要选择租用的显卡 算力市场 1.1 显卡选择 1.2 环境配置 2. 服务器使用 2.1 上传文件 2.2 调试环境 2.3 跑代码 python train.py && /usr/bin/shutdown # && /usr/bin/shutdown表示代码成功运行结束后&#xff0c;自动关机3. 省钱绝招 省钱绝招 …

IDEA部署AI代写插件

前言 Hello大家好&#xff0c;当下是AI盛行的时代&#xff0c;好多好多东西在AI大模型的趋势下都变得非常的简单。 比如之前想画一幅风景画得先去采风&#xff0c;然后写实什么的&#xff0c;现在你只需描述出你想要的效果AI就能够根据你的描述在几分钟之内画出一幅你想要的风景…

【大数据技术基础 | 实验十】Hive实验:部署Hive

文章目录 一、实验目的二、实验要求三、实验原理四、实验环境五、实验内容和步骤&#xff08;一&#xff09;安装部署&#xff08;二&#xff09;配置HDFS&#xff08;三&#xff09;启动Hive 六、实验结果&#xff08;一&#xff09;启动结果&#xff08;二&#xff09;Hive基…

Flume1.9.0自定义Sink组件将数据发送至Mysql

需求 1、将Flume采集到的日志数据也同步保存到MySQL中一份&#xff0c;但是Flume目前不支持直接向MySQL中写数据&#xff0c;所以需要用到自定义Sink&#xff0c;自定义一个MysqlSink。 2、日志数据默认在Linux本地的/data/log/user.log日志文件中&#xff0c;使用Flume采集到…