首页 > 数据库 >关于MySQL表设计,测试人员可以关注哪些点

关于MySQL表设计,测试人员可以关注哪些点

时间:2024-11-08 20:08:34浏览次数:1  
标签:哪些 数据表 是否 测试人员 查询 索引 字段 MySQL 设计

测试人员关注数据库表设计是“测试左移”的一种手段,可以把有关数据库的潜在bug消灭在系统测试之前,从而提高交付效率。

以MySQL为例,QA可从以下方面对数据库表设计做测试的左移:

1、数据表功能

表结构

  • 确保每张表都有主键,且主键值唯一且非空,以保证表中每行数据的唯一性和可识别性
  • 检查外键约束是否有效,即外键值必须是对应主键表中存在的值,避免出现孤立数据或无效关联
  • 表之间存在关联的,验证表与表之间的关联关系是否正确建立(如主键和外键的设置是否准确,关联字段的数据类型和长度是否一致)
  • 评估数据表结构对业务变化的适应性(是否能够灵活地进行调整和扩展,以满足不断变化的业务需求)

表字段

  • 字段的数据类型是否符合业务要求(比如数据量大的字段类型设计成int,使用unsignedint或bigint)
  • 字段的长度设计是否合理(是否有合理的buffer,兼容后续新业务)
  • 不同表,相同含义的字段命名是否统一(多分参与开发时,歧义少,也就降低了bug出现的可能性)
  • 不同表,相同含义字段的类型、长度是否一致(不一致时,可能会出现表A正常落库,表B因不能正常落库而发生bug)
  • 敏感字断是否经过加密处理(如银行卡号,身份正号,手机号等)
  • 约束条件是否符合业务要求(接口设计字段可以空,但表设计字段NOT NULL,提交的时候显然会报错)
  • 冗余字段是否贴合实际业务要求(很多时候,RD为了提高扩展性,设计很多无效的字断,会拉低CURD性能)
  • 字段有默认值的,检查默认值是否符合业务要求
  • 日期字断需要特别关注,是否业务上对日期格式的要求

2、数据表性能

  • 对于查询操作会操作的表,是否有设计索引(经常用于查询条件、连接条件或排序的字段,需创建索引)
  • 索引的创建是否合理,是否能有效提高查询性能(设计索引的字段应为查询条件的过滤字段)
  • 索引是否过度创建(合理的索引可以提高查询性能,但过多的索引会拉低增删改的性能)
  • 视图是否合理创建(如果新增表参与联表查询,考虑是否可以使用视图来提高查询速度)

 

标签:哪些,数据表,是否,测试人员,查询,索引,字段,MySQL,设计
From: https://www.cnblogs.com/ailiailan/p/18535863

相关文章

  • mysql ubuntu 卸载
    mysql卸载:引用https://developer.aliyun.com/article/1306777在Ubuntu系统中,MySQL是一种常用的关系型数据库服务器。有时,我们可能需要完全卸载MySQL服务器,包括所有配置文件和数据,以便重新安装或切换到其他数据库服务器。本文将详细介绍在Ubuntu中如何完全卸载MySQL服......
  • MySQLMonitor: 黑盒测试Mysql实时监控辅助工具
    MySQLMonitorMySQL实时监控工具(代码审计、黑盒测试辅助工具)使用1.自行打包使用gitclonehttps://github.com/fupinglee/MySQLMonitorcdMySQLMonitormvncleanpackage-DskipTests=true打开target下的jar文件即可执行2.直接下载使用https://github.com/fupinglee/......
  • 初始mysql以及创建
    mysql是一个客户端服务器结构的程序mysql的服务器是真正的本体,负责保存和管理数据,数据都是保存在硬盘上数据库服务器上可以把很多有业务上联系的表放在一起,构成一个逻辑上的数据集合 登陆mysql打开终端输入mysql-uroot-p,然后显示这个就说明mysql客户端连接到了服务器 ......
  • dbeaver连接MySQL出现了 Public Key Retrieval is not allowed 错误
    问题现象出现这个错误的原因错误提示“PublicKeyRetrievalisnotallowed”通常出现在尝试使用SSL(SecureSocketsLayer)连接到MySQL数据库时。这可能是由于以下原因之一导致的:MySQL服务器配置:MySQL服务器可能没有正确配置以允许公钥检索。检查MySQL服务器的my.cnf或my.......
  • 有哪些免费的轻量级在线 CRM 系统?6款CRM系统盘点
    对于许多中小型企业和初创公司而言,如何选择一款既能满足日常需求又具性价比的CRM系统很重要。通常来说,系统的成本是企业选型过程中不可忽视的因素,但在这么多的CRM系统中,各类CRM系统的功能与价格对比真的很容易让人眼花缭乱。本文将盘6款值得关注的免费轻量级在线CRM系统,包括简道......
  • ubuntu 安装mysql+redis+nginx
    1.mysql安装vim/etc/apt/sources.list 追加一下内容debhttps://mirrors.aliyun.com/ubuntu/focalmainrestricteduniversemultiversedeb-srchttps://mirrors.aliyun.com/ubuntu/focalmainrestricteduniversemultiversedebhttps://mirrors.aliyun.com/ubuntu/......
  • 【QT】【MYSQL】【WINDOWS】qmysql驱动编译
    文章目录前言一、安装QT,MYSQL二、生成qsqlmysql.dll1.配置mysql.pro2.修改qsqldriverbase.pri3.管理员身份运行x64NativeToolsCommandPromptforVS2022重点!!!!成功执行代码前言提示:参考网上各种安装教程均失败,下面来一个完整qmysql驱动编译,并qt连接数据库操作......
  • 【MySQL】数据库备份详解
    一、引言1.1数据库备份的重要性二、MySQL数据库备份的基础知识2.1备份类型2.2备份工具与方法三、MySQL数据库备份的实施步骤3.1环境准备3.2选择合适的备份工具与方法3.3执行备份3.4验证备份3.5存储与管理备份四、MySQL数据库恢复流......
  • MySQL RC隔离级别下罕见的gap lock
    复现方法:CREATETABLE`test1`(`id`int(11)NOTNULL,`name`varchar(10)DEFAULTNULL,`id1`int(11)DEFAULTNULL,PRIMARYKEY(`id`),UNIQUEKEY`id1`(`id1`);insertintotest.test1values(1,'a',1),(3,'a',3),(5,'a'......
  • AUTOSAR AP在实际使用中有哪些问题和挑战?有什么好的解决办法?
    在实际使用AUTOSARAdaptivePlatform(AP)时,开发者和工程师会面临一系列问题和挑战。以下是一些常见的挑战以及相应的解决办法:主要问题与挑战:学习曲线陡峭:AUTOSARAP的标准和架构复杂,对于没有相关经验的开发者,学习和掌握所需的知识可能需要较长时间。工具链和生态系统的......