测试用例的设计(1)

目录

1. 测试用例的基本要素

2.测试用例的设计方法

2.1.基于需求设计

2.2根据功能需求测试

2.3非功能测试

3. 具体的设计方法

3.1等价类法

3.2边界值法

3.3判定表


1. 测试用例的基本要素

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

  一个好的测试用例,哪怕是不熟悉业务的人也能根据测试用例来很快的进行测试.

2.测试用例的设计方法

2.1.基于需求设计

基于需求设计测试用例是测试设计和开发设计的基础,第一步是分析测试需求,验证需求是否正确完整,无二义性,并且逻辑自洽.在需求正确的基础上细化测试需求,从测试需求中提炼出来一个个的测试点.

在分析测试需求的时候,分为功能测试和非功能测试.

比如我们有一个用户注册的界面,我们对其进行测试.可以这样来设计测试用例:

2.2根据功能需求测试

其中根据功能需求测试:

我们可以借助功能框图来帮助我们进行测试的需求分析,概括起来,功能测试需求包括以下:

1.系统各个功能页面的验证

2.借助业务把功能串起来进行测试

3.功能的一致性,交互性测试

4.功能的不同输入.并且根据需求文档来写出的预期结果和实际输出结果做对比

5.功能的错误操作,异常操作的测试

6.功能实现用到的算法验证

7.用户操作的易用性,用户体验

2.3非功能测试

        主要有以下几个:1.性能 2.兼容性 3.安全 4.网络 5.可靠性 6.可移植性. 7. 易维护性

这些非功能的每一个部分都可以单独拿出来分析,但是这些模块互相之间可能也有影响,比如安全性高了,性能就有可能受到影响.这些都得做出取舍和找到一个平衡点

  (1)纯客户端软件,比如字处理软件(Word,PPT),媒体(音频/视频)播放软件(电脑自带的)等。这类软件对系统的功能测试要求是最低的,但是对兼容性和稳定性,可移植性有一定的要求.

(2)企业内部的客户端/服务端(C/S)应用系统。比如电子邮件,即时通信系统(飞Q,企业QQ)等,在系统功能测试需求上比纯客户端复杂,要求功能正确,稳定性能好。但是整体上看,对性能,安全性,兼容性要求不高。
(3)外部大型复杂网络应用系统,比如电子商务,网上银行,视频网站(腾讯,优酷)等,除了有复杂的系统的功能测试需求外,在系统的性能,安全性,兼容性,容错性,可靠性等都有很高的要求。
 

3. 具体的设计方法

3.1等价类法

根据需求将输入分为不同的类型,其中每一个类型都只需要一个测试用例即可,用这个测试用例来代表整个类.这样就可以用较少的测试用例来达到尽可能多的功能覆盖,解决了不能穷举测试的问题.

我们可以把等价类分为有效等价类和无效等价类

1.有效等价类,对于程序的规格说明书是合理,有以以的数据构成的集合,利用有效等价类验证程序是否实现了规格说明书中的功能和性能

2.无效等价类,根据需求说明书,不符合要求的集合

等价类只考虑输入的分域,不考虑组合,需要其他的设计方法和补充.

如 :

我去买吃的

有效等价类:馒头,包子,面条,米饭

无效等价类:电脑,手机,电视机等

3.2边界值法

边界值分析法是对输入或者输出的边界进行测试的一种黑盒测试方法,通常情况下边界值分析法是座位等价类划分法的补充.

我们可以把边界点分为 上点  内点 和 离点

上点:边界上的点

内点:边界内的点

离点:边界值附近的一个点(一般是距离最近的一个点)

如  我们在测试用户注册的用户名长度的时候,规定的值是 6~16 (闭区间)

那么我们可以分为
上点:6 16 

内点:10

离点:7 17

在使用边界值测试法的时候,要达到:

1.充分理解需求

2.找边界点

3.针对边界点设计测试用例

