软件测试 day2

news2024/9/28 17:22:16

今天目标

能对穷举场景设计测试点
能对限定边界规则设计测试点
能对多条件依赖关系进行设计测试点
能对于项目业务进行设计测试点

一、解决穷举场景

重点:使用等价类划分法

1.1 等价类划分法

在这里插入图片描述

重点:有效等价和单个无效等价各取1个即可。
步骤:
	1、明确需求
	2、确定有效和无效等价
	3、根据有效和无效造数据编写用例

1.2 案例(qq合法验证)

需求:验证6~10自然数的qq合法

自然数:自然数由0开始,一个接一个,组成一个无穷的集体

在这里插入图片描述

1.3 案例(城市电话验证)

需求: 验证某城市电话号码正确性
要求:
1.区号:空或者是三位数字
2.前缀码:非“0”且非“1”开头的三位数字
3.后缀码四位数字

在这里插入图片描述
在这里插入图片描述

重点:
	1、正向用例:一条尽可能覆盖多条
	2、逆向用例:每一条数据,都是一条单独用例。

1.4 总结(应用场景)

针对:需要有大量数据测试输入,但是没法穷举测试的地方。 
 输入框
 下拉列表
 单选复选框
典型代表:页面的输入框类测试。

**友情提示:**完整的用例应该是等价类和边界值一块写。

二、解决边界限制问题

说明:使用边界值解决边界位数限制问题。2.1 边界值说明
在这里插入图片描述

提示:
	1、有关范围限制,最多7条用例(暂时未优化)
	2、边界值能解决位数限制问题,但是不能解决类型问题(要结合等价类)

2.2 步骤

1、明确需求
2、确定有效和无效等价
3、确定边界范围
4、提取数据编写用例

2.3 案例1

在这里插入图片描述

2.4 案例2

在这里插入图片描述

2.5 优化(7点优化5点)

重点:开内闭外(开区间选包含的点,闭区选不包含的点)

开区间:不包含边界上的点(没有等号)。如:a<10

闭区间:包含边界上的点(有等号)。 如:a<=10

优化策略:

  • 结论:7个优化为5个点
  • 上点:必选(不考虑区间开闭)
  • 内点:必选(建议选择中间范围
  • 离点:开内闭外(考虑开闭区间,开区间选择内部离点,闭区间选择外部离点)
    • 10<a<=20 -->使用开闭区间表达: (10,20]
    • 开区间: 不包含
    • 闭区间: 包含

2.6 总结

强调:单个输入框,常用的方式 边界 + 等价类

面试题:最常用的用例设计方法有哪些?–等价类、边界值

在等价类的基础上针对有边界范围的测试数据输入的地方(重点关注边界) 
常见词语描述:大小、尺寸、重量、最大、最小、至多、至少等修饰词语 
典型代表:有边界范围的输入框类测试

三、解决多条件有依赖关系测试

重点:使用判定表

3.1 介绍

  • 定义:是一种以表格形式表达多条件逻辑判断的工具
  • 组成:
    • 条件桩:列出问题中的所有条件,列出条件的次序无关紧要
    • 动作桩:列出问题中可能采取的操作,操作的排列顺序没有约束
    • 条件项:列出条件对应的取值,所有可能情况下的真假值
    • 动作项:列出条件项的、各种取值情况下应该采取的动作结果
      在这里插入图片描述
  • 规则:
    • 判定表中贯穿条件项和动作项的一列就是一条规则
    • 假设有n个条件,每个条件的取值有两个(0,1),全组合有2的n次方种规则

3.2 步骤

1、明确需求
2、画出判定表
 	1)、列出条件桩和动作桩 
 	2)、填写条件项,对条件进行全组合 
 	3)、根据条件项的组合确定动作项 
 	4)、简化、合并相似规则(有相同的动作)
3、根据规则编写测试用例

3.3 案例(订单)

  • 需求

规则:
1)、如果金额大于500元,又未过期,则发出批准单和提货单;
2)、如果金额大于500元,但过期了,则不发批准单与提货单;
3)、如果金额小于等于500元,则不论是否过期都发出批准单和提货单
4)、在过期的情况下不论金额大小还需要发出通知单

  • 判定表
    在这里插入图片描述

  • 用例
    在这里插入图片描述

3.4 练习(文件修改)

  • 需求

1)、输入的第一列字符必须是A或B
2)、第二列字符必须是一个数字
3)、如果第一列字符不正确,则给出信息L4)、如果第二列字符不正确,则给出信息M
5)、如果两列字符输入正确,则修改文件成功

  • 判定表
    在这里插入图片描述

  • 用例

