Effective software testing in the era of Agile methodologies and constantly increasing software development pace is a challenge for many companies. Why are tests still too expensive, too slow and not producing the expected results? Marcin Laksander, Testing Competency Center Director at Sii Poland, explained this in an interview.
What is the key to designing efficient testing processes?
Marcin Laksander, Testing Competency Center Director at Sii Poland: Testing can be compared to a home alarm system. For an alarm to be effective, we need to have the right equipment and put it in the right place. When designing a house, we already think about where to install detectors and we don’t want to have too many of them. The optimal solution is the minimum quantity covering the maximum area. It’s also the case with testing. It’s not about creating 1 000 tests that test the same thing. It’s about optimal business risk coverage. If we do not control test coverage, the cost of the testing service increases several times.
So what to do to optimize tests?
M.L.: First of all, you need to properly manage test coverage. If you don’t do this, you will lose control not only over the cost but also the business risk. Defining appropriate test coverage also facilitates effective test automation.
And how important is test automation?
M.L.: Automation is essential for efficient testing of software produced based on Agile methodologies. Some time ago, most companies invested in larger software releases, 2–4 times a year, and developed it based on the cascading waterfall model or V-model. Today, most organizations do this much more often. There are companies that release new system versions several times a day. In today’s world, testing very often doesn’t keep up with development. This is particularly the case for regression tests that verify the existing functionalities. With manual testing, it isn’t possible to perform complete regression at least once a day. Testing automation is necessary to be able to implement system changes with ease and to be sure that nothing that worked before was broken during the development. Without effective automation, system changes can’t be implemented frequently and no organization can allow that to happen.
Automation is a cost – how can we optimize it?
M.L.: What mainly increases the cost of automation is the lack of priorities and well-defined business requirements, test redundancy and sloppy code. It is worth remembering that from release to release increases not only the number of functionalities in our systems but also the number of tests. Unfortunately, among them are those that do not check anything, never find errors and, despite the costs incurred, do not guarantee successful implementation. In order to operate optimally, we should also treat test automation as a development activity. People creating tests should be familiar with object-oriented programming, be able to use design patterns and know best practices for writing code that takes up little memory and is readable. With properly planned and performed automation, we do not waste the time and effort needed to maintain it.
From this perspective, planning effective and optimal software tests seems to be quite a challenge. How to respond to it?
M.L.: Designing the proper range of tests and building the team to handle them, good automation and, above all, the delivery of high-quality tests requires time, experience and often considerable investment. It is understandable that many of our clients, for whom testing is not a key business area, do not want to focus on it and entrust us with managing their testing processes. At Sii Poland we are able to take over everything, from strategy, planning and management of tests, through manual and automatic tests, to ensuring the best performance and safety of systems and applications. This allows the reduction of the testing department’s running costs by more than 30% and accelerates the product development process by 50%. As Henry Ford said: “if there’s something we can’t do more efficiently, cheaper or better than our competitors, there’s no point in doing it – we should find someone who can do it better than us.”
If you want to learn more about our Managed Test Services Partner service, visit our website.