A lot of discussions about the testing needs, tools & techniques to facilitate software testing needs remain at the forefront in conversations between quality assurance & software quality testing enthusiasts.
Management & streamlining of test data is more than important and test data management remains a critical component in the testing life cycle for software & apps.
Test data management or TDM facilitates test data during various phases of a software development life cycle.
Today's uncertain business environment is witnessing a lot of budget cuts, high competition, job cuts and much more. In such a scenario, addressing Test Data Management (TDM) with the right approach will not only save huge effort and costs but also bring in business agility, reduced time to market with reliability and coverage of the test cases along with a reduction in test environment costs. As per the analysis, the effort spent in doing TDM ranges anywhere between 12% - 14% while in some cases where the applications are data intensive, the effort can go beyond 21%.
Challenges w.r.t TDM
- Lack of awareness on Test Data Management
- Lack of Standardisation
- Poor data quality and data integrity
- Regulatory and Compliances – Data security
- High storage cost
- Absence of traceability
- Reduced efficiency
- Huge effort spent on TDM
TDM as a practice is being impacted by three major trends - the digital revolution, an increase in the adoption of data analytics, and pressure from the business to deliver software faster.
Most notably, creating a test environment with the appropriate test data is a slow, manual, and high-touch process. Many organisations still use a request-fulfil model, in which ticket requests are often delayed or unfulfilled. Copying a dataset can take days or weeks and involve multiple handoffs between teams, creating a fundamental process bottleneck.
Trends and Accelerators
Some key trends and solution patterns that must be considered while creating effective test data are agile, DevOps, big data, cloud, service virtualisation with TDM, domain-specific solutions and accelerators, and automation to reduce time-to-market and improve efficiency. These trends are very visible in product vendors’ roadmaps and is an expectation from the IT organisation during their TDM journey.
Testers have to perform integration tests on the application with different code versions and test data combinations, and with other applications (in-house or vendor), which is not available currently. Hence, test data architects may need solutions to virtualise application behaviour with predefined test data combination (input and output) and orchestrate it with the application under test.
Domain knowledge is key to determine efficient approaches for identifying data subset criteria, masking methods, and data creation techniques to ensure data integrity.
In fact, many service providers are offering joint TDM solutions along with tool vendors.
Most often, the missing piece of the puzzle is data virtualisation. Unlike physical data, "virtual data" can be rapidly provisioned in minutes, making it easy to distribute test data to application teams. And unlike storage replication tools, data virtualisation also equips end users with self-service data controls so that software testing can be performed iteratively without any unnecessary delays.
A traditional request-fulfil model takes days or weeks with multiple handoffs. Self-service data is accessible in minutes.
Administrators can not only deliver virtual data to application teams in minutes but also execute repeatable masking algorithms to streamline the handoff from Ops to Dev. Test Data Provisioning:
- Subsetting Data from multiple sources
- Keeping the Data private –Data Masking
- Automated Test Data Generation & Comparison
- Periodic Refresh of Test Data -- So the next thought for many is “what if we didn’t refresh the database often, and instead create unique data for each execution of a test case?” I call this “selfish data generation”.
All the above points are good to have and are extremely idealistic. But are these realistic solutions? Are they implementable?
Saying ‘Yes’ or saying ‘No’ to Test Data Management offer contrasting outcomes.
These strategies are the most basic patterns I’ve discovered. They should pique your interest, serve as a basis for developing a better understanding of test data management, and help you think through what you do with your own test environments. Mix these, and match them.
With newer technologies and approaches emerge changes in techniques of testing & the data sufficient to conduct these tests. Test data management becomes more relevant than ever today.
The underlying objective is to deliver value to clients by increasing automation through efficient solution patterns and innovative methods across the TDM lifecycle.