Key principles for the software testing
Testing services provider Qual IT.
Steve Willsher, Business Development Manager of testing services provider Qual IT, reflects on some testing principles and what you can expect to see with a tester on your project.
Qual IT has been working with Intergen for more than a year. Late last year both companies announced they had entered into a partnership to make it easier for clients to embed testing best practices into their projects, and to incorporate more effective and timelier feedback as part of a development or implementation project.
While many companies that develop software also offer in-house testing, there can be advantages to using an independent tester.
Developers and testers often have a different mindset and set of skills – developers build things and testers like trying to find out where they are broken. That’s why having a specialist testing team can be so valuable to a customer.
In our experience, we find it’s better to include testers at the start of any project – right from the initial project briefing. In this article, we look at some of the key principles we believe are important to ensuring the delivery of a successful project.
A fundamental testing principle is to test early – it's far less costly to fix errors early on in the development life cycle. Testing should start with assessing and validating any source material – the business case, project scope, requirements – as early as possible to ensure what is being described is testable. Even if you haven’t written any of those documents yet, invite your tester to any workshops or discussions that may help them better understand the project. Testers have a knack for asking difficult questions and exposing risks before they come back to bite you as issues.
When testing, you should always test the most important things first. The effort should be prioritised, based on the level of business criticality and solution risk. Based on our experience, we know there’s no one-size-fits-all testing process. We believe in tailoring the test process and techniques to suit the context of the project and what our customer wants to achieve.
Often forgotten or disregarded, it’s also important to put time into developing the documentation and producing any reusable test artefacts. It’s likely that any systems may be enhanced in the future and will require further testing – that’s when this documentation can come into its own. Reuse helps justify your initial test dollar too.
Communication is critical to any business situation, and testing is no different. Clear and timely communication of test status is important throughout a project. Information on coverage and test progress – how much of what we said we’d test have we actually done and how much is there togo – needs to be provided.
In our engagements, we also advise on the level of quality: how many defects have we found, how serious are they and how quickly are they being fixed. Lastly, there is also value in maintaining traceability – from defects to test scripts, requirements and benefits. It also helps with the communication. Beyond the process, there are also test tools and technologies that facilitate productivity, collaboration, knowledge retention, traceability and communication.
Beyond the process, there are also test tools and technologies that facilitate productivity, collaboration, knowledge retention, traceability and communication. We find it pays to be open-minded and not be beholden to any tool vendors – it’s best to select the right tool for the job.
Applying these principles should result in better projects, and increases the likelihood of success – both in the short term and in the longer term.