Updated: 9/4/2024
Signed in as:
filler@godaddy.com
Updated: 9/4/2024
Signed in as:
filler@godaddy.com
Significant software systems are typically built around a database / data store / DBMS of some sort. The test platforms referenced in this website all use a Python-specific “global data store” called “gDS”.
gDS is unconvential. It's being presented because it works very well in test platforms. You can review its primary characteristics below. You can also use an alternative to gDS if you so choose.
See Case Study 1 for a tutorial on gDS.
gDS uses Python “list” and “dictionary” variables made global (located in shared memory) by the Python “multiprocessing” library. These variables are used just like any other Python variable. except that their values are seen by all the threads and processes created by the main Python code as it executes. It can be considered connectionless inter-process communication.
The Python “list” and “dictionary” variables can be combined into relationally organized tables and indices (in 3'rd-normal form if desired).
Together with the naming conventions used in the tables and indices are navigated and dereferenced cleanly and easily with ordinary Python code.
A traditional DBMS uses a "transaction" to manage concurrent access to the data in the tables. gDS offers alternatives to managing concurrency:
These alternatives are not embedded in gDS but used in the general flow of control in the test platform.
A code generator, “gDSCodeGen,” converts a gDS “.dd” (schema) file provided by the developer into Python code to define and help manipulate the tables defined by it. The “.py” code produced by gDSCodeGen is consumed by the test platform Python code when it starts up. The .py code can be reviewed separately to provide insight.
Copyright © 2024 Testing Complex Systems - All Rights Reserved.
Powered by GoDaddy