谈谈黑盒测试方法

news2024/9/22 5:43:16

谈谈黑盒测试方法

文章目录

  • 谈谈黑盒测试方法
  • **一、等价类划分**
  • **二、边界值分析法**
  • 三、场景法
  • **四、错误推测法(白话:反推法)**

一、等价类划分

概念:

等价类划分法是一种典型的、重要的黑盒测试方法,是指某个输入域的子集。在该子集合中,所有的输入数据对于揭露软件中的错误都是等效的。

有效等价类:有意义的输入构成的集合,对需求规格说明书来说是合法的。

**无效等价类:**不满足需求的输入。

例如:学生成绩录入系统,分数X为0到100的整数。

有效等价类:0≤X≤100(50)

无效等价类:X≤0(-5),X≥100(200)

如果没有整数要求,还要考虑小数,非数字(字母,汉字,特殊字符)和空值。

但只按照等价类划分还不够,还要考虑边界值。

二、边界值分析法

边界值分析法是对等价类划分法的补充,一般从等价类的边界寻找错误。

边界值分析法的基本思路:

正好等于边界值,刚好小于边界值,刚好大于边界值作为测试数据。

特殊:0/空是特殊的值,在考虑边界值的时候也要考虑这个特殊值。

举个例子

边界值思想的体现:

网上购物,库存12。

数量=11:下单成功;数量=12:下单成功;数量=13:下单失败,并给出提示。

再比如:学生成绩录入系统,分数X为0到100的整数。

上边界:99,100,101

下边界:-1,0,1

所以等价类+边界值的取值范围为:-5,-1,0,1,50,99,100,101,200

因此可分成两个用例:有效输入:0,1,50,99,100;无效输入:-5,-1,101,200。

再例如:微信红包,最小0.01,最大200。

等价类+边界值的取值范围:-100.00,0,0.01,0.02,50.00,199.99,200,200.01,300.00。

三、场景法

基于用户场景梳理业务逻辑,再挑选合适的方法设计测试用例,尽可能真实全部的模拟用户操作。

场景法主要基于:

1、业务需求层面:对所测软件的重要功能、业务逻辑(系统要干什么、怎么去实现这个过程的)和行业背景进行深入理解。

2、技术层面需求:基于等价类划分

  • 有效等价类:模拟用户正确操作;
  • 无效等价类:模拟用户错误的操作;

3、核心概念

基本流(正确流,有效流):模拟用户正确的操作流程。

备选流(错误流,无效流):模拟用户错误的操作流程。

举个例子,比如银行ATM取款

基本流:正确插入银行卡,点击取款,输入正确的密码,输入正确的金额,确认,退卡。

  • 备选流1:输入错误的密码
  • 备选流2:输入超过余额的金额
  • 备选流3:卡插反了
  • 备选流4:退卡

再根据每个场景来设计测试用例。

四、错误推测法(白话:反推法)

基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性地设计测试用例的方法。它的要素公共有三点,分别为:

经验、知识、直觉。

举个例子

题目:注册一个邮箱

设计:

1、校验中特殊字符空格的处理?
2、密码校验中的大小写?
3、姓名中的特殊字符?
4、密码发送是否明文

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

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

相关文章

Go-知识-定时器

Go-知识-定时器 1. 介绍2. Timer使用场景2.1 设定超时时间2.2 延迟执行某个方法 3. Timer 对外接口3.1 创建定时器3.2 停止定时器3.3 重置定时器3.4 After3.5 AfterFunc 4. Timer 的实现原理4.1 Timer数据结构4.1.1 Timer4.1.2 runtimeTimer 4.2 Timer 实现原理4.2.1 创建Timer…

golang学习笔记1-go程序执行流程

声明:本人已有C,C,Python基础,只写本人认为的重点,方便自己回顾。 命令行执行go程序有两种方式,其流程如下图 注意第一种方式会得到可执行文件,第二种不会。 例1 在当前目录下编译hello.go go build hel…

更换硬盘后,电脑装完系统进不去?或PE能识别硬盘但开机/启动/BIOS识别不了硬盘解决办法

由于现在的电脑主板,默认都是UEFI启动,硬盘只有使用GUID分区表,主板BIOS才找得到系统引导! 而当我们拿到一块新硬盘,使用分区工具默认类型分区,默认是MBR类型,所以这种分区的硬盘,B…

【后端开发】JavaEE初阶—线程的理解和编程实现

前言: 🌟🌟本期讲解多线程的知识哟~~~,希望能帮到屏幕前的你。 🌈上期博客在这里:【后端开发】JavaEE初阶——计算机是如何工作的???-CSDN博客 🌈感兴趣的小伙…

腾讯云ssl证书到期,续期免费证书并部署

