当前位置: 首页 > news >正文

测试实项中的偶必现难测bug之模糊匹配逻辑

问题:

现在有一个场景,如果只是通过功能测试会比较难测,例如刚开始我们做会员的时候,只有白银会员,在用户分群的场景下,需要用条件逻辑匹配,当时开发用了like的匹配方式没有问题。1年后加了白银试用会员,导致在统计会员分群的时候明明条件选的是白银会员,但是统计的数量远大于实际的数量,就是因为like的写法包含了白银会员和白银试用会员。

思路:

如果开发使用了 LIKE 进行模糊匹配,而你需要精确匹配业务逻辑,测试可以通过以下几种方式来发现问题:

1. 用具体的测试数据进行验证

  • 设计测试用例,确保测试数据具有明确的边界条件和准确的匹配需求。
  • 如果查询条件应当完全匹配某些字段(例如,username='john'),使用具体的测试数据验证查询结果。如果查询返回了类似 john123 或 john_doe 的结果,那么可以确认存在模糊匹配问题。

示例:

  • 如果查询是 SELECT * FROM users WHERE username LIKE 'john'

相关文章:

测试实项中的偶必现难测bug之模糊匹配逻辑

问题: 现在有一个场景,如果只是通过功能测试会比较难测,例如刚开始我们做会员的时候,只有白银会员,在用户分群的场景下,需要用条件逻辑匹配,当时开发用了like的匹配方式没有问题。1年后加了白银试用会员,导致在统计会员分群的时候明明条件选的是白银会员,但是统计的数…...

Vue:后端返回二进制文件,前端如何实现浏览器自动下载?

