分享

如果有一千张表,如何测试?

 开源优测 2021-12-09

在整体的数据级测试中,存储结构的基本属性的验证是非常有必要的

一、是确保存储结构定义与目标需求一致

二、是在从存储层消除肯能的性能瓶颈

三、是验证存储存的逻辑关系

        尤其是新发起的项目或涉及存储层迁移项目,数据级存储层的验证显得尤为重要,

而这个验证应当把手工验证与技术验证相结合,形成自动化测试解决方案

在存储层足够复杂时,自动化测试验证显得非常的必要

我以为这个解决方案应该由有丰富测试经验的测试人员来解决

技术上,笔者在实践中基于Python进行

需要以下知识:

Python编程

对应数据库的驱动包,例如mysql可以选择pymysql库

SQL,需要掌握如何利用sql查看表结构、属性、key、索引等等

下面我们来个简单的实例,用来查看下mysql中默认的mysql库中是user表的索引情况

我们先用sql看下user表中的索引情况,如图

下面我们简单的用python代码进行验证

# -*- coding: utf-8 -*-
__author__ = "苦叶子"
"""
   数据库模型自动化测试demo
"""
import pymysql
import sys

# 目标索引字段
TAR_INDEX = ["Host", "User"]


def test_user_index(cur):
   # 使用mysql库
   
cur.execute("USE mysql")

   # 查看user表的索引
   
cur.execute("SHOW INDEX FROM user")

   indexs = cur.fetchall()

   for index in indexs:
       # 断言目标索引存在
       
assert index[4] in TAR_INDEX
       print("in table [%s] assert index (%s) succeed" % (index[0], index[4]))


if __name__ == "__main__":
   conn = pymysql.connect(host="127.0.0.1", user="root", password="12345678", port=3306)

   cur = conn.cursor()

   test_user_index(cur)

运行结果如下图:

本文用个简单的示例,作为引子,对于大规模的自动化测试验证,其代码肯定需要进行比较精心的设计,大家可以自己尝试下自己的想法和思路

  1. 可以尝试去提炼出一个通用的测试框架

  2. 可以尝试定制型的测试框架

  3. 参数化

  4. 全部基于Python代码,不用任何其他类型的配置文件

  5. 等等其他想法

  6. 理论上应该可以做到90%以上的自动化覆盖验证

欢迎加入下面的圈子一起探讨、交流

扫一扫知识星球:66¥/年

代码托管地址:https://github.com/small99/DevAuto/tree/master/selenium_python/

站住,别动O(∩_∩)O~

视频 | Python测试开发之调试print代码实例

视频 | Python测试开发之开发调试简介

视频 | Python测试开发视频系列之开始

福利 | 开源测试工具目录

30岁还没入门测试开发怎么办?

30岁的你,累了,困了,喝红牛还有用吗?

快学Python3系列

大数据测试过程、策略及挑战

大数据测试之ETL测试入门

软件测试工程师又一大挑战:大数据测试

autohub - AutoLink开源平台已经docker化

jmeter入门系列v1.0电子版

Python3接口测试pdf+源码免费领

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多