软件测试(二)用例

news2024/12/22 18:52:04

软件测试

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

  1. 测试环境
  2. 操作步骤
  3. 测试数据
  4. 预期结果

评价测试用例的标准:对比好坏用例的评价标准

  • 用例表达清楚,无二义性。
  • 用例可操作性强。
  • 用例的输入与输出明确。一条用例只有一个预期结果。
  • 用例的可维护性好。
  • 用例对需求的覆盖率高。

测试用例的好处

  1. 测试执行者的依据
  2. 使得工作可重复,自动化测试的基础
  3. 评估需求覆盖率
  4. 用例的复用
  5. 积累测试的方法思路以供后续借鉴
  6. 测试用例的设计是费时费力的工作,往往设计测试用例所花费的时间比执行所花费的时间还多(省时)

基于需求的设计方法

需求文档->梳理需求(掌握需求)->针对文档设计测试用例(基于需求的设计测试用例)

基于需求进行设计用例:

这是个注册页面的功能测试:
在这里插入图片描述

基于需求进行设计用例的方法

1.等价类

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

  • 有效等价类:满足用户需求输入集合。
  • 无效等价类:根据需求说明书,不满足需求的集合。

缺点:等价类只考虑输入域的分类,没有考虑输入域的组合,需要其他的设计方法和补充。

在这里插入图片描述

2.边界值

边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法

边界点:

  • 上点:边界上的点
  • 内点:边界内的点
  • 离点:边界值附近的点(闭区间在外距离最近的点,开区间区间内的点)
    在这里插入图片描述

3.因果图(判定表)

判定表,是一种表达逻辑判断的工具
关系:

  • 与:所有的条件必须满足,如果一个条件不满足,此时结果为假
  • 或:满足其中一个条件结果为真,如果条件全为假,结果就为假
  • 恒等:条件为真,结果一定为真
  • 非:条件为假,结果才为真

设计测试用例:
(1)分析所有可能的输入和可能的输出。
(2)找出输入与输出之间的对应关系。
(3)画出因果图。
(4)把因果图转换成判定表。

(3)和(4)可以看成设计判定表

(5)把判定表对应到每一个测试用例。

例子:假设:业务单据的处理规则为:“淘宝618活动,订单已提交,订单合计金额大于300元或有红包,则进优惠

  • 输入:订单已提交,订单金额大于300,有红包
  • 输出:优惠,不优惠
  1. 订单已提交,金额大于300,有红包,优惠
  2. 订单已提交,金额大于300,没有红包,优惠
  3. 订单已提交,金额小于300,有红包,优惠
  4. 订单已提交,金额小于300,没有红包,不优惠
  5. 订单不提交,金额大于300,有红包,不优惠
  6. 订单不提交,金额大于300,没有红包,不优惠
  7. 订单不提交,金额小于300,有红包,不优惠
  8. 订单不提交,金额小于300,没有红包,不优惠

在这里插入图片描述

在这里插入图片描述

4.正交表

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

什么是正交表?
最简单的正交表是L4(23),含意如下:“L”代表正交表;L 下角的数字“4”表示有 4 横行,简称行,即要做四次试验;括号内的指数“3”表示有3 纵列,简称列,即最多允许安排的因素是3 个;括号内的数“2”表示表的主要部分只有2 种数字,即因素有两种水平1与2。正交表的特点是其安排的试验方法具有均衡搭配特性。 [1](百度)

(用的是allpairs画正交表)

因素(Factor):输入变量
水平(位级)(Level):每个输入变量取值
在这里插入图片描述
性质:

  1. 每一列中,不同的数字出现的次数一样多
  2. 任意两列中各个有序数对出现的次数都一样多。

设计测试用例
注册案例:

需求:姓名、邮箱、密码、确认密码、验证码全部输入才能注册
因素:姓名、邮箱、密码、确认密码、验证码
水平:填写 或者 不填写

画正交表:
(1)将因素和水平放到Excel表格中
在这里插入图片描述
(2)将Excel表格内容直接复制到txt文本中

在这里插入图片描述
(3)生成正交表
在这里插入图片描述
(4)结果
在这里插入图片描述
在这里插入图片描述

场景设计法

1.场景:对软件整个使用场景进行测试

2.如何通过这个方法设计测试用例
充分理解需求-》确定主事件流-》每一个事件流就是一个测试用例

案例:ATM取款

主事件流:插卡-》输入密码-》选择业务-》选择金额-》出钞-》取卡