3.3判定表

判定表是另一种表达逻辑判断的工具.

关系有:  

与:所有条件都满足 为真,有一个不满足为假

或:满足其中一个条件为真

恒等:条件为真,结果一定为真

非:条件为假,结果才为真

如何设计测试用例,比如我们设计一个买奶茶的时候,如果订单以提交金额超过了20块钱 或者有红包,就会优惠.

那么根据以上的需求,我们可以设计出以下的测试用例

1.订单以提交,金额大于20,有红包,优惠

2.订单以提交,金额大于20,无红包,优惠

3.订单以提交,金额小于20,有红包,优惠

4.订单以提交,金额小于20,无红包,不优惠

5.订单没提交,金额大于20,有红包,不优惠

6.订单没提交,金额大于20,无红包,不优惠

7.订单没提交,金额小于20,有红包,不优惠

8订单没提交,金额小于20,无红包,不优惠

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

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

相关文章

Java Web开发从0到1

文章目录 总纲第1章 Java Web应用开发概述1.1 程序开发体系结构1.1.1 C/S体系结构介绍1.1.2 B/S体系结构介绍1.1.3 两种体系结构的比较1.2 Web应用程序的工作原理1.3 Web应用技术1.3.1 客服端应用技术1.3.2 服务端应用技术1.4 Java Web应用的开发环境变量1.5 Tomcat的安装与配置…

2024年3月2日~2024年3月15日周报

文章目录 一、前言二、 D 2 UNet \textrm{D}^{2}\textrm{UNet} D2UNet 阅读情况2.1 体系结构2.2 损失函数 三、遇到的问题及解决四、小结 一、前言 在上上周寻找改进网络框架与超参数的灵感,并跑代码查看了效果。 最近两周,继续修改网络框架结构&#xf…

【Unity】Tag、Layer、LayerMask

文章目录 层(Layer)什么是LayerLayer的应用场景Layer层的配置(Tags & Layers)Layer的数据结构LayerMaskLayer的选中和忽略Layer的管理(架构思路)层碰撞矩阵设置(Layer Collision Matrix&…

SpringBoot(拦截器+文件上传)

文章目录 1.拦截器1.基本介绍2.应用实例1.去掉Thymeleaf案例中使用session进行权限验证的部分2.编写自定义拦截器 LoginInterceptor.java 实现HandlerInterceptor接口的三个方法3.注册拦截器1.第一种方式 配置类直接实现WebMvcConfigurer接口,重写addInterceptors方…

综合小区管理系统|基于Springboot的综合小区管理系统设计与实现(源码+数据库+文档)

综合小区管理系统目录 目录 基于Springboot的综合小区管理系统设计与实现 一、前言 二、系统设计 三、系统功能设计 1、出入管理 2、报修管理 3、车位管理 4、公告管理 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#…

day06、07-MySQL

文章目录 一、MySQL概述1.1 安装1.2 数据模型1.3 SQL简介1.3.1 SQL通用语法1.3.2 分类 二. 数据库设计-DDL2.1 项目开发流程2.2 数据库操作2.2.1 查询数据库2.2.2 创建数据库2.2.3 使用数据库2.2.4 删除数据库 2.3 图形化工具2.3.1 介绍2.3.2 安装2.3.3 使用2.2.3.1 连接数据库…

【项目管理】进度管理

一、前言 小型项目中,定义活动、排列活动顺序、估算活动持续时间及制定进度模型形成进度计划等过程的联系非常密切,可以视为一个过程,可以由一个人在较短时间内完成。项目管理团队编制进度计划的一般步骤为:首先选择进度计划方法…

HTML—标签的分类,span和div标签,不同的标签之间类型转换

标签的分类: ①块级标签:无论内容多少,会充满整个行。大小可自定义 例:p,h1,ul,ol,hr 等 ②行级标签:自身的大小就是标签的大小,不会占一整行。大小不可调 例…

密码保护小贴士:如何应对常见的网络钓鱼攻击?

网络钓鱼攻击是一种常见的网络欺诈手段,针对个人隐私和财产安全构成威胁。以下是一些密码保护的小贴士,帮助您应对常见的网络钓鱼攻击: 1.谨慎点击链接:收到来历不明的邮件、短信或社交媒体消息时,不要轻易点击其中的…

Python 基础语法:基本数据类型(字典)

为什么这个基本的数据类型被称作字典呢?这个是因为字典这种基本数据类型的一些行为和我们日常的查字典过程非常相似。 通过汉语字典查找汉字,首先需要确定这个汉字的首字母,然后再通过这个首字母找到我们所想要的汉字。这个过程其实就代表了…

YoloV8改进策略:下采样改进|HWD改进下采样

摘要 本文使用HWD改进下采样,在YoloV8的测试中实现涨点。 论文解读 在卷积神经网络(CNNs)中,极大池化或跨行卷积等下采样操作被广泛用于聚合局部特征、扩大感受野和最小化计算开销。然而,对于语义分割任务&#xff…

谷粒商城——分布式基础(全栈开发篇第一部分)

文章目录 一、服务治理网路数据支撑日志处理ELK应用监控集成工具开发工具 二、环境创建1、虚拟机创建2、虚拟机安装docker等1. 安装docker1. 配置阿里docker3.docker安装mysql错误 4、docker安装redis 3、软件1.Maven 阿里云镜像1.8jdk2、idea lombokmybatisX ,3、 …

熔断降级的方案实现

熔断降级的方案实现 Spring Cloud Netflix Hystrix 提供线程隔离、服务降级、请求缓存、请求合并等功能可与Spring Cloud其他组件无缝集成官方已宣布停止维护,推荐使用Resilience4j代替 Spring Cloud Resilience4j 轻量级服务熔断库 提供类似于Hystrix的功能 具有更…

C++手写链表、反转链表、删除链表节点、遍历、为链表增加迭代器

本篇博客介绍如何使用C实现链表,首先编写一个简单的链表,然后增加模板,再增加迭代器。 简单链表的实现 链表的结构如下: 首先需要定义链表的节点: struct ListNode {int data;ListNode* pNext;ListNode(int value …

【C++算法模板】图论-拓扑排序,超详细注释带例题

文章目录 0)概述1)Kahn算法1:数据结构2:建图3:Kanh算法 2)DFS染色1:数据结构2:建图3:DFS 3)算法对比【例题】洛谷 B3644 推荐视频链接:D01 拓扑排…

4核8g服务器能支持多少人访问?价格感人,不知道性能如何

腾讯云轻量4核8G12M服务器配置446元一年,646元12个月,腾讯云轻量应用服务器具有100%CPU性能,系统盘为180GB SSD盘,12M带宽下载速度1536KB/秒,月流量2000GB,折合每天66.6GB流量,超出月流量包的流…

Linux下Arthas(阿尔萨斯)的简单使用-接口调用慢排查

使用环境 k8s容器内运行了一个springboot服务,服务的启动方法是main()方法 下载并启动 arthas curl -O https://arthas.aliyun.com/arthas-boot.jar java -jar arthas-boot.jar选择应用 java 进程 就一个进程org.apache.catalina.startup.Bootstrap,输…

支小蜜AI校园防欺凌系统可以使用在宿舍吗?

随着人工智能技术的快速发展,AI校园防欺凌系统已成为维护校园安全的重要手段。然而,关于这一系统是否适用于宿舍环境,仍存在一些争议和讨论。本文将探讨AI校园防欺凌系统在宿舍中的适用性,分析其潜在的优势与挑战,并提…

Vue.js 应用实现监控可观测性最佳实践

前言 Vue 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。无论是简单还是复杂的界面,Vue 都可以胜任。 TinyPro 是一套使用 Vue …