Software Quality Assurance is and always will be a challenge, furthermore it can be a costly one. To get it right requires a combination of the right people and the right processes, both which require investment and a prioritisation within the organisation. Below are some of the key elements in getting it right.
Build the right QA team
Firstly, let’s not kid…hiring good QA’s is hard. There are many low end candidates and a fair bit of needing to separate the wheat from the chaff. We see a lot of CV’s from candidates working in large outsources and most of these candidates are more suited to working in a tightly managed team performing routine tasks. You need to find diligent, bright people that are capable of understanding the systems. The nature and complexity of the systems have a big effect on the calibre of candidate. There is a large difference between testing a simple ecommerce website selling widgets versus a risk management system for a financial institution. These QA’s will need to get into the nitty-gritty of the system, how the users will use it and what the dev’s might not have thought of in order to find the faults. The other consideration is when you hire the right people, due to their calibre you will need to allow for career development and its fairly common to see the right candidates move into BA roles, so the challenge doesn’t end with hiring the right candidate.
If you are not automating the majority of your testing, QA becomes a mind-numbing and time consuming process that is a breeding ground for human error. It becomes extremely difficult to get the consistent regression testing that you need for high quality software in production. Back to the point above, the right QA’s will have the ability required to ensure quality test plans and the ability to automate them. Automating the regression testing of the product is also the main area where you should consider using outsourced resources if there is a bottleneck, as they can assist in getting over the one-off resource bottleneck. Ideally, automated test scripts should be run nightly on the latest build with the results being reviewed and interpreted every morning by the test team, in turn this should filter to the dev team so that product regression is kept to a minimum.
Storyboards and Testing Plans
All test storyboards should be logged in the product backlog for reference, this number can be quite large, but it should be done. All bugs found by the testing team should be logged to the storyboard too, so that it’s included going forward to assist in avoiding product regression. Going back to the automation, the more test storyboards that have been automated, the lower will be the reliance on manual testing and the challenges that come with that.
Ideally, you should treat the testing as part of your product development engineering and integrate the testing with the development as much as possible. Automate as much as is feasible for your scenario and ensure you have high quality QA’s for what needs to be performed manually.
George Toursoulopoulos is a technology specialist and Director at Synetec, one of the UK’s leading providers of software services and solutions.