Test Data Management: creative solutions and Data Management Solutions
|
Mario Matthee is a tester, Consultant, certified Master Scrum and very unqualified mountain motorcycle drivers (learning ). He is keen to introduce young IT experts into the world of software testing. He is also a founding member of the Cape Town automated testing user group. He graduated from the kepan University of Science and Technology (South Africa) and is the director of the Software Quality Assurance Department of dynamic visual technology. |
?
Test data management may be one of the biggest challenges that testing experts face in their careers. People who have not met the shortage of test data or incomplete test data are lucky.
We are not alone
The lack of test data affects developers. A few years ago, in one of my tasks, the developer had to guess what data would enter the database. Before giving his code to the test team, he never started a test environment. As you can imagine, there is also a disaster in the testing phase. It is not surprising that the project has been suspended for nearly three years since it started. Maybe this is not the main reason for suspension, but it is definitely a cause. Data is important to any system and is definitely a key factor in testing a system. Data provides an environment for the system, and there is no environment. It is worth discussing when testing starts.
Do we really need it?
Let's move back. Why do we need test data and how do we plan to use it? For beginners, there is no data. You only test the application GUI. Taking a typical GUI as an example, we test the controls on the screen, such as buttons, drop-down menus, and text boxes. Even if these tests are limited, the front-end GUI cannot reach certain screens or functions because no correct data is entered. To follow certain procedures in the system, specific data is required. We need testing data to ensure that enterprise regulations are tested and different processes in the system are executed. Imagine a test report without data. Have we started the test?
Test data operations
To make the test data valid, we need to create, read, upgrade, and delete the CRUD above ). One of the biggest challenges for testing experts is integration with third parties. In most cases, test data is read only and the number of data is limited. Another potential nightmare is that third-party application vendors change test data without prior notice. Let third-party application providers ensure that you can obtain their databases that are unknown. There is nothing to block our requests, but be prepared to reject your requests at any time. Testing Data and management are important for both manual and automated testing. In either case, test experts aim to predict the expected results of their data based on the data they enter in the system. In most cases, test experts cannot create or operate data in the required status. If the test data cannot be found, the test case cannot be executed.
A real example
Let me explain to you a real problem I experienced in my early career. We have to test and automate the customer management system. A single customer account can execute more than 100 different tasks. For example, locking an account, unlocking an account, viewing the balance, viewing account details, activating an email address, and upgrading an email address ......
The problem with the test data is that the test team is granted certain accounts to use the corresponding test data of downstream third parties. Therefore, you can create your own test data and start to use it. However, you cannot perform end-to-end tests because new data is not stored in downstream systems.
Only a limited range of downstream systems are configured for testing. So your test will be restricted.
The next problem is that the tester starts to share the account, or uses the test data without requesting or coordinating the test. This causes the account to be unlocked to be locked, or the account with some packages may change the future one day. When different functions of the same system were tested, a team of 16 testers suffered a setback.
To clarify, not all manual tests are affected, but automation is indeed an exception. Automation can query data and find data for use, but the problem is that sometimes the data is there but sometimes it is not because another team member is constantly changing the data. One advantage of automation is to search data before testing. In this case, the automated operation becomes untrusted. We absolutely cannot predict whether sufficient test data is sufficient to start an automated operation all night long. If you cannot find data in the database, the best way is to create your own data. Here I have to emphasize the importance of data integrity: Through the front-end or through execution, some out-of-order stored procedures on the database will damage data.
This further hinders testing and may cause defects caused by the testing team rather than the development team. It is costly for developers to determine the cause of the defect, but they finally find that the test team has damaged the fault. As a result, the testing and release process slowed down and automation could not return satisfactory results to investment.
As a test team, we gradually expand the problem and ask the designer to come up with a solution. After several meetings, a plan was developed. At that time, we couldn't come up with a better word. We called this solution "vanilla script ". So what does it do? It is a storage process that basically eliminates the number of customers outside the system. I mean, all data, yes, is all. It is mainly used to maintain the integrity of the reference and not damage the database. It is conceivable that this will take many attempts to succeed, but three months later we came up with an effective solution. Some of you may think we are crazy-how can we have such a script? What if I put it into production ?! This is considered part of the release process and post-execution testing. Because the script is executed by calling a storage process, make sure that the execution is completed only by the specific database name and IP address.
To solve these problems, follow these steps:
??A complete terminal-to-Terminal Test is possible because the vanilla script is the first to run, and commands are issued to downstream systems to delete relevant data that supports them. Re-create this account to re-create a downstream account to ensure that all systems are synchronized.
??The tester does not need to share the test number. Now they can use Automation over and over again to set the desired state using the data of the same account.
??Automation also uses the allocated account to run, so we will always have data for overnight operation.
??The risk of database corruption by running out-of-order scripts is eliminated by using the vanilla script compiled by the advanced database developer.
Result
The results are amazing. Assume that you want to test the full life cycle of an account, from activation to deletion, and all tasks during the period. Now you can do it! A tester runs the vanilla script before the test starts. Now, they only need to put their account into a specific state they need to start a manual test case. This allows us to use the same account to write test cases for different software package products. Automation suddenly succeeded. We run more than 300,000 test cases within 36 hours. In turn, there is a new demand: We want to automate and run faster-but that is a problem in general test automation and testing. How can we share the number of third-party tests? Automate the use of one or two accounts, and manual testers use the rest. They started to automate the use of vanilla scripts to set accounts to the desired state. Keyword-driven automation is the key to the solution because it allows the test team to design test case combinations by themselves.
Summary
Test data management can create or break the spirit of a test team. Creative solutions are needed. Don't stop looking for a solution. In the end, there will always be some gains. Sometimes the solution is as simple as asking the right person for help at the right time.
Copyright: This article from SPASVO zezhong Software Testing Network: http://www.spasvo.com/news/html/20141020154958.html
For original works, you must use hyperlinks to indicate the original source, author information, and statement of this Article. Otherwise, you will be held legally liable.
What are the features of the Stibo Systems primary data management solution?
The STEP System of Stibo Systems's master data management solution is powerful, flexible, and scalable, and can meet evolving needs. Suitable for enterprises with complex business and diverse product lines. Stibo Systems provides multi-level capabilities to flexibly use platforms of different levels based on specific products, product categories, and Sales locations. Stibo Systems master data management solutions can be executed in a complex environment with more products and websites, stores, and products. Stibo Systems enables enterprises to provide product data to independent retailers, international distributors and consumers using a single source of information to print materials and Web Media. Stibo Systems makes it possible for enterprises to use multiple languages in multiple countries or regions to use the same source for marketing across multiple channels.
Is there a good test data management system? Software that improves the efficiency of test data management?
AppTDM test data management system can be widely used in aviation, aerospace, electronics, weapons, petroleum, transportation and other industries, third-party independent testing laboratories.
Aviation field
There are many types of aviation tests, especially engine tests (including environmental tests, inclusive tests, swallowed and swallowed tests, and aerial simulation tests). A large amount of test data will be generated during the test, the data includes semi-physical simulation data and semi-physical simulation data. How to analyze and use the generated test data, AppTDM supports analyzing large-capacity data and batch processing of data, greatly improving work efficiency.
Aerospace field
The aerospace test project takes a long time, involves many resources, and produces many test data. These test data formats are not uniform.
(1) According to the characteristics of the aerospace test, AppTDM introduces pilot project management, including testing project task decomposition, Testing task plan formulation, and Testing task personnel allocation;
(2) AppTDM comprehensively manages the test equipment, including device verification, calibration, and period verification;
(3) integration with PDM software, such as Avidm.
(4) convert the format of data generated by third-party software to facilitate processing.
Petroleum Industry
The petroleum industry solutions are intended for petroleum, gas refining, storage, distribution and marketing, intermediate manufacturing and final petrochemical product enterprises. To maintain their competitive position in the industry, these enterprises must implement process automation and intelligent integration of data streams. APPTDM can play a major role in this field to ensure product quality and clean production.
1) meet the workflow requirements of the Process Industry and batch production process. (Including the quality testing process and data sharing requirements in the factory );
2) provides flexible report functions to meet the complexity requirements of multiple users and automatically collect data;
3) ability to integrate with other application systems, such as ERP/MRP, DCS, material supply systems, and human resources systems;
4) sufficient flexibility is required. When your business and needs change, you can easily modify them and upgrade them easily.
The shenzhouhui Test Data Management System AppTDM provides personalized solutions!