News from the World of QA — February 2016

This time out on the Betica Blog, we are going to take a look at some newsworthy stories and trends from the past few weeks related to the software QA world. Hopefully, they offer a measure of insight into other perspectives on QA’s role in the modern business world at large.

Building Better Tools for Software QA

In the past, we’ve covered the importance of leveraging helpful tools to facilitate the software quality assurance process. This rule applies to all areas of QA — from desktop software to websites to mobile apps. Using excellent tools helps the QA engineer perform their job with more efficiency and speed.

Earlier this week, SmartBear Software, a developer of tools for QA, released a new update for its Ready! API testing suite used for this vital area of software development. This news was reported on at the software development news site, SD Times.

Version 1.6 of SmartBear’s product adds useful capabilities aimed at large scale enterprise QA. New support for Docker containers facilitates load testing, which is important for simulating high-traffic websites and distributed apps. Automated test libraries and security certificates make deploying virtual API sandboxes an easier process.

John Purcell, Vice President of Products at SmartBear commented on the reasoning behind the new features. “Professional development and testing teams need tools that support enterprise-level requirements like big data sets, multiple environments, company-issued security certificates, auditing and running only certain branches of tests based on continuous integration events,” said Purcell.

In short, Ready! API appears to be a testing tool large development shops need to explore for use by their QA teams.

The Growth of DevOps leading to Smaller Software Deployments

DevOps, which is in some sense a development out of the maturing Agile movement, continues to affect how software gets written and tested. One notable trend involves longer development cycles using the traditional Waterfall methodology being replaced by smaller iterations following Agile and/or DevOps principles. This gradual shift in direction was reported on in the UK-based IT website, The Register.

The increased close collaboration between software engineers and QA personnel ushered in by DevOps tends to thrive when working on faster iterative cycles. Many enterprises eye Continuous Deployment or Integration as a goal worth striving for, especially in today’s fast-paced, competitive business environment. There simply isn’t the time for 6 to 12 month development cycles when customers — whether external or internal — require new features working perfectly on a weekly basis.

The Register talked about this trend with an IT manager at a large enterprise. “We did an analysis of hundreds of projects over a multi-year period. The ones that delivered in less than a quarter succeeded about 80 per cent of the time, while the ones that lasted more than a year failed at about the same rate,” the manager commented.

Simply put, faster iterative cycles led to a better chance at a successful deployment. More timely updates are what the customer wants, and improved software quality appears to be an additional bonus. Because of this, expect more companies of all sizes to implement Agile and DevOps-based development methodologies.

Stay tuned to the Betica blog from more insights into software QA.

Tools of the Mobile QA Trade

In our last blog post, we provided an overview of the mobile QA process. This week’s article dives a little deeper into the QA engineer’s toolbox to take a look at what software supports their work when testing a mobile app or website. It might be an emulator or even mirroring software to help them record a mobile app in action on an iOS or Android device.

Let’s take a closer look at some stand alone emulators and other applications used by QA teams involved in mobile testing.

Mirroring Software helps when Testing Mobile Devices

Even considering the overall convenience of mobile device emulators, most QA professionals prefer to test with an actual piece of hardware. It is truly the best way to properly benchmark an app or website’s performance on a mobile footprint. Desktop computers are too powerful to properly simulate the speed in which an app runs on a smartphone or a tablet.

QA teams use mirroring software, like Reflector on the iOS platform and Mobizen for Android, for two major reasons. Mirroring allows the tester to view the app in action on a larger screen giving them a better view of the user interface. They are also able to make a recording of the interaction with the app or website being tested.

Being able to record an app’s user interface in action definitely helps when logging bugs and other issues with the software’s performance. Having a visual recording of an app also allows software engineers to more easily replicate any issues discovered by the QA team.

Stand Alone Mobile Emulators

While both major mobile app development environments — Apple’s Xcode and Google’s Android SDK — contain built-in emulators, some QA teams prefer to use stand alone emulation software to perform their mobile testing. In the Android world, some device manufacturers, most notably Samsung, offer their own emulation software, providing benefits when testing user interfaces for a specific device. The company even has a web-based emulator for the Galaxy Tab.

A variety of Android emulators are actually aimed at end-users, allowing them to run games and other Android apps on their Windows computers. QA teams are also able to take advantage of these emulators in a pinch. BlueStacks and GenyMotion are two of the more popular examples of stand-alone Android emulators.

In addition to the iOS and Android platforms, emulators exist for some of the less popular mobile platforms, including BlackBerry, Java Micro Edition, and Windows 10 Mobile. Redmond also provides an integrated mobile emulator as part of the Visual Studio IDE, in the same manner as Apple and Google.

The wearable market is still in nascent stage, but emulators for the Apple Watch and Android Wear help QA engineers test apps targeted at these platforms. Expect more examples in this arena as wearables see wider acceptance from consumers. When it comes to most mobile testing, however, smartphones and tablets remain the focus for app and website development.

Stay tuned to the Betica blog for upcoming articles as we continue to explore the wide world of QA!

Testing Apps and Websites on Mobile Devices

With more users leveraging their smartphones and/or tablets instead of a personal computer, the importance of QA on mobile devices has increased over the past few years. The resource-constrained environment of a portable device — less RAM, smaller screen — raises issues for both developers as well as testers. Testing mobile websites and applications has become a convoluted process.

Adding to the complexity is the cornucopia of OS versions available for both the iOS and Android platforms, which doesn’t even take into account the differences in hardware, especially screen sizes. The fragmentation of the Android market also causes frustration for many mobile development shops.

This next series of blog posts focuses on the process of QA on mobile devices.

Mobile Website QA on iOS and Android

Testing web applications on desktops is a detailed task by itself considering the multitude of browsers (and different versions) all with their own slightly unique way of handling JavaScript and rendering CSS layout. Both developers and testers need to ensure websites operate in a consistent manner no matter the browser and its version number. Migrate that process onto a mobile device and other issues can arise.

The iOS platform partially benefits from Apple’s “walled garden.” Apple handles the manufacturing of all devices and keeps tight rein on what apps become available at the iTunes App Store. Only recently did they allow alternatives to Safari as a mobile web browser for the iPhone and iPad.

Android, on the other hand, is more of a free for all. Different device makers and a wider array of mobile web browsers make testing mobile web apps on Android a more difficult proposition. An open platform is also more prone to mobile malware, which means testing for security becomes paramount.

Emulators are necessary for Mobile QA

One of the difficulties facing QA managers responsible for mobile testing is the procurement of enough devices to properly vet apps and websites. Finding a good supply of older iPhones, iPads, as well as Android smartphones and tablets from different manufacturers is challenging. Because of this issue, the use of emulators simulating the operation of a mobile device plays a large role in mobile QA.

Software engineers also use emulators as part of the mobile development process. Apple’s Xcode includes iPhone and iPad emulators capable of running multiple iOS versions. Google also offers similar functionality in its Android IDE, but the wider variety of device makers adds an extra layer of complexity.

Since QA staff also employs emulation as a major aspect of their testing process, many companies are now offering stand-alone mobile emulators as an alternative to those contained within a software development IDE. One caveat to remember is an emulator is running with the horsepower of a desktop PC, so the overall performance tends to be better when compared to an actual device. The QA team needs to factor that in to their final test results.

Stay tuned to upcoming Betica blog posts as we dive deeper into the use of mobile emulators in QA.