这是第一次,我的团队要求我对数据库进行一些测试,但我不知道如何进行。通过对数据库进行测试,我的意思是,我需要看看它插入记录的速度有多快。以及它能承受多大的压力。就像数据库的负载和性能测试一样。我们将要使用的数据库是XPRESSmp。
那么,任何人都可以帮助我,当我们需要测试数据库时,我们通常会进行什么样的测试,以及我可以为此研究哪些工具。我看过的大多数文章大多与 Oracle 和 MySQL 相关。但这完全是一个新的数据库。
我能想到的一种方法是编写一个具有 X 个线程的多线程程序,它将以非常高的速度将数据泵入 XMP。并继续测量每个线程花费的时间。我还能做什么来测试数据库?
我的团队要求我通过测试来破坏数据库,但我们应该知道它是在什么情况下破坏的以及背后的原因是什么。
以及在对数据库进行测试时我应该了解和考虑哪些要点。
PS 我将在单独的 LnP 机器上进行此测试。
database database-testing stress-testing load-testing performance-testing
我正在开发用于 API 的 Flask 应用程序并创建了一些 Flask-SQLAlchemy 模型。我编写了一个函数,该函数使用 Flask-SQLAlchemy 将字典列表作为行插入到 Postgres 数据库模型表中。
当我点击调用插入函数的 API 时,它将数据插入到主 Postgres 数据库中。现在我正在为插入功能编写测试用例。但我不想将数据插入到我的主 Postgres 数据库中。
相反,我想将数据插入到临时的虚拟 Postgres 数据库中,并使用我拥有的模型创建表并将行插入到这些表中。
我已经测试过 postgres db python和Python 单元测试:如何对包含数据库操作的模块进行单元测试?还。它没有多大帮助。有没有其他方法可以使用 Python、Flask-SQLAlchemy 对虚拟 Postgres DB 进行单元测试?
python postgresql unit-testing database-testing flask-sqlalchemy
通常迁移脚本很简单,就像添加新列一样,如果部署了应用程序,那么一切都很好。但有时需要测试一些复杂的逻辑。推荐的方法是什么?
我需要查询 MYSQL 数据库以获取 siteID 和 siteURL 列表。我已在 JDBC 请求的变量名称字段中指定了这些名称。
然后我创建了一个 ForEach 逻辑控制器来循环访问 siteURL ${siteURL_1} 直到结果中的最后一条记录,如下所示:
Input Variable Prefix: siteURL
Start Index: 0
End Index: 40
Output Variable Name: newSiteURL
Run Code Online (Sandbox Code Playgroud)
然后我在 HTTP 请求的路径字段中使用它:
${newSiteURL}
Run Code Online (Sandbox Code Playgroud)
这工作正常并且 HTTP 请求正在处理。
现在,我想正确命名 HTTP 请求,以便更好地索引它们。为此,我决定使用结果集中的 siteID 字段。
为此,我创建了一个计数器变量,如下所示:
Start: 1
Increment: 1
Maximum: 40
Reference Name: siteIndex
Run Code Online (Sandbox Code Playgroud)
现在,为了从相应 HTTP 请求中显示的结果中获取 siteID,我将 HTTP 请求的 Name 字段编辑为:
${siteID_"({siteIndex})"}
Run Code Online (Sandbox Code Playgroud)
但我在查看结果树中的 HTTP 请求最终仍然显示为:
${siteID_"({siteIndex})"}
${siteID_"({siteIndex})"}
${siteID_"({siteIndex})"}
${siteID_"({siteIndex})"}
${siteID_"({siteIndex})"}
...
Run Code Online (Sandbox Code Playgroud)
而不是 HTTP 请求中相应 siteURL 的实际 siteID,例如:
21231
12315
21654
64574
76876 …Run Code Online (Sandbox Code Playgroud) 我正在对某些功能进行测试。我有一个使用数据库查询的函数。因此,我浏览了博客和文档,这些博客和文档说我们必须创建一个内存或测试数据库才能使用此类功能。以下是我的功能,
def already_exists(story_data,c):
# TODO(salmanhaseeb): Implement de-dupe functionality by checking if it already
# exists in the DB.
c.execute("""SELECT COUNT(*) from posts where post_id = ?""", (story_data.post_id,))
(number_of_rows,)=c.fetchone()
if number_of_rows > 0:
return True
return False
Run Code Online (Sandbox Code Playgroud)
该函数访问生产数据库。我的问题是,在测试时,我创建一个内存数据库并在那里填充我的值,我将查询该数据库(测试数据库)。但我想测试我的already_exists()函数,从测试调用我的already_exists函数后,我的生产数据库将被命中。在测试此功能时如何使我的测试数据库命中?
python ×2
unit-testing ×2
database ×1
flyway ×1
httprequest ×1
httpresponse ×1
java ×1
jdbc ×1
jmeter ×1
load-testing ×1
postgresql ×1
testing ×1