Test Data Management (TDM) has always been a critical part of the application development and testing life cycle, however its importance or having the right data delivered to the right people, at the right time, for testing purposes is overlooked. Poor test case design and the inefficient provisioning of poor quality data means that test teams find themselves without the data required to fully test a system. Quality is compromised in favour of delivering software on time and within budget.
Traditional TDM strategies focus only on moving data while the data itself is overlooked during the requirements design phase of a project. The use of production data for testing and Masking and Subsetting these data carry many issues that make the successful implementation of Continuous Delivery impossible and form a barrier to achieving a Test Data Management regime.
Wasted Time
Masking or subsetting production data or creating data manually from scratch can be a time consuming task also affected by the inconsistent storage of data within different versions of spreadsheets. Further, as the data is usually created with specific test cases in mind it quickly becomes outdated and irrelevant, as the real world constantly changes. A commonly given example is trading patterns and currency exchange rates, where data becomes outdated on a daily basis.
Poor Quality
The real issue with using production data in non-production environments is quality. A lot of production data is very similar, being drawn from common or “business as usual” transactions, and is sanitized by its very nature to exclude the bad data that will break systems. Testing therefore tends to focus less on non-functional and negative testing.
However, negative testing should constitute around 80% of testing, as it is these outliers and boundary scenarios that cause systems to collapse. In any other case, defects will invariably make it into production, leading to rework, critical delays, increasing costs, and potential project failure. Industry research shows that it takes 50 times longer to fix a bug during testing, than finding it in requirements stage, with such delays and inability to respond to change making continuous delivery impossible.
High Costs
Finally, in addition to the high costs of rework and late delivery, the actual copying of production data is a prohibitively slow and expensive process. Some organizations find themselves with as many as 20 copies of a single database incurring high expenditure on hardware, licenses and support costs. There is also the more costly danger of non-compliance, which is not resolved even when production data is masked. Masking production data does not guarantee compliance, as the real danger remains human error, whereby 58% of data breaches are staff related.
Drive efficiency, compliance and agility for QA and DevOps
With more and more organizations turning to Continuous Delivery and DevOps practices, rigorous and agile testing is essential to releasing quality software. To do this you need quality data. In most cases however project delays occur because testers frequently lack access to the data they need, when they need it.
In the world of Agile, most testing is done within sprints, so test data has to be provisioned continuously to the teams and refreshed during each sprint. Instead of masking production data, automated synthetic test data generation should be used with the characteristics of production but with no sensitive content, to systematically and quickly create all the data needed for testing. Data is reusable and does not become redundant with new releases. In other words, testers have all the data they need to execute 100% of possible tests, on demand!
See here you can ensure teams have what they need when they need it to deliver quality software quickly.
Tagged under
Related items
- The Evolution of Payment Data: Why ISO 20022 Conversion Is a Game-Changer
- Modernizing Reconciliation and Investigation for Payment operations
- Breaking Free: Why It's Time to Ditch Manual Spreadsheets for Reconciliation
- Leveraging Synthetic Test Data for Software Testing
- Revolutionizing Reconciliations with Artificial Intelligence