测试用例篇

测试用例的基本要素

**测试用例是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环 **
境、操作步骤、测试数据、预期结果等要素.
评价测试用例的标准:**对比好坏用例的评价标准 **
用例表达清楚,无二义性
用例可操作性强
用例的输入与输出明确。一条用例只有一个预期结果。
用例的可维护性好
用例对需求的覆盖率高

测试用例的设计方法

基于需求进行测试用例的设计

image.png
基于需求设计测试用例是测试设计和开发测试用例的基础,第一步就要分析测试需求,验证需求是否正
确、完整、无二义性,并且逻辑自洽。在需求正确的基础上细化测试需求,从测试需求提炼出一个个测
试点或者测试项,然后根据每一个测试点进行测试用例的设计. 在分析测试需求时,一般分为功能测试需求非功能测试需求. 基于需求设计的测试用例只是一个大概的测试用例.

具体的设计方法

等价类

等价思想

用经典的个例来替代其他的同类案例. 依据需求将输入(特殊情况下会考虑输出)划分为若干个等价类,从等价类中选出一个测试用例,如果 这个测试用例测试通过,则认为所代表的等价类测试通过,这样就可以用较少的测试用例达到尽量多的 功能覆盖,解决了不能穷举测试的问题。
**有效等价类:**对于程序的规格说明书是合理的、有意义的输入数据构成的集合,利用有效等价类验
证程序是否实现了规格说明中所规定的功能和性能
**无效等价类:**根据需求说明书,不满足需求的集合。

如何通过等价类设计测试用例
  1. 充分理解需求
  2. 划分有效等价类和无效等价类
  3. 细分有效等价类,细分无效等价类

image.png

  1. 组合有效等价类, 组合无效等价类. 原则是有效等价类在组合时,尽量多的区覆盖有效等价类.无效等价类组合的时候,一个测试点,只能组合一个无效等价类,其余的需要和有效等价类组合(需要明确是那个无效等价类导致的问题)

image.png

等价类的适用需求

使用于输入数据是无穷的, 但输入的数据有特点.

边界值

边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等
价类划分法的补充.

边界值要点

上点: 无论是开区间还是闭区间还是半开半闭区间,上点就是边界上的点.
内点: 无论是开区间还是闭区间还是半开半闭区间,内点就是边界内的点.
离点: 边界左右的点. 如果是闭区间就是范围外的点, 如果是开区间就是范围内的点.
image.png

设计测试用例的步骤
  1. 充分理解需求
  2. 找离点, 上点, 内点
  3. 针对离点,上点,内点设计测试用例

这里和等价类一起组合使用:
image.png

场景设计法

该方法可以比较生动地描绘出事件触发时的情景,有利于测试设计者 设计测试用例,是测试用例更容易理解和执行。 典型的应用是是用业务流把各个孤立的功能点串起来,为测试人员建立整体业务感觉,从而避免陷入功 能细节忽视业务流程要点的错误倾向.

设计测试用例的具体步骤
  1. 主事件流
  2. 次事件流
  3. 将主事件流次事件流串起来就会形成场景, 一个场景就是一个测试用例.

image.png

判定表法/因果图

因果图是一种简化了的逻辑图,能直观地表明程序输入条件(原因)和输出动作(结果)之间的相互关
系。因果图法是借助图形来设计测试用例的一种系统方法,特别适用于被测试程序具有多种输入条件、
程序的输出又依赖于输入条件的各种情况。

逻辑关系

image.png

设计测试用例具体步骤
  1. 分析所有可能的输入和可能的输出。
  2. 找出输入与输出之间的对应关系。
  3. 画出因果图。
  4. 把因果图转换成判定表。
  5. 把判定表对应到每一个测试用例。

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

正交表法

当判断表法测试用例太多时,可以使用正交表法.
image.png

🔥🔥🔥测试用例设计万能公式

我们分别从多个方面来入手:

  1. 功能,
  2. 界面
  3. 易用性
  4. 兼容性
  5. 安全性
  6. 性能
  7. 网络
描述物体