取款失败的情况:
插卡:芯片读取失败,卡消磁了,卡差错了。。。。
输入密码:密码输错,ATM键盘坏了,密码输入三次以上
业务:查询,选择取款。。
选择金额:输入金额大于银行卡余额,输入金额为0。。
出钞:ATM机钱不够,断电,多吐钱,断网。。
取卡:尝试集不去卡,ATM断电

错误猜测法

测试人员的经验

  1. 如何测试弱网:
    在这里插入图片描述
    在这里插入图片描述
    request传输1kb花费时间300ms
    response下载1kb花费时间150ms

  2. 测试接口
    使用工具:代码和工具(postmean),
    http请求:get,post,delete。。
    在这里插入图片描述

针对参数进行测试:(传递所有参数,传递部分参数,不传递参数,传递其他的参数)
在这里插入图片描述
zip命令
功能:压缩的是一个文件夹,压缩一个文件,压缩图片
界面:压缩信息提示提示正确
性能:5G,1KB
安全:压缩完文件,压缩之后文件不能损坏。

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

水杯测试用例设计(实体)
(不完全,可以有更多)
在这里插入图片描述

微信发送朋友圈设计测试用例
(并不完整,其实还可以更多)
在这里插入图片描述

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

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

相关文章

QML(11)——qml界面之间通信方式详解

目录 一、属性绑定1、直接绑定 property01: property02实例代码 2、条件绑定 Qt.binding实例代码 二、信号传递1、on<Property>Changed实例代码 2、on<Signal>实例代码 3、条件信号传递 connect实例代码 4、Connections 一、属性绑定 属性绑定具有持续性 1、直接…

轻舟500天搞定征程5,L2+方案明年交付

作者 | Amy 编辑 | 德新 2022年L2商业化赛道发展得如火如荼&#xff0c;各家主机厂和智驾供应商的高速NOA相继迸发。 华为、小鹏率先在上海、广州多地开放城市NOA&#xff0c;蔚来、理想紧随其后。宝骏云朵联合大疆车载&#xff0c;吉利博越L联合地平线&#xff0c;将搭载高…

MySQL服务安装与登录

&#xff08;1&#xff09;以管理员身份启动命令提示符&#xff1a; &#xff08;2&#xff09;定位到安装目录的bin目录下&#xff08;根据自己的安装路径进行调整即可&#xff09;。先输入“d:”&#xff0c;定位到d盘&#xff0c;输入cd空格文件路径&#xff08;直接复制粘贴…

Windows系统安装ESP32 ESP-IDF开发环境

陈拓 2023/10/07-2023/10/10 1. 概述 在《用乐鑫国内Gitee镜像搭建ESP32开发环境》 https://blog.csdn.net/chentuo2000/article/details/113424934?spm1001.2014.3001.5502 一文中我们讲述了Linux环境下ESP32开发工具ESP-IDF的安装。 本文讲述Windows环境下ESP32开发工具…

C#使用PPT组件的CreateVideo方法生成视频

目录 需求 实现 CreateVideo方法 关键代码 CreateVideoStatus 其它 需求 我们在使用PowerPoint文档时&#xff0c;经常会使用其导出功能以创建视频&#xff0c;如下图&#xff1a; 手工操作下&#xff0c;在制作好PPT文件后&#xff0c;点击文件 -> 导出 -> 创建视…

new、delete与构造、析构函数的关系

一、指针对象的动态建立与释放 动态建立&#xff1a;new 实现&#xff0c;为指针对象分配空间 动态释放&#xff1a;delete 实现&#xff0c;为指针对象释放空间 #include<iostream> using namespace std; class A{private:int a;public:A(int a10):a(a1){cout<<&…

pyflink 环境测试以及测试案例

1. py 的 环境以来采用Anaconda环境包 安装版本&#xff1a;https://www.anaconda.com/distribution/#download-section Python3.8.8版本&#xff1a;Anaconda3-2021.05-Linux-x86_64.sh 下载地址 https://repo.anaconda.com/archive/ 2. 安装 bash Anaconda3-2021.05-Linux-x…

基于SSM+Vue的汽车服务商城系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 目录…

SpringFrameWork之注解类管理Bean

1 Bean 注解方式的扫描 1.1 .1注解理解 和 XML 配置文件一样&#xff0c;注解本身并不能执行&#xff0c;注解本身仅仅只是做一个标记&#xff0c;具体的功能是框架检测到注解标记的位置&#xff0c;然后针对这个位置按照注解标记的功能来执行具体操作。 1.1.2 扫描理解 Sp…