首先咱用的免费证书,现在最长90天有效期,今天又到期了,得及时续期避免关联资源访问受限。 我这个证书是关联了一个负载均衡和两个容器服务的(如果您的应用是ngnix或其他的应用那和本文操作可能有点不一样) 所以需要做…

17【Protues单片机仿真】基于51单片机的太阳能智能谷物翻晒机器人

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机,避障,低于50CM报警,LED灯亮起,自动翻晒用光敏电阻,光照强度大,电机转动,相当于翻晒粮食&#xff0…

【python设计模式7】行为型模式2

目录 策略模式 模板方法模式 策略模式 定义一个个算法,把它们封装起来,并且使它们可以相互替换。本模式使得算法可独立于使用它的客户而变化。角色有:抽象策略、具体策略和上下文。 from abc import abstractmethod, ABCMeta from datetim…

2024年最新Redis内存数据库主从复制、哨兵模式、集群部署等详细教程(更新中)

Centos 安装 Redis 检查安装 GCC 环境 [rootVM-4-17-centos ~]# gcc --version gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-4) Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; no…

数据库(选择题)

基本概念 数据库(DB):长期存储在计算机内的、有组织的、可共享的数据集合。 数据库管理系统(DBMS):它是数据库的机构,是一个系统软件,负责数据库中的数据组织、数据操纵、数据维护…

深度学习03-神经网络02-激活函数

可以使用这个进行跳转链接​​​​​​​http://playground.tensorflow.org/#activationrelu&batchSize11&datasetspiralDatasetreg-gauss&learningRate0.01ularizationRate0.1&noise0&networkShape7,5,4,3,2&seed0.54477&showTestDatafalse&d…

C语言常见字符串函数模拟实现一

strlen模拟实现 重点:1.字符串已经\0作为结束标志,strlen返回的是字符串\0前面出现的字符个数(不包含\0) 2.参数指向的字符串必须要以\0结束。 3.注意函数的返回值是size_t,是无符号的,加减是无法对比的。…

nginx模块篇(四)

文章目录 四、Nginx的扩展模块4.1. Lua4.1.1 概念4.1.2 特性4.1.3 应用场景4.1.4 Lua的安装4.1.5 Lua的语法4.1.5.1 第一个Lua程序4.1.5.2 Lua的注释4.1.5.3 标识符4.1.5.4 关键字4.1.5.5 运算符4.1.5.6 全局变量&局部变量4.1.5.7 Lua数据类型nilbooleannumberstringtablef…

LeetCode[中等]

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 思路: 计算链表长度num,num - n就是需要删去结点的索引 其中若删去第一个结点,返回head.next; /*** Definition for singly-linked list.* public …

python:编写一个函数查找字符串中的最长公共前缀

最近在csdn网站上刷到一个题目,题目要求编写一个函数查找字符串中的最长公共前缀,题目如下: 给出的答案如下: from typing import List def longestCommonPrefix(strs:List[str]) -> str:if len(strs) 0:return i 0 #代…

828华为云征文——使用Flexus云服务器X实例CentOS镜像下创建MySQL服务器教程

一、概述 1.1 前言 当前正值华为云盛大的828 B2B企业庆典,其中Flexus X实例的特惠活动尤为吸引人眼球。对于追求极致算力表现,并期望在自建MySQL数据库、Redis缓存系统及Nginx服务器部署上获得卓越性能的企业用户而言,这无疑是一个不可多得的…

SVTR文字识别

论文地址:https://arxiv.org/abs/2205.00159 notes: 论文2.5中说的N nodes,就是输出的类别数量,英文37,中文6625,英文37说的是最简单的英文文字识别任务,不区分大小写,就是26个字母…

数据湖 Data Lake-概述

Data Lake 1. 数据湖的定义 数据湖是一种存储系统,用于集中存储大量的原始数据,可以按数据本来的原始格式进行存储,用户可以在需要时提取和分析这些数据。 A data lake is a centralized repository designed to hold vast volumes of data …

python+selenium实现自动联网认证,并实现断网重连

pythonselenium实现自动联网认证,并实现断网重连 echo off python “E:\autoD\auto_login.py” 要使自动登录脚本在系统重启后自动运行,你可以使用Windows的任务计划程序来设置。以下是详细的步骤: 1. 保存脚本 首先,将你的Py…

Elasticsearch 检索优化:停用词的应用

Elasticsearch 检索优化:停用词的应用 场景描述 目前在 Elasticsearch 集群中存储约 1.5 亿篇文章数据,随着数据量的增加,检索性能问题逐渐显现。在列表检索和聚合操作中,CPU 消耗飙升至 100%,并且检索耗时较长&…

Java | Leetcode Java题解之第424题替换后的最长重复字符

题目&#xff1a; 题解&#xff1a; public class Solution {public int characterReplacement(String s, int k) {int len s.length();if (len < 2) {return len;}char[] charArray s.toCharArray();int left 0;int right 0;int res 0;int maxCount 0;int[] freq n…