在这里插入图片描述

3.5 判定表总结

使用场景

  • 有多个输入条件,多个输出结果,输入条件之间有组合关系,输入条件和输出结果之间有依赖(制约)关系
  • 判定表一般适用于条件组合数量较少的情况(比如4个条件以下)
提示:
	1、多条件之间有依赖关系,使用判定表来进行测试覆盖。
	2、判定表一般适合4个以内条件依赖关系
	3、如果条件超过4个,就不适合覆盖所有条件,应采用(正交法)来解决。

四、业务测试覆盖

重点:

​ 1、覆盖业务测试,需要使用流程图法

​ 2、先测试业务,在测试单功能、单模块、单页面

4.1 流程图

提示:业务用例是根据流程图来梳理的,需要先了解流程图

在这里插入图片描述

作用:梳理业务用例

练习流程图工具:

  1. 线上工具:https://processon.com/diagraming/605880af07912927bd71c388
  2. 离线工具:visio
  3. 其他工具:Excel

4.2 案例(ATM)

  • 流程图
    在这里插入图片描述
    在这里插入图片描述

  • 用例

在这里插入图片描述

五、错误推荐法

应用场景:当项目用例都执行完毕,且BUG修复完成,离上线还有一段时间,在这段时间中可是使用错误推荐法复测主要业务或测试未覆盖的功能。

在这里插入图片描述

六、作业

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

R包开发-2.1:在RStudio中使用Rcpp制作R-Package(更新于2023.8.23)

目录 0-前言 1-在RStudio中创建R包项目 2-创建R包 2.1通过R函数创建新包 2.2在RStudio通过菜单来创建一个新包 2.3关于R包创建的说明 3-添加R自定义函数 4-添加C函数 0-前言 目标&#xff1a;在RStudio中创建一个R包&#xff0c;这个R包中包含C函数&#xff0c;接口是Rc…

帆软报表系统SSRF

有子曰&#xff1a;“信近于义&#xff0c;言可复也。恭近礼&#xff0c;远耻辱也。因不失其亲&#xff0c;亦可宗也。” SSRF 构造payload&#xff0c;访问漏洞url&#xff1a; /ReportServer?opresource&resourcehttp://x.x.x漏洞证明&#xff1a; 文笔生疏&#xf…

Redisson分布式锁 原理源码 分析

# 基于setnx实现的分布式锁存在的问题&#xff1a; # 为了解决上面的问题&#xff0c;可以用Redisson # Redisson入门 # Redisson可重入锁原理 获取锁的Lua脚本&#xff1a; 释放锁的Lua脚本&#xff1a; # 锁重试原理分析 tryLock&#xff08;&#xff09;底层代码分析 tim…

在metallb基础上使用 ingress-nginx

vi nginx-ingress.yaml 由于使用了metallb &#xff0c;这里需要把对外暴露service的方式改成 LoadBalancer type: LoadBalancer#type: NodePort apiVersion: v1 kind: Namespace metadata:name: ingress-nginx --- apiVersion: v1 automountServiceAccountToken: true kind…

2022年09月 C/C++(四级)真题解析#中国电子学会#全国青少年软件编程等级考试