怎么使用LightPicture开源搭建图片管理系统并远程访问?【搭建私人图床】

文章目录 1.前言2. Lightpicture网站搭建2.1. Lightpicture下载和安装2.2. Lightpicture网页测试2.3.cpolar的安装和注册 3.本地网页发布3.1.Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 1.前言 现在的手机越来越先进&#xff0c;功能也越来越多&#xff0c;而手机…

【单片机毕业设计】【hj-006-1】烟雾、甲烷气体检测 | 空气质量检测 | 有害气体检测

一、基本介绍 项目名&#xff1a; 基于单片机的烟雾、甲烷气体检测系统设计 基于单片机的空气质量检测 系统设计 基于单片机的有害气体检测系统设计 项目编号&#xff1a;mcuclub-hj-006-1 单片机类型&#xff1a;STM32F103C8T6 具体功能&#xff1a; 1、通过MQ-2检测烟雾值&…

人防行业通信系统

深圳市华脉智联科技有限公司是一家拥有核心自主知识产权的高科技企业&#xff0c;公司致力于公网对讲、融合通信、应急通信、执法调度等领域的系统和技术的开发和探讨&#xff0c;为行业用户提供一整套以通信为基础&#xff0c;软硬件结合的实战解决方案。华脉智联始终坚持将解…

2023年淘宝天猫双十一什么时候开始?天猫双十一满减活动规则和优惠力度是多少

2023年天猫淘宝双十一活动将在10月24日20时开启&#xff0c;同时包含两波正式开买时间点&#xff0c;分别为10月31日20时和11月10日20时。 一、2023天猫淘宝双十一活动时间表 第一波 (1)预售 预售预热&#xff1a;2023年10月24日14:00:00-2023年10月24日19:59:59 定金*支付…

工控机通过Profinet转Modbus RTU网关与报警控制仪通讯配置案例

本文将以工控机通过Profinet转Modbus RTU网关&#xff08;XD-MDPN100&#xff09;与报警控制仪通讯的实际案例为例&#xff0c;介绍Profinet转Modbus RTU网关&#xff08;XD-MDPN100&#xff09;在工业通信的应用。 在某个生产车间的报警系统中&#xff0c;报警控制仪是起到监…

嘉立创新建元件封装进行DRC检测发现无封装

新建元件和封装 元件就是原理图中放的主要是引脚对应正确&#xff0c;封装就是pcb设计中对应元件实际放置的焊盘。所以元件和封装需要关联 关联的时候需要注意 有时候出现元件无封装的情况&#xff0c;一般是因为没有管理封装&#xff08;简单失误&#xff09;或者是关联封…

【NPM】vuex 数据持久化库 vuex-persistedstate

在 GitHub 上找到&#xff1a;vuex-persistedstate。 安装 npm install --save vuex-persistedstate使用 import { createStore } from "vuex"; import createPersistedState from "vuex-persistedstate";const store createStore({// ...plugins: [cr…

echarts设置竖向不同区间范围颜色,并且x轴自定义轴线刻度范围

需求&#xff1a;设置竖向范围区间&#xff0c;不同范围区间颜色不同并且提示信息不同&#xff0c;之后修改x轴的固定间距范围&#xff0c;让0-200-400-600改为0-340-476-754这种&#xff0c;在这我是markLine的方式实现的&#xff0c;这边我还用到x轴的翻转所以显示的是镜像的…

视频SDK开发,多平台SDK快速接入

随着科技的不断发展&#xff0c;视频已经成为了企业业务中不可或缺的一部分。无论是在线教育、企业培训还是产品展示&#xff0c;视频都发挥着至关重要的作用。为了满足企业对视频应用的需求&#xff0c;美摄视频SDK应运而生&#xff0c;为企业提供了一站式的视频解决方案。 一…

聊一聊Spring 事务的相关操作

Java全能学习面试指南&#xff1a;https://javaxiaobear.cn 1、JdbcTemplate 1.1、简介 Spring 框架对 JDBC 进行封装&#xff0c;使用 JdbcTemplate 方便实现对数据库操作 1.2、准备工作 ①搭建子模块 搭建子模块&#xff1a;spring-jdbc-tx ②加入依赖 <dependenci…

21天打卡进阶Python基础操作

python21天打卡day3-python数据类型 #int a2 print(a) print(type(a)) #float a2.2 print(a) print(type(a)) #string anihao print(a) print(type(a)) #list a[1,2,3,4] print(a) print(a[0]) print(type(a)) #元组 a(1,2) print(a) print(type(a)) #字典dict a{name:yangyal,…