image.png


描述软件
  1. 功能: 软件本职能够用来干嘛
  2. 兼容: 软件可以再各个平台上使用
  3. 易用: 软件操作简单, 符合大众使用习惯
  4. 安全: 软件防止黑客攻击, xss漏洞, sql注入
  5. 界面: 界面简洁美观, 图片布局, 按钮颜色, 图片大小, 文字字体
  6. 性能: 软件渲染页面的速度, 可以同时承载大量用户的同时访问


🔥🔥🔥面试常问题

针对liunx命令

例: zip这个命令设计一个测试用例
功能:

  1. 压缩, txt,图片, 视频文件,可以压缩成功
  2. 压缩后源文件可以正常使用
  3. 压缩完后压缩文件变小了

兼容: zip这里命令在多个系统上是否可以兼容
性能: 压缩一个大的文件用时非常短
界面: zip -选项 文件, 当压缩完成后文件展示的颜色会变化
易用性: zip这个命令见名思意
安全: 压缩后,源文件没有损坏, 压缩文件解压后也可以正常使用

测试用例设计中如何控制网络观察软件各个功能是否正常

这里可以使用fiddler:
第一步:
image.png
第二步:
image.png
第三步: 查找里面的download,修改里面的数值就可以控制网络速度了.(这里数值越大, 上传1kb花费的时间越大)
image.png

接口测试

针对接口方法测试: post, get…
针对参数测试: 针对参数的取值(取值符合类型, 不符合类型, 参数的个数要求, 参数为空)
针对业务测试: 接口返回的每个参数取值对不对, 接口返回的参数个数对不对.
这里我们可以使用postman来:
image.png
image.png

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

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

相关文章

Spring服务启动后就执行某个方法

下边按照执行顺序前后,测试代码结果截图放到最后: 1、注解PostConstruct 时间:当前bean被创建并且所有的依赖注入完成之后执行; 使用:当前bean 所在类内的某个方法上 添加该注解;该方法没有参数&#xf…

探索移动云服务:构建高效移动互联网应用的最佳实践

一、移动云服务简介 官网:https://ecloud.10086.cn 移动云,或称为移动云计算,是通过无线网络向移动设备用户提供云计算服务的技术。它使用户能够通过智能手机、平板电脑和笔记本电脑等各类移动设备,在任何时间、任何地点便捷地访…

小程序怎么改名

经常有商家想要对自己的小程序进行重命名,改名可能是为了更好地与品牌形象以及业务相匹配,也可能是为了更好地吸引用户。那么如何才能更名呢? 一、准备几个新名字。 在决定改名之前,首先要确定几个新的小程序名字。为什么要准备…

帝国CMS如何修改时间格式,变成几分钟,几小时教程

该插件已经在帝国cms6.6上测试通过&#xff0c;至于其他版本&#xff0c;请自行测试。 目前支持&#xff1a;标签模板&#xff0c;列表模板&#xff0c;内容模板 安装说明&#xff1a; 把以下的内容复制到 /e/class/userfun.php 文件里&#xff08;放在<?php和?>之间…

自定义类型:结构体详解

1.结构体 1.1 结构的基础知识 结构是一些值的集合&#xff0c;这些值称为成员变量。一个整型数组&#xff0c;它的每个数组元素只能是整型&#xff0c;字符型的数组它的每个元素只能是字符型。但是结构体的每个成员可以是各种不同类型的变量。 1.2结构的声明 //声明 struct t…

孜然多程序授权系统V2.0开源

源码介绍 孜然一款多程序授权系统&#xff0c;支持自定义权限价格/新增程序配置等支持自动生成授权代码在线签到在线充值多支付接口IP/域名云黑文章系统&#xff08;富文本编辑器&#xff09;卡密功能一键云黑&#xff08;挂个大马/一键黑页/一键删库/一键删源码&#xff09; …

批处理作业调度问题 (回溯法)