Vue项目开发中,遇到界面下载功能时,前端如何实现将后端返回二进制文件在浏览器自动下载? 一、关键代码: export function downloadFile(fileName) {axios({method: post,url: process.env.VUE_APP_BASE_API /cgi-bin/file,data:…...

Android解压zip文件到指定目录

很多时候需要把一个预制的zip文件解压到根目录,下面是一个实例代码: private static final int BUFFER_SIZE 4096;public static void unZip(String zipFilePath, String targetDir) throws IOException {File destDir new File(targetDir);if (!destD…...

主要用于图像的颜色提取、替换以及区域修改

这段代码涉及了以下几个关键步骤,主要用于图像的颜色提取、替换以及区域修改。下面是对代码的详细解析: 1. 导入库 import cv2 import matplotlib.pyplot as plt import numpy as npcv2: OpenCV库,用于图像处理。matplotlib.pyplot: 用于绘…...

gbase8c之运维操作

导出结构: gs_dump -U gbase8s -W Password123 -f /tmp/dump_only_structure.sql -p 15400 sids_station -n public -s -F p 导出数据: gs_dump -U gbase8s -W Password123 -f /tmp/dump_only_data.sql -p 15400 sids_station -n public -a -F p 导入…...

云原生学习

1、云原生学习 文章目录 1、云原生学习1. 介绍2. Docker容器化 1. 介绍 什么是云原生?原生指使用JAVA等语言编写的项目,云是指将项目部署到云服务器上云平台:公有云、私有云 本地平台是指直接部署在自己计算机,而开发的应用一定要…...

深入解析 Vue 3 中的 defineExpose

深入解析 Vue 3 中的 defineExpose 在 Vue 3 的组合式 API&#xff08;Composition API&#xff09;中&#xff0c;defineExpose 是一个重要的辅助函数&#xff0c;专门用于在 <script setup> 模式下暴露组件内部的属性和方法给父组件使用。本文将详细解析 defineExpose…...

Docker3:docker基础1

欢迎来到“雪碧聊技术”CSDN博客&#xff01; 在这里&#xff0c;您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者&#xff0c;还是具有一定经验的开发者&#xff0c;相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导&#xff0c;我将…...

【UGUI】背包的交互01(道具信息跟随鼠标+道具信息面板显示)

详细程序逻辑过程 初始化物品栏&#xff1a; 在 Awake 方法中&#xff0c;通过标签找到提示框和信息面板。 循环生成10个背包格子&#xff0c;并为每个格子设置图标和名称。 为每个格子添加 UInterMaager232 脚本&#xff0c;以便处理交互事件。 关闭提示框和信息面板&#…...

ubuntu20.04中编译安装gcc 9.2.0

ubuntu20.04中编译安装gcc 9.2.0,步骤如下&#xff1a; #install compile dependence libraries 1&#xff1a;$ sudo apt install libgmp-dev libisl-dev libmpc-dev libmpfr-dev # install gcc 9.2.0 # download source code 2&#xff1a;$ wget http://ftp.gnu.org/gn…...

ss 命令的基本用法

ss 命令的基本用法 ss [选项]-tanl 选项解释 -t&#xff1a;显示 TCP 连接。-a&#xff1a;显示所有连接&#xff08;包括监听端口&#xff09;。-n&#xff1a;显示数字形式的地址和端口号&#xff0c;而不是解析为主机名和服务名。-l&#xff1a;仅显示监听的端口。 使用示…...

Leetcode198. 打家劫舍(HOT100)

代码&#xff1a; class Solution { public:int rob(vector<int>& nums) {int n nums.size();vector<int> f(n 1), g(n 1);for (int i 1; i < n; i) {f[i] g[i - 1] nums[i - 1];g[i] max(f[i - 1], g[i - 1]);}return max(f[n], g[n]);} }; 这种求…...

kafka基础

文章目录 一、Kafka入门1.1、JMS1.2、生产者-消费者模式1.3、ZooKeeper 二、kafka基础架构2.1、producer2.2、kafka cluster2.2.1、broker2.2.2、Controller2.2.3、Topic2.2.4、Partition2.2.5、Replication2.2.6、Leader & Follower 2.3、consumer 一、Kafka入门 Kafka是一…...

STM32CUBEIDE FreeRTOS操作教程(九):eventgroup事件标志组

STM32CUBEIDE FreeRTOS操作教程&#xff08;九&#xff09;&#xff1a;eventgroup事件标志组 STM32CUBE开发环境集成了STM32 HAL库进行FreeRTOS配置和开发的组件&#xff0c;不需要用户自己进行FreeRTOS的移植。这里介绍最简化的用户操作类应用教程。以STM32F401RCT6开发板为…...

Python设计模式详解之2 —— 工厂模式

工厂模式&#xff08;Factory Pattern&#xff09;是一种创建型设计模式&#xff0c;旨在定义一个用于创建对象的接口&#xff0c;但由子类决定实例化哪个类。工厂模式可以帮助我们将对象的创建与其使用分离&#xff0c;增强代码的可扩展性和维护性。 工厂模式的分类 简单工厂…...

【Zookeeper】二、主从应用(master-worker架构)

以一张具有代表性的架构风格展开本篇论述 一般在这种架构中&#xff0c;主节点所负责的工作主要有 跟踪从节点状态分配任务到从节点&#xff0c;并跟踪任务的有效性&#xff08;任务是否正常执行完成&#xff09; 此时&#xff0c;我们需要关注三个问题 主节点崩溃 如果主节…...

Diffusion【2】:VAE

系列文章目录 文章目录 系列文章目录前言1. Abstract2. Introduction2.1. Motivation2.2. Contribution 3. Methods3.1. Problem Scenario3.2. The variational bound3.3. The SGVB estimator and AEVB algorithm3.3.1. Stochastic Gradient Variational Bayes Estimator3.3.2.…...

高级java每日一道面试题-2024年11月19日-基本篇-获取一个类Class对象的方式有哪些?

如果有遗漏,评论区告诉我进行补充 面试官: 获取一个类Class对象的方式有哪些? 我回答: 在 Java 中&#xff0c;获取一个类的 Class 对象有多种方式。这些方式各有优缺点&#xff0c;适用于不同的场景。以下是常见的几种方法及其详细解释&#xff1a; 1. 使用 new 关键字实…...

xilinx xapp1171学习笔记

在xapp1171示例中&#xff0c;假设Host PC将PCIE:BAR0赋值为&#xff1a;0x00000000_def00000 PCIEBAR2AXIBAR_00x81000000&#xff0c;即Host PC读写0x00000000_def00000就是在读写AXI地址0x81000000&#xff08;BRAM在AXI总线上的基地址&#xff09; 在AXI总线上&#xff0…...

一次需升级系统的wxpython安装(macOS M1)

WARNING: The scripts libdoc, rebot and robot are installed in /Users/用户名/Library/Python/3.8/bin which is not on PATH. 背景&#xff1a;想在macos安装Robot Framework &#xff0c;显示pip3不是最新&#xff0c;更新pip3后显示不在PATH上 参看博主文章末尾 MAC系统…...

中文文献管理效率革命:Jasminum插件全方位应用指南

中文文献管理效率革命&#xff1a;Jasminum插件全方位应用指南 【免费下载链接】jasminum A Zotero add-on to retrive CNKI meta data. 一个简单的Zotero 插件&#xff0c;用于识别中文元数据 项目地址: https://gitcode.com/gh_mirrors/ja/jasminum 在学术研究的数字化…...

Qwen3-TTS多线程代码骨架:复用模型实例,节省80%显存

Qwen3-TTS多线程代码骨架&#xff1a;复用模型实例&#xff0c;节省80%显存 1. 多线程语音生成的必要性 语音合成技术在实际应用中往往面临批量处理的需求。以教育行业为例&#xff0c;一套完整的在线课程可能需要生成数百个不同语言、不同风格的语音片段。传统单线程处理方式…...

如何用UABEA轻松探索和编辑Unity游戏资源:完整指南

如何用UABEA轻松探索和编辑Unity游戏资源&#xff1a;完整指南 【免费下载链接】UABEA c# uabe for newer versions of unity 项目地址: https://gitcode.com/gh_mirrors/ua/UABEA UABEA&#xff08;Unity Asset Bundle Extractor Avalonia&#xff09;是一款强大的跨平…...

S2-Pro Vue.js前端集成教程:构建实时AI对话应用

S2-Pro Vue.js前端集成教程&#xff1a;构建实时AI对话应用 1. 引言&#xff1a;为什么选择Vue.js集成AI对话功能 最近在开发一个需要AI对话功能的前端项目时&#xff0c;我发现Vue.js的响应式特性和组件化开发模式特别适合构建实时交互界面。S2-Pro作为一款强大的AI对话API&…...

WeKnora参数详解:temperature=0.1+top_k=20+context_window优化策略

WeKnora参数详解&#xff1a;temperature0.1top_k20context_window优化策略 1. 项目简介与核心价值 WeKnora是一个基于Ollama框架构建的知识库问答系统&#xff0c;它的核心功能是让用户能够将任意文本作为"即时知识库"&#xff0c;然后针对这段文本提出具体问题&a…...

PCL快速部署指南:Ubuntu20下APT安装与版本管理技巧

1. 为什么选择APT安装PCL&#xff1f; 第一次接触点云库PCL的朋友&#xff0c;可能会被它的依赖关系吓到。我自己刚开始折腾的时候&#xff0c;光是解决VTK、FLANN这些依赖项的版本冲突就花了两天时间。后来发现&#xff0c;对于大多数应用场景来说&#xff0c;直接用Ubuntu的…...

SecGPT-14B知识库更新:让OpenClaw掌握最新CVE漏洞检测能力

SecGPT-14B知识库更新&#xff1a;让OpenClaw掌握最新CVE漏洞检测能力 1. 为什么需要持续更新漏洞知识库 去年我在用OpenClaw做自动化安全扫描时&#xff0c;发现一个尴尬现象&#xff1a;虽然它能完美识别2022年前的常见漏洞特征&#xff0c;但对新曝光的CVE漏洞却总是"…...

别再死记硬背了!用这10个XSS-Labs关卡,手把手教你理解前端过滤与绕过逻辑

从XSS-Labs关卡构建前端安全思维模型&#xff1a;10个实战场景解析 当你在浏览器地址栏输入javascript:alert(1)时&#xff0c;是否思考过为什么有些网站会弹出对话框而有些却毫无反应&#xff1f;这背后隐藏着前端工程师与安全研究者之间持续多年的攻防博弈。XSS-Labs作为经典…...

从零到盈利:Unity小游戏如何通过穿山甲广告实现收入最大化

从零到盈利&#xff1a;Unity小游戏如何通过穿山甲广告实现收入最大化 在移动游戏市场&#xff0c;广告变现已成为中小开发者最可靠的收入来源之一。根据行业数据显示&#xff0c;超休闲游戏开发者平均70%的收入来自广告展示&#xff0c;而穿山甲作为国内领先的广告平台&#x…...

DBA必看:Oracle OCP认证到底值不值得考?2024年最新薪资与职业发展分析

Oracle OCP认证2024深度评测&#xff1a;从薪资数据到职业跃迁的实战指南 在数据库技术领域&#xff0c;Oracle始终占据着不可撼动的地位。每当我在技术社区看到年轻DBA们关于职业认证的讨论&#xff0c;总会被问到同一个问题&#xff1a;"Oracle OCP认证在2024年还值得投…...