[Testing] Sanjay.zalavadia:
With the rise of mobile devices, companies have even greater incentive to streamline and scale their agile processes through the use of enterprise test management software.

Agile methodologies have put countless software makers in position to move quickly on demanding projects, through a combination of rigorous testing regimens and close collaboration between developers and operations teams. With the rise of mobile devices, companies have even greater incentive to streamline and scale their agile processes through the use of QA management tools, which support manual and automated testing and coordination of development across multiple project groups.

Mobile app development and the need for automated testing

Last quarter, more Internet traffic originated from mobile phones than desktop PCs. Plus, most of that activity – 80 percent – came from native apps rather than Web browsers, underscoring key changes in what end-users expect from software, namely speed, reliability and usability. According to Appurify CEO Jay Srinivasan, a 2013 uSamp study found that more than 70 percent of respondents will delete a mobile app after it crashes, even if it’s the first such incident.

Certainly, the challenges of creating high-quality, stable mobile apps can become a money sink for some shops. There are many platforms to address, each with its own nuances, and development costs can easily run past six figures. How can developers and QA analysts keep up with the growing demands and pressures of the current mobile app environment?

For starters, it’s worth reexamining what kinds of tools are currently being used and if and how they ensure that quality standards are being met. Some teams may limit themselves to crash analytics and manual tests, but such an approach is increasingly unsuited for development schedules that require software to be pushed out rapidly to substantial - and growing - user bases. The maturity of the mobile hardware ecosystem also means that numerous devices have to be accounted for in each testing cycle.

“Another issue we see is that developers have an over reliance on manual testing methods,” observed Srinivasan for BetaNews. “With device fragmentation resulting in more than 30 device and OS combinations for iOS, and an order of magnitude more for Android, manual testing is not a scalable approach for mobile developers. To ensure performance and functionality of your app prelaunch, across all selected device and OS combinations, developers should add test automation to their mobile testing tool kit.”

Mobile devices are also subject to myriad volatile conditions such as mobile data connection strength and limited memory allotments. Performing diligent testing requires the definition, reuse and analysis of complex test scenarios. Fortunately, organizations can use test management systems to overhaul and scale their testing process for current market realities.

Does agile development enable the right level of testing?

Automated testing is a key enabler of agile and test-driven development, methodologies that have allowed enterprises to “produce higher-quality software within swifter release cycles that is more in tune with user needs,” in the words of Skytap executive Sumit Mehrotra. With more devices to manage and applications becoming fundamental to consumer and business workflows (it’s perhaps telling that Bank of America now does more development than Microsoft), it seems that organizations could never perform too much manual and automated testing, considering the stakes.

“The standard explanation for why we create automated tests is that by having them, we can know that our system continues to work properly even while adding new functionality or refactoring existing code,” wrote Mark Balbes for Application Development Trends on agile testing practices. “Test-driven and behavior-driven development takes this a step further by using automated tests to drive software design.”

However, there has been some recent debate about the place of test-driven development and automation and whether they have caused teams to actually implement excessive levels of testing. Balbes himself takes up this point in his article, pointing out that such practice could increase the difficulty of refactoring down the line.

The key may be developing a knack for knowing when to perform unit and integration tests on given types of objects, which may take time - and is ultimately more of an art than a science. But for organizations committed to agile development, tools such as agile test management platforms provide the foundation for setting up testing processes that are tailored to their respective needs. Both manual and automated tests are supported, and progress can be easily tracked so that measures can be refined over time.