TEST STRATEGY & PLANNING FOR MIXED QA TEAMS
After you decide on creating an outsourced QA testing services team, plan your test strategy, document decisions and make documentation accessible for review. Within your test strategy or test plan, determine the testing types, schedule, and scope (depth) that you’ll need.
Testing Types
Testing types mean determining if the outsourced QA team will do functional, regression, integration, or performance (as an example). Are they executing manual tests or is automation involved? On a similar note, is the team creating manual or automated test cases?
Consider leveraging them as resources for automated test maintenance as well, or even to developing code-based test frameworks or unit tests.
Perhaps you only want a functional beta test using a larger number and variety of user types for both mobile or web based applications. Outsourced testing services generally provide the ability to expand testing onto more device types, networks, speeds and platforms or browsers. You’ll be extending your testing automatically based on the possibility of being able to test with such a variety of options.
Once you determine the types of testing you need to be done, consider how to divide it into teams or resources. You need to decide who’s assigned to what project and QA tasks. If you’re using both internal and outsourced QA teams, be sure each team understands their work expectations. Productivity is improved when tasks are known, defined, and understood by the assigned resource or team. Organised teams that know the path they are following are more productive and positive.
Testing Schedules
Now that testing team tasks are assigned out, and the types of testing are defined, you’re ready to develop the test execution schedule. You’ll need to answer when testing is executed for each type of testing involved. Develop a schedule for each defined testing type.
Break it down by testing type, so the schedule is specific. Put in the timing needed for each test execution, when it starts and when it should finish. It’s useful to include any additional information such as sprint or overall schedule dates so the team can track their QA planned test execution progress accurately.
For example, say you schedule regression testing for the last week of every month or 2 – 4 weeks prior to the planned release. Plan it with a bit of ‘cushion’, so if multiple issues occur they can be repaired and retested. You may consider running regression tests continuously, bi-weekly, or weekly. Different types of testing require more execution cycles. Load and performance testing occurs typically daily (when automated), weekly or monthly. Usability testing typically occurs once prior to release and frequently on the same schedule as regression testing. Smoke testing is critical to any release and should be scheduled as often as possible. If smoke tests are not automated and running daily, consider running a set of them continuously with manual execution. Running critical smoke tests frequently brings issues up prior to release.
Testing Scope
Finally, determine the scope of your scheduled testing types. Scope or depth of testing typically corresponds to the length of the testing schedule. Many organisations do not discuss or mention testing depth because it’s usually left to QA testers to determine individually how deep they need or want to test. However, knowing the scope of each testing effort is important in finding defects in various levels of the code.
For example, you may determine that smoke testing is defined as clicking on each link and verifying each page along the main application workflow is sufficient. What if most of the defects found by customers are within the integration points of the application? Superficial types of smoke testing won’t find those types of defects. You might want to develop a set of smoke tests that includes integration points such as API transactions and data verification. Plan each testing type to delve either superficially, and in more depth within the application to get the greatest value from testing.
An important point is to make sure the QAs test in a consistent fashion. Defining the expected scope is essential to getting even, or consistent testing results. If time allows before the release, consider adding in a creative test session when QAs can use their creativity and application knowledge to find defects hiding in uncommon places within the application.
Defining test type, schedule, and scope as explicitly as possible reduces churn while improving testing productivity and results. Take advantage of expanding test coverage by using outsourced testing services, but make sure they are as productive as they can be by giving them clear testing types, schedules, and testing scope. A well planned test strategy improves team morale, productivity, and ensures finding the most defects possible before code release.