Balancing software quality with speed of delivery
Rushing the QA process can lead to software testers missing critical bugs in the code that should have otherwise been easy to spot. Apple's recently released security update for iOS 7 caused a stir in the development community when it was discovered that the flaw appeared to be a relatively simple bug for any experienced QA team to catch. Google's Adam Langley did a thorough analysis of the affected code, surmising that the error may have simply been a case of a bug slipping through the cracks.
"This sort of subtle bug deep in the code is a nightmare," Langley wrote. "I believe that it's just a mistake and I feel very bad for whoever might have slipped in an editor and created it.
"These types of flaws that become embedded deep in a program present a number of challenges for QA teams. Addressing a bug that has been present in the code for a significant portion of the development process can be extremely difficult as it involves digging deeper into the software. Furthermore, the time and labor costs to fix a bug steadily increase the longer it remains in the codewhich is why quality assurance efforts suffer.
Despite the clear need for robust quality assurance operations, many organizations continue to struggle to properly support these efforts. SD Times contributor Lisa Morgan recently highlighted the lack of consistent software testing in today's development communities. According to her, there doesn't seem to be any correlation between the availability of useful testing tools and the quality of released software. This indicates that many organizations are simply not taking advantage of the latest developments in test management.
Citing quality assurance expert Tieren Zhou, Morgan noted that companies may be placing more focus on creating a fresh software product loaded with engaging features than ensuring that the program has a sound design. This approach may enable development houses to come out of the gate swinging, but it will be destined to fail when a major performance flaw inevitably arises. The race to release the latest and most exciting software at the expense of quality assurance may ultimately result in a widely publicized failure."Bug fixing is less interesting than building features," Zhou said, according to the source. "In the interest of acquiring new customers, you may be losing old customers who are not happy with your products.”
Enhance QA with test management tools.
By taking advantage of the latest solutions in test management software, QA management can avoid similarly costly scenarios while still facilitating relatively short production schedules. The use of automated test scripts will accelerate any QA process, and with a comprehensive test management system, they can be readily shared with every member of the team. By making these resources more accessible, QA management can ensure that their testers are working through in-development code as quickly as possible.
Another way test management facilitates fast development times without sacrificing the quality of the final product is by supporting agile development approaches. In recent years, agile has taken the software development community by storm, presenting a more flexible methodology compared with traditional waterfall practices. A common practice among agile developers is to incorporate testing earlier in the production process, reducing the likelihood of a bug going unnoticed deep into the development cycle.
Test management software can help QA teams make the most of agile practices by providing a platform to enable consistent communication and collaboration. Agile methods depend on the ability of testers and programmers to share relevant information and updates at a moment's notice. By implementing a comprehensive test management tool, these capabilities can be more easily realized.
|