使用PowerDesigner生成数据库测试数据

本文涉及的产品
RDS AI 助手,专业版
RDSClaw,2核4GB
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介: 原文http://blog.csdn.net/horace20/article/details/6672081特别说明:本文产生于个人工作总结,转载请注明原文出处http://blog.csdn.net/horace20 1、环境        PowerDesigner15.2.0.3042-BEAN+ MySQL5.5 + mysql-connector-odbc-5.1.8        以上软件在网上都很容易找到,这里就不再给出相关链接!系统环境为WindowsXP。

原文http://blog.csdn.net/horace20/article/details/6672081

特别说明:本文产生于个人工作总结,转载请注明原文出处http://blog.csdn.net/horace20

1、环境

       PowerDesigner15.2.0.3042-BEAN+ MySQL5.5 + mysql-connector-odbc-5.1.8

       以上软件在网上都很容易找到,这里就不再给出相关链接!系统环境为WindowsXP。

2、具体流程

       既然是生成测试数据,首先数据库一定存在,这里我以对MySQL的操作为例,假设我的数据库名称为db_generate_test。

       流程如下:

 

2.1数据库反向工程

在PowerDesigner环境中,只能对PDM(物理数据模型)生成测试数据所以,首先将需要生成测试数据的数据库反向工程为PowerDesigner的PDM模型。

2.1.1配置数据源

       针对MySQL5.0系列版本需要安装mysql-connector-odbc-5.1.8,这里没有什么选择项,直接“下一步”就行。安装好后,打开控制面板 | 管理工具 | 数据源(ODBC) 如图:

 

添加数据源:

 

创建数据源:

 

填完相关选项后点击“Test”连接成功,OK确定即完成数据源的创建。

2.1.2数据库反向工程

       数据源建好后打开PowerDesigner,选择File | Reverse Engineer |Database…,如下图:

 

  

你可以为物理数据模型命名,确定即可,这里我命名为GenerateTestDataModel_1,接着:

  

点击红色箭头处配置数据源:

 


另外在“Options”选项下可以配置编码类型等选项:


确定后如下:

 

选择数据库用户,选择表,OK即可完成数据库到物理数据模型的转换

 

我这里只有两个表,而且表结构也极其简单,这个过程很快就会完成,但是如果你的数据库表多、表结构复杂,那么这将是一个非常耗时的过程。我曾遇到过 耗了三天三夜险些未完成的(果真是那样的话,不建议使用PowerDesigner生成测试数据,因为在生成测试数那一步会更加耗时,自己编写程序插入模 拟数据会快很多)。

2.2配置测试数据摘要文档

       这一步相当于是制定你的测试数据生成规则,可以单独做也可以和下一步“应用测试数据摘要文档”一起做,单独做的话点击Model | Test Data Profile…,不过我个人更建议和下一步一起做,因为那样使你更加明确需要配置哪些测试数据摘要文档。

2.3应用测试数据摘要文档

       在PowerDesigner PDM模型下双击Table,Columns选项卡下再双击相应字段,如下:

 

在出现的ColumnProperties选项板中Detail选项卡下点击红色箭头可创建测试数据摘要文档:

这里我为id列创建的测试数据摘要文档名为Num_id,是Number类型,自动产生。其中这里有三种类型可以选择,分别是:Number(数值 型)、Character(字符型)、Data&Time(日期时间型)。在”Generaction Source”项上为测试数据摘要文件指定数据的产生方式:Automatic是自动产生、List是根据列表值产生、ODBC是根据其它的数据库产生。

       再双击“Num_id”可制定更细致的规则,如下我这里指定的是一序列的方式从1递增至1000,步长为1(我假设在这里要产生1000条数据):

 

       制定摘要文档完成后确定回到Column Properties - id选项板下,为列应用摘要文档,如下:

 

       制定完所有测试数据生成规则后可进入下一步“生成测试数据”。

2.4生成测试数据

       选择Database | Generate Test Data…如下:

 

       确定即可开始生成测试数据。

2、总结

       每当我们完成数据库的构建,接下就需要数据库性能测、相关接口测试以及报表测试等等,这时就需要大量的测试数据。相比手工创建,使用 PowerDesigner自动生成不失为一种方便简捷的办法。但是这一切都是建立在我们的数据库结构并不复杂庞大的情况下,如果你的数据库结构庞大复 杂,那么你看到的将是PowerDesigner未响应,这时PowerDesigner的效率还不如我们自己写程序生成。

       另,在生成大量测试数据的过程中,为了节约时间我们可以采用并行生成测试数据,即在不影响相关外键及其他约束的情况下,我们可以将数据库分为几个相对独立的模块,分别生成。

 
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
6月前
|
安全 数据管理 测试技术
告别蛮力:让测试数据生成变得智能而高效
告别蛮力:让测试数据生成变得智能而高效
589 120
|
9月前
|
存储 JSON 关系型数据库
【干货满满】解密 API 数据解析:从 JSON 到数据库存储的完整流程
本文详解电商API开发中JSON数据解析与数据库存储的全流程,涵盖数据提取、清洗、转换及优化策略,结合Python实战代码与主流数据库方案,助开发者构建高效、可靠的数据处理管道。
|
存储 缓存 数据库
数据库数据删除策略:硬删除vs软删除的最佳实践指南
在项目开发中,“删除”操作常见但方式多样,主要分为硬删除与软删除。硬删除直接从数据库移除数据,操作简单、高效,但不可恢复;适用于临时或敏感数据。软删除通过标记字段保留数据,支持恢复和审计,但增加查询复杂度与数据量;适合需追踪历史或可恢复的场景。两者各有优劣,实际开发中常结合使用以满足不同需求。
1173 4
|
7月前
|
数据采集 关系型数据库 MySQL
python爬取数据存入数据库
Python爬虫结合Scrapy与SQLAlchemy,实现高效数据采集并存入MySQL/PostgreSQL/SQLite。通过ORM映射、连接池优化与批量提交,支持百万级数据高速写入,具备良好的可扩展性与稳定性。
|
8月前
|
存储 数据管理 数据库
数据字典是什么?和数据库、数据仓库有什么关系?
在数据处理中,你是否常困惑于字段含义、指标计算或数据来源?数据字典正是解答这些问题的关键工具,它清晰定义数据的名称、类型、来源、计算方式等,服务于开发者、分析师和数据管理者。本文详解数据字典的定义、组成及其与数据库、数据仓库的关系,助你夯实数据基础。
数据字典是什么?和数据库、数据仓库有什么关系?
|
7月前
|
人工智能 Java 关系型数据库
使用数据连接池进行数据库操作
使用数据连接池进行数据库操作
203 11
|
7月前
|
存储 测试技术 API
数据驱动开发软件测试脚本
今天刚提交了我的新作《带着ChatGPT玩转软件开发》给出版社,在写作期间跟着ChatGPT学到许多新知识。下面分享数据驱动开发软件测试脚本。
280 0
|
10月前
|
人工智能 缓存 自然语言处理
别再手搓测试数据了!AE测试数据智造系统揭秘
本文介绍如何通过构建基于大语言模型的测试数据智造Agent,解决AliExpress跨境电商测试中数据构造复杂、低效的问题,推动测试效率提升与智能化转型。
别再手搓测试数据了!AE测试数据智造系统揭秘

热门文章

最新文章

下一篇
开通oss服务