Any successful testing environment has defined roles and responsibilities that fit into the larger picture of the testing phase. While the names might vary from company to company, they serve as the core to ensuring that software, data, and systems are ready for mass deployment and consumption.
The following are the generic titles, roles, and responsibilities of a successful test data management team.
The business analyst helps define the parameters of the data, what works and what does not in terms of data collected, and what the end user needs to see.
A business analyst will work with the Test or Project Manager to define requirements and instructions for database managers and developers so that both can pull data that adheres to the end users’ job requirements.
Project Manager/Team Lead
The project manager takes the basic test data management requirements from the business analyst and transfers them into tangible instructions for the developers. The Project Manager will also formulate the general project and testing schedule and allocate resources to parts of the testing process.
When there are questions from any part of the team, the project manager will provide the answers or track them down.
Other responsibilities the Project Manager has include, but are not limited to:
- Budget Management
- Overseeing testing sessions
- Communicating with executive management
- Leading team Meetings
- Addressing and troubleshooting performance, data, or personnel issues
A Project Manager must be the “chief cook and bottle washer,” which means they must understand the front end of the testing process very well and have a solid grasp of the back end. They do not have to have a highly technical proficiency, but they must understand the basics of setting up the testing process.
At the end of the project, more than any other member of the team, the Project Manager is a representative of the entire testing team. That has good and bad aspects. When a project is going well, they are recognized for it, but when a project is struggling or not producing desired results, they take the heat.
The QA Lead oversees and monitors the test data management development and execution. They understand what the business analysts want and what the developers are supposed to create.
When there is an issue, the QA Lead will coordinate with the appropriate testers, developers, and the project manager to determine the best path forward.
That could include:
- Retesting if the results are inconclusive or possibly an anomaly
- Reviewing the test criteria with developers to ensure it meets the test data instructions
- Coordinate with the Project Manager to allocate resources and modify schedules
- Aid in the development of testing priorities if multiple tests are needed
The QA lead also presents the test results to the Project Manager during status updates with executive management. They help determine if testing is sufficient given the business objectives, and they aid in modifying the business requirements if needed.
Once they have identified quality issues, they work with the Project Manager to develop the timing and goals of a new testing development phase. The QA Team Lead must know the basics of the technical aspects of the testing and also be versatile enough to understand what the end users want in a finished product.
The developers are the individuals that pull the data and help develop the tests. They must be familiar with every aspect of the testing environment. Developers will also help troubleshoot test designs and help determine if modification is needed. The central responsibility of a developer is to take instructions from the Project Manager and determine the best path forward.
That can include opting for testing processes or designs that have been used, helping define new testing processes needed, and troubleshooting existing test processes when problems arise or test results do not meet expectations.
There are three parts to the development team, although one employee can play more than one development role.
Usability Testing Developers
Usability Test developers coordinate with QA personnel and testers to identify issues if the results do not meet expectations. These developers help design testing scenarios and suites. They also help document testing development and scenarios and coordinate troubleshooting testing scenarios both before a test is run and after the results have been collected.
Another role of usability testing developers is participating in test-procedure walk-throughs with the Project Manager, QA Lead, and, occasionally, management.
They will also oversee the allocation of developer resources, particularly when two testing projects are needed simultaneously. Superior interpersonal skills are vital, given who usability testing developers meet with regularly.
Manual Testing Developers
Manual testing developers help design test suites and processes. They also design tests for the testing processes to ensure that the data collected is exactly what the business analysts want and what the testers expect. When there is a problem selecting test data, they will review the select criteria and determine where the instructions or the code is deficient.
Additionally, manual testing developers will help determine what test scripts need to be written based on the test script library inventory and what the test script instructions say. When necessary, they will modify existing test scripts from the library to adapt the testing script to what is needed.
Automated Testing Developers
Automated testing developers work with other developers to develop automatic scripts and testing suites that can be used repeatedly. They also coordinate with documentation specialists to ensure that what they create can be quickly accessed and used.
Additionally, automated testing developers will create the test scripts based on requirements.
Another role automated test engineers play is to oversee the actual testing of the data to ensure it meets all requirements. They will then document the results in formal reports.
Occasionally, they will be asked to present their reports in team or management meetings.
Test Library and Configuration Specialists
The employees that serve as test library and configuration specialists need to have multiple levels and skills and apply them to maintain the test libraries.
Specialists must be familiar with system, network, and database management and components and know how each works within the test data management testing framework.
These specialists must also understand programming, data select and query commands, computer operating systems, and how to match business requirements and instructions with available testing scripts.
When a test script gets altered, they must decide to keep the initial script or allow the library version of the script to be altered. Additionally, they must create test builds from existing scripts when necessary.
The testers run the test scripts with the data and verify the results. They have to understand testing design, database administration, and testing script execution. Their role requires a lot of communication at all team levels, so interpersonal skills are a tremendous advantage.
When testing is done, they analyze the results and help formulate reports documenting them. Additionally, they help alter test designs and troubleshoot scripts that do not accomplish what they want.
Finally, they are the last line of quality checks to ensure that all business requirements are met before the script is run and the results documented.
A strong test data management team does more than develop data tests and verify that test data replicates the data used in real life. They also help develop a testing process that ensures all test data meet the needs of their end users again and again.
Author Bio – Daniel Jackson
Daniel is a community manager for NI (formerly National Instruments), where they create the tools needed for companies to Engineer Ambitiously™. His current interests are at the intersection of software engineering and DevOps. Outside of work, he is a marathon runner and is working on his first novel.