软件测试-测试用例

软件测试-测试用例

1.什么是测试用例

为了实施测试而向被测系统提供的一组集合。这组集合包括测试环境、操作步骤、测试数据、预期结果等要素。

举例:对一个垃圾桶设计测试用例

在这里插入图片描述

2.设计测试用例的万能公式

设计测试用例的万能公式:功能测试+性能测试+界面测试+兼容性测试+易用性测试+安全测试

功能测试:对产品的功能设计测试用例(根据需求文档、经验)

性能测试:对各种参数进行校验等等,涉及比较广。

界面测试:对每个元素的大小、颜色、形状、跳转等都需要进行测试。

兼容性测试:软件是否否兼容不同浏览器、不同系统版本、数据兼容性等。

易用性测试:产品或软件是否具备简单易上手的特性。

安全测试:用户的隐私数据是否加密(接口返回值,请求参数),越权问题(垂直越权、水平越权)。

使用万能公式对垃圾桶设计测试用例:

在这里插入图片描述

对登录功能设计测试用例:

在这里插入图片描述

兼容性测试的注意事项:

  1. 测试后台用户使用大多数使用的浏览器和系统。

3.设计测试用例的具体方法

3.1基于需求的测试方法

首先要分析需求是否正确、完整、不矛盾,并且逻辑恰当。确认无误后,在对需求进行进一步的细化,提炼出测试点或者测试项。对每一个测试点/测试项进行测试样例的设计。

3.2等价类

根据需求将输入数据划分为若干个等价类,从等价类中选出一个测试用例,如果一个用例通过,则认为该等价类类测试通过。等价类又分为有效等价类和无效等价类。这样可以达到用较少测试用例尽量多的功能覆盖。

例如注册时密码的长度要求为6-16位,如何根据等价类来设计测试用例呢?

1.明确等价有效类和无效等价类

  1. 有效等价类:密码长度位6-16位
  2. 无效等价类:密码长度小于6位,密码长度大于16位

2.编写测试用例

  1. 输入长度位6-16的密码,具体为10位。
  2. 输入长度位小于6位的密码,具体为3位。
  3. 输入长度大于16位的密码,具体为18位。

3.3边界值

对输入/输出数据的边界值进行测试的一种黑盒测试方法,最长、最短或者最小、最大,边界值右分为有效边界和无效边界。

有效边界:有效等价类中的边界。

无效边界:无效等价类中的边界。

例如注册时密码长度位6-16位,如何对边界值测试用例呢?

1.明确有效边界和无效边界

  1. 有效边界:密码长度为6、16位时。
  2. 无效边界:密码长度为5、17位时。

3.设计测试用例

  1. 当密码长度位6、16位时是否能注册成功。
  2. 当密码长度位5、17位时是否能注册成功。

3.4因果图

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

需求:是否是优惠订单,订单金额超过200、无门槛红包,当订单金额超过200或使用无门槛红包为优惠订单,否则为非优惠订单。

1.确认输入条件和输出条件

  1. 输入条件: 订单支付>200 使用红包 支付订单。
  2. 输出条件:优惠订单、非优惠订单。

2.找出输入条件和输出条件的关系

对输入条件进行组合:A B C AB AC BC ABC 非ABC

3.绘制判定表

在这里插入图片描述

4.根据测判定表编写测试样例

  1. 当订单金额>200元,无红包,不提交订单,则该订单为无优惠订单。

3.5场景设计法

思路引导作用,场景测试通常用于测试一个应用程序的主要功能或业务流程。它们可以帮助测试人员理解用户如何与软件进行交互,以及当出现错误或异常情况时的用户体验。

在这里插入图片描述

3.6正交法

主要解决判定表如果输入条件过多,穷举的情况太多,测试用例会很多。正交法是从大量的实验中挑选出有代表性的的点,合理的设计测试用例。是一种基于正交表的、高效率、快速、经济的试验。

正交表:L=行数(水平数^因素数)

正交表特性:

在这里插入图片描述

  1. 在每一列中,每种水平出现的次数相同。
  2. 任意两列中的水平组合排列方式是齐全且均衡。

因素:表示我们的输入条件(预考察的的变量)

水平:表示输入的可能选项(因素的取值)

实验:表示总实验次数。

举例:对订单是否是优惠订单设计测试用例

1.找出因素数和水平数。

因素数:支付、支付>200元、使用红包

水平数:是、不是

2.生成正交表

使用allpairs工具生成正交表。

在这里插入图片描述

3.根据正交表编写测试用例

  1. 支付、订单金额大于200元,使用红包。
  2. 支付、订单金额小于200,不使用红包。
  3. 不支付、订单金额大于200、不使用红包。
  4. 不支付、订单金额小于200,使用红包。

4.补充可能存在遗漏和非常重要的测试用例。

  1. 支付、金额大于200,不使用红包。
  2. 支付、金额小于200,使用红包。

3.7错误猜测法

根据需求中给出的范围,凭借个人的经验和直觉设计测试用例

4.测试的分类

4.1可靠性测试

可靠性=(正常运行时间)/(正常运行时间+异常运行时间)* 100%,基本至少要达到4个9要求,也就是99.99%。

4.2容错性测试

程序中某个功能出现错误,但是它不会影响整个系统的整体运行。

4.3内存泄漏测试

  1. 人工检查,查看代码查找未被回收的内存。
  2. 自动工具法:借助相应的测试内存泄漏工具,如Visual Leak Detector,记录每一次的内存分配,便以观察内存泄漏情况。

4.4弱网测试

设定在特定的网络下、程序功能是否正常。使用一些工具将网络调整到2G或3G的状态。

调整原理:如果调整到2G,2G的上行速率是2.7Kb/s,通过控制发送1KB的时间,将网络速率调整的2G的速率。

设发送1KB的时间为Xms

(2.7Kb/8)*X = 1KB

X = 1KB*1000/(2.7Kb/8)

4.5按照是否关系代码的具体实现进行测试

1.黑盒测试

黑盒测试指的是不关心程序的内部逻辑和结构,也就是不关心代码,检查系统的功能是否正常。只注重软件的功能。

优点:

  1. 从用户的角度出发设计测试用例,更好地满足用户的需求。
  2. 基于软件需求文档,不容易遗漏软件需求文件中需要测试的功能。
2.白盒测试

又称为结构测试或逻辑测试,它一般用例分析程序的内部结构,针对程序的逻辑结构设计测试用例。

主要包含:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。

3.灰盒测试

灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输

出、输入的正确性,同时也关注程序内部的情况。

4.6按照开发阶段进行划分

  1. 单元测试:此单元是程序员自己定义的,可以是一个方法、也可以是多个方法。
  2. 集成测试:对多个单元同时进行测试。
  3. 回归测试:对历史的版本、历史功能进行测试,保证更新后的功能不影响原来版本功能的使用。
  4. 系统测试:对完整的系统进行全方面测试
  5. 冒烟测试:开发任意完成任务之后,交给测试人员进行测试的第一步,评估软件系统是否具备可测试的条件。
  6. 验收测试:部署软件前的最后一次测试操作,也称为交付测试。

4.7安装卸载测试

软件能够正常安装,卸载之后也能正常安装。

5.面试题

  1. 为何不能用灰盒测试替代白盒和黑盒测试。
    测试:对历史的版本、历史功能进行测试,保证更新后的功能不影响原来版本功能的使用。
  2. 系统测试:对完整的系统进行全方面测试
  3. 冒烟测试:开发任意完成任务之后,交给测试人员进行测试的第一步,评估软件系统是否具备可测试的条件。
  4. 验收测试:部署软件前的最后一次测试操作,也称为交付测试。

4.7安装卸载测试

软件能够正常安装,卸载之后也能正常安装。

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

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

相关文章

国产手机芯片4G方案_紫光展锐安卓核心板虎贲4G智能模块方案定制

元器件清单即BOM物料清单,不同行业领域的BOM表侧重点不一样。安卓主板的BOM表则侧重点在于元器件物料的清单,也就是安卓电路板的PCBA清单,精密的安卓板有上千个物料,可以帮助我们估算物料成本,建立生产计划&#xff0c…

单日 5000 亿行 / 900G 数据接入,TDengine 3.0 在中国地震台网中心的大型应用

小T导读:为满足地震预警数据存储、检索和处理的建设与集成需求,以及响应国家国产软件自主可控的号召,中国地震台网中心决定选用国产数据库 TDengine 来存储和处理地震波形数据。本文将针对 TDengine 3.0 在地震领域的应用展开详细讲解。 关于…

Tensorflow Federated Framework 谷歌联邦学习框架

目录 Tensorflow Federated Framework 谷歌联邦学习框架 1、TensorFlow Federated Framework 数据为主 整体训练 新的语言 Federated Learning (FL) API 安装TFF库(conda) 2、数据类型 3、完整代码 Tensorflow Federated Framework 谷歌联邦学习…

系统架构设计师(第二版)学习笔记----软件工程

【原文链接】系统架构设计师(第二版)学习笔记----软件工程 文章目录 一、软件工程1.1 软件危机的表现1.2 软件工程的内容 二、软件过程模型2.1 软件的声明周期2.2 瀑布模型2.3 瀑布模型的缺点2.4 原型模型2.5 原型模型开发阶段2.6 开发原型的途径2.7 螺旋…

leetcodeTop100(21) 相交链表

给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 题目数据 保证 整个链式结构中不存在环。 注意,函数返回结果后,链表必须 保持其原始结构 。 双链表…

SAP PO运维(一):系统概览异常处理

打开SAP PIPO Netweaver Administration界面,系统概览下显示异常: 参考SAP note: 2577844 - AS Java Monitoring and Logging parametrization best practice service/protectedwebmethods = SDEFAULT -GetVersionInfo -GetAccessPointList -ListLogFiles -ReadLogFile -Para…

基于微信小程序的宠物用品商城设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言系统主要功能:具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计…

Jmeter配置性能监控插件

一、版本不兼容时,有报错 1、当jmeter版本比较高时,只需要从官网安装jmeter-plugins-manager-1.10.jar一个包 2、当jmeter版本较低时,安装JMeterPlugins-Extras-1.4.0.zip、JMeterPlugins-Standard-1.4.0.zip内两个jar包 3、服务器上传文件…

Vue实现Hello World

<div id"aa"> <p>{{h}}</p> </div> <script src"https://cdn.jsdelivr.net/npm/vue2/dist/vue.js"></script> <script> const hello new Vue({ el:#aa, data:{ h : Hello World } }) </script>

『C语言进阶』qsort函数及模拟实现

&#x1f525;博客主页&#xff1a; 小羊失眠啦 &#x1f516;系列专栏&#xff1a; C语言 &#x1f325;️每日语录&#xff1a;没有退路&#xff0c;只能让自己变得强大 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 前言 在上篇指针进阶中&#xff0c;我们对函数指针、函数…

Zookeeper-集群介绍与核心理论

Zookeeper集群 4.Zookeeper集群4.1) 介绍4.2) 核心理论 4.Zookeeper集群 4.1) 介绍 Leader选举&#xff1a; Serverid&#xff1a;服务器ID。比如有三台服务器&#xff0c;编号分别是1,2,3。编号越大在选择算法中的权重越大。Zxid&#xff1a;数据ID。服务器中存放的最大数据…

用CNC网关推动工业自动化革命

在当今的工业自动化领域&#xff0c;机床&#xff08;CNC&#xff0c;计算机数值控制&#xff09;已成为制造业的重要支柱。然而&#xff0c;这些复杂的设备在数据收集、通信和集成方面通常面临诸多挑战。其中&#xff0c;CNC转Modbus网关为解决这些问题提供了有效的解决方案。…

异地恋的甜蜜解药:李哥的群晖Videostation电影分享教程

异地恋的甜蜜解药&#xff1a;李哥的群晖Videostation电影分享教程 文章目录 异地恋的甜蜜解药&#xff1a;李哥的群晖Videostation电影分享教程1.使用环境要求2.制作视频分享链接3.制作永久固定视频分享链接 李哥和他的女朋友是一对甜蜜的情侣&#xff0c;但不幸的是&#xff…

大疆御3(DJI Mavic 3)照片格式,设置默认JPG格式

大疆御3(DJI Mavic 3)照片格式&#xff0c;设置默认JPG格式 一、照片格式。 御3提供两种照片格式&#xff0c;一种是常见的JPG格式&#xff1b;还有一种是DNG格式&#xff0c;这是一种无人机拍摄照片的原始格式&#xff0c;具有较高的图像质量和更多的后期处理空间&#xff0…

利用fiddler正向代理前端请求到本地后端

前景&#xff1a;在实际开发测试环境中&#xff0c;&#xff08;前后端均已上线到测试服务器或前端以上线而后端还在开发中)。在测试过程中&#xff08;前端页面点击&#xff0c;功能测试&#xff09;发现了bug或异常点。 正常排查问题可能是先利用浏览器检查工具查看接口的返回…

vue 监听页面卷去的高度,获取元素离页面顶部的距离

1.首先在mounted生命周期上 mounted() { // 监听页面滚动事件 window.addEventListener("scroll", this.handleScroll, true); }, 2.也别忘了在离开页面前去掉监听 beforeDestroy() { window.removeEventListener("scroll", this.handleScroll, true); …

UCOS-III操作系统(操作系统、任务)

操作系统和实时操作系统 目录 操作系统和实时操作系统 什么是操作系统&#xff1f; 什么是实时操作系统&#xff1f; 任务 什么是任务&#xff1f; 什么是多任务&#xff1f; 什么是任务状态&#xff1f;&#xff08;重要&#xff09; 任务切换&#xff1f; 什么是操作…

Spring Cloud Alibaba Gateway全局token过滤、局部过滤访问时间超过50ms日志提示

文章目录 Spring Cloud Alibaba Gateway验证token在前篇的基础上加入依赖在filter包中创建tokenFilter Spring Cloud Alibaba Gateway局部过滤1.继承AbstractGatewayFilterFactory2.仿照AddRequestHeaderGatewayFilterFactory Spring Cloud Alibaba Gateway验证token 基础搭建…

基于C#的AE二次开发之IQueryFilter接口、ISpatialFilter接口、IQueryDef 接口的查询接口的介绍

一、开发环境 开发环境为ArcGIS Engine 10.2与Visual studio2010。在使用ArcEngine查询进行查询的时候主要使用三种查询接口IQueryFilter&#xff08;属性查询&#xff09; 、ISpatialFilter&#xff08;空间查询&#xff09; 、IQueryDef &#xff08;多表查询&#xff09; 那…

Cpp/Qt-day040920Qt

目录 时钟 头文件&#xff1a;Widget.h: 源文件:Widget.c: 效果图&#xff1a; 思维导图 时钟 头文件&#xff1a;Widget.h: #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QPaintEvent> #include <QPainter> #include <QTime>…