目录 一、问题解析 二、实例剖析 三、算法思路 四、代码实现 结果&#xff1a; 总结 前言 【问题】n 个作业{1, 2, …, n}要在两台机器上处理&#xff0c;每个作业必须先由机器 1 处理&#xff0c;再由机器 2 处理&#xff0c;机器 1 处理作业i所需时间为 ai&#xff0c;…

【Linux-时间管理和内核定时器】

Linux-时间管理和内核定时器 ■ 设置系统节拍率■ 高节拍率和低节拍率的优缺点&#xff1a;■ jiffies 系统节拍数■ get_jiffies_64 这个函数可以获取 jiffies_64 的值■ 处理绕回■ 使用 jiffies 判断超时 ■ jiffies 和 ms、 us、 ns 之间的转换函数在这里插入代码片■ 内核…

QT常量中有换行符

头文件添加&#xff1a; #pragma execution_character_set("utf-8")

Java中的类加载器

类加载器 1.什么是类加载器&#xff1f; 启动类加载器&#xff08;Bootstrap ClassLoader&#xff09;&#xff1a;这是JVM自带的类加载器&#xff0c;负责加载Java的核心类库&#xff0c;如rt.jar等。由于安全原因&#xff0c;启动类加载器加载的类不能被其他类加载器加载的类…

数据库(8)——DML数据操作

增添数据 给指定字段添加数据 INSERT INTO 表名 (字段名1&#xff0c;字段名2,...)VALUES(值1,值2...); 没有的添加的字段默认为NULL。 给全部字段添加数据 INSERT INTO 表名 VALUE (值1,值2,....值n); 此时值的顺序对应表中字段的顺序 批量添加数据 INSERT INTO 表名(字段1,…

ssm143校园一卡通系统软件的设计与实现+jsp

校园一卡通系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本校园一卡通系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间…

聊聊变异测试

软件质量保障 所寫即所思&#xff5c;一个阿里质量人对测试的所感所悟。 1. 介绍 有句话说&#xff1a;证实容易&#xff0c;证伪难。正如测试一样&#xff0c;证明缺陷存在容易&#xff0c;但证明不存在缺陷难。而变异测试颠覆了这一原则&#xff0c;如果我们知道存在缺陷&am…

CAD二次开发(6)-用户交互之选择集

1. 简单测试 测试让选中的图形描红 [CommandMethod("SeleDemo")]public void SeleDemo(){Database db HostApplicationServices.WorkingDatabase;Editor ed Application.DocumentManager.MdiActiveDocument.Editor;PromptSelectionResult psr ed.GetSelection();…

如何学到数据库从入门到入土(MySQL篇)

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. &#x1f92d;&#x1f92d;&#x1f92d;可能说的不是那么严谨.但小编初心是能让更多人能接…

mars3d的V2版本的Video2D与V3版本的Video2D实现数据快速迁移

场景&#xff1a; 目前是v2和v3的两个相机视角的不同格式&#xff0c;在Mars3d的V2的旧数据想可以快速迁移到V3版本。 V2版本的数据&#xff1a; {"camera": {"fov": 1.0471975511965976,"dis": 20,"stRotation": 0,"showFrust…

基于小波分析和机器学习(SVM,KNN,NB,MLP)的癫痫脑电图检测(MATLAB环境)

癫痫是一种由大脑神经元突发性异常放电导致的大脑功能性障碍疾病。据世界卫生组织统计&#xff0c;全球约有7000万人患有癫痫。癫痫患者在发病时呈现肌肉抽搐、呼吸困难、意识丧失等症状。由于癫痫发作的偶然性&#xff0c;患者极有可能在高空、驾驶、游泳等危险情况下发病并丧…

2024最新 Jenkins + Docker实战教程(二) - Jenkins相关配置

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…

C语言代码错误(一)

今天在写选择排序代码时&#xff0c;在测试数据发现不能显示结果 1、代码如下&#xff1a; #include <stdio.h>int main(void) {int i, j; // 循环变量int MinIndex; // 保存最小的值的下标int buf; // 互换数据时的临时变量int n;printf("你想输入多少个数据n:\n…

C++之lambda函数与std::bind区别及用法实例(二百八十)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…