第1题:最长上升子序列 一个数的序列bi,当b1 < b2 < … < bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1, a2, …, aN),我们可以得到一些上升的子序列(ai1, ai2, …, aiK),这里1 <= i1 < i2 < … < iK <= N。比如,对于序列(1, 7, 3, 5…

计算机丢失msvcp110.dll是什么意思?有哪些方法可以修复

今天&#xff0c;我将和大家一起探讨一个关于计算机的问题——“计算机丢失msvcp110.dll是什么意思&#xff1f;有哪些方法可以修复&#xff1f;”这个问题在我们的日常生活中非常常见&#xff0c;尤其是在使用Windows系统的过程中&#xff0c;可能会遇到这样的问题。那么&…

基于Java+SpringBoot+Vue前后端分离体育馆管理系统设计和实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

代码随想录算法训练营第四十六天|139.单词拆分、多重背包、背包问题总结

139.单词拆分 ★ 文档讲解 &#xff1a; 代码随想录 - 139.单词拆分 状态&#xff1a;再次回顾。&#xff08;★&#xff1a;需要多次回顾并重点回顾&#xff09; 本题其实不套完全背包思路来理解反而更简单易懂一点。 动态规划五部曲&#xff1a; 确定dp数组&#xff08;dp ta…

基于Red Hat Enterprise Linux 7操作系统的PostgresSql15的备份恢复(实践笔记)

零、前言 本文是基于阿里云ECS服务器进行的实践操作&#xff0c;操作系统版本&#xff1a;Red Hat Enterprise Linux 7 PG数据库版本&#xff1a;PostgresSql 15 PG安装方式&#xff1a;yum 由于本人新接触pg数据&#xff0c;本次也是出于好奇&#xff0c;就对pg数据库的pg_du…

二级MySQL(八)——删除表格数据

1、删除特定的数据记录 DELETE FROM tb_student WHERE studentName 黄涛; 删除前&#xff1a; 删除后&#xff1a; 2、带子查询的删除 DELETE FROM tb_student WHERE studentNo (SELECT studentNo FROM tb_student_copy WHERE studentName 孙新); 删除前&#xff1a; 删…

西北大学计算机考研844高分经验分享

西北大学计算机考研844经验分享 个人介绍 ​ 本人是西北大学22级软件工程研究生&#xff0c;考研专业课129分&#xff0c;过去一年里在各大辅导机构任职&#xff0c;辅导考研学生专业课844&#xff0c;辅导总时长达288小时&#xff0c;帮助多名学生专业课高分上岸。 前情回顾…

C++实现客户端/服务端通信(一)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 C实现客户端/服务端通信&#xff08;一&#xff09; 网络编程的基本概念1. 客户端/服务器通信模型&#xff1a;2. socket函数&#xff1a;3. 主机字节序和网络字节序&#xf…

Docker容器学习:搭建自己专属的LAMP环境

目录 编写Dockerfile 1.文件内容需求&#xff1a; 2.值得注意的是centos6官方源已下线&#xff0c;所以需要切换centos-vault源&#xff01; 3.Dockerfile内容 4.进入到 lamp 开始构建镜像 推送镜像到私有仓库 1.把要上传的镜像打上合适的标签 2.登录harbor仓库 3.上传镜…

InDesign软件安装包分享(附安装教程)

目录 一、软件简介 二、软件下载 一、软件简介 InDesign是一款专业的页面设计和布局软件&#xff0c;主要用于印刷和数字出版领域。它是由Adobe公司开发的一款基于文档的排版工具&#xff0c;与Adobe Acrobat、Adobe Illustrator等软件有着相似的用户界面和功能。以下是InDes…

Leetcode 1812。判断国际象棋棋盘中一个格子的颜色

国际棋盘问题&#xff1a; 给你一个坐标 coordinates &#xff0c;它是一个字符串&#xff0c;表示国际象棋棋盘中一个格子的坐标。下图是国际象棋棋盘示意图。 如果所给格子的颜色是白色&#xff0c;请你返回 true&#xff0c;如果是黑色&#xff0c;请返回 false 。 给定坐标…

IDEA软件安装包分享(附安装教程)

目录 一、软件简介 二、软件下载 一、软件简介 IntelliJ IDEA是一款流行的Java集成开发环境&#xff08;IDE&#xff09;&#xff0c;由捷克软件开发公司JetBrains开发。它专为Java开发人员设计&#xff0c;提供了许多高级功能和工具&#xff0c;使得开发人员能够更高效地编写…

最新域名和子域名信息收集技术

域名信息收集 1&#xff0e;WHOIS查询 WHOIS是一个标准的互联网协议&#xff0c;可用于收集网络注册信息、注册域名﹑IP地址等信息。简单来说&#xff0c;WHOIS就是一个用于查询域名是否已被注册及注册域名详细信息的数据库&#xff08;如域名所有人、域名注册商&#xff09;…

Python如何获取用户输入

获取用户输入的方法 在编程中&#xff0c;获取用户输入是一项常见任务&#xff0c;Python提供了多种方法来实现这一目标。让我们一起来看看这些方法。 使用input()函数获取用户输入 Python内置函数input()可以用来获取用户的输入。当程序运行到input()函数时&#xff0c;程序…

【滑动窗口】leetcode1658:将x减到0的最小操作数

目录 一.题目描述 二.思路分析 三.代码编写 一.题目描述 将x减到0的最小操作数 题目要求我们在数组的两端不断地取值&#xff0c;使得取出的数之和等于x&#xff0c;问我们最少需要取几次。 也就是说&#xff0c;在两边取两个区间&#xff0c;使得这两个区间的之和等于x&a…

数据结构(Java实现)-优先级队列(堆)

队列是一种先进先出(FIFO)的数据结构&#xff0c;但有些情况下&#xff0c;操作的数据可能带有优先级&#xff0c;一般出队 列在这种情况下&#xff0c;数据结构应该提供两个最基本的操作&#xff0c;一个是返回最高优先级对象&#xff0c;一个是添加新的对象。 这种数据结构就…