Testlio Automation Ebook
Testlio Automation Ebook
Automating parts of your QA process is vital to making sure you improve and maintain the quality of your apps
while drastically speeding up your release cycles. It helps keep release cycles on schedule.
It may seem tough to replace the insights Automated QA also provides value for
of veteran software testers, but some
projects are ideal for automated testing,
driven by customizable code that fits your
85
increase
% people on automation teams by letting
them prioritize high-value and exploratory
tests, and helping organizations structure
in test
release cycle like a glove. teams that are set up for growth. It helps
automation over the
past two keep software development processes
Companies automate their testing for
years.1 agile, and has become an essential
many reasons, including increasing speed
DevOps practice.
to market, reducing build turnover, allowing
for monthly app releases, delighting users with new Because of all this, interest in and demand for QA auto-
features without the agitation of bugs, and automating mation is on the rise, with an 85% jump in test automation
ads, analytics and video tracking tests. This lets them use in the last two years across all industries.1 But actual
QA as a competitive advantage to drive growth, deliver knowledge on how to implement the tests is hard to find.
apps to customers more quickly, and focus their developer This eBook will explain the benefits of automated QA,
talent on making the best products possible. provide actionable insights for QA leaders and managers,
and show how partners like Testlio can help implement
automated QA into a companys software development cycle.
1 Products are delivered more quickly, with compromise quality in order to get an app out the door
a much faster time to market. quickly? Or should they slow down their release cycle to
make sure apps are of the highest possible quality?
2 https://testlio.com/solutions/automated-software-testing/
3 https://testlio.com/solutions/automated-software-testing/
Any comprehensive QA plan needs to include both automated and manual testing. Thats because automated QA
doesnt replace manual testing, but enhances it. Testing an apps core functions over and over can quickly become
a monotonous task, it takes vital resources away from high-value, exploratory testing. As a result, continual manual
testing of core functions can lead to decreased accuracy, with bugs and errors creeping into apps. For many enterprise
companies, automated QA does a far better job at these tedious tasks than humans do.
By automating the testing of basic, core functions, people can be freed to test more complex, higher-value features.
In addition to improving quality, this also lets companies build QA teams that can scale as development scales.
World Quality
Report
Automation also dramatically increases the depth and scope of testing. Long tests can be left unattended and
performed thousands of times for each test case, something that would be far too costly to test manually.
Automated QA is particularly
well-suited for Android and iOS
apps, because of their device-
specific specifications. That can
mean running tests on dozens
of different devices, with
differing versions of the OS on
each. That is impractical and
costly for manual testing. Its
ideal for automation.
Once youve decided to automate QA, one of the first and most important tasks is to determine which portions of a
QA process can be automated, and which still require manual labor. Automated tests are not a replacement for manual
testers. To find most bugs, human testers are needed to poke around, just as a real user would upon an apps release.
A human testers creativity cannot be replacedwho would think to test an app by shaking the phone, with the back
button held, as the Wi-Fi is switched off?
In practice, only the most basic, core functionality of the app should be
covered by automated tests: Does the app load? Can the user log in? Can
they navigate the menu? Can they watch a video? These types of functional
tests are the lowest-hanging fruit, being well-defined, easily repeatable,
and useful throughout a products entire lifecycle. These mundane tests
can also be prone to human error. Its better to focus manual testers on
creative feature-breaking and bug-hunting, and leave the boring tasks for
the robots.
Targeting basic, high-level functionality means that the tests can be simple,
too. Automated tests are written to model user behavior, often as a sequence
of keywords, actions like clicking on a button or creating an account. This
simplicity keeps tests agile, so they can be written quickly and maintained
efficiently.
Here are examples of tests that should be automated, and those better left to manual testers:
Automated Manual
After tests are written, it is crucial to continually run them throughout development. It may be tempting to push off
testing, remember the QA mantra: Test Early. Test Often. Test procrastination has been the doom of many go-live
deadlines, as app-breaking bugs go unnoticed until final checks. But detecting regressions through automation can
provide incredible boosts to productivity throughout the entire development cycle.
Because smoke tests are lightweight, they can be run frequently and across multiple buildsoften nightly against all
branches of the codebase. The frequency of smoke tests means that when they do fail, its easier to quickly pinpoint
and address the issue. And when theres no smoke, it allows teams to have confidence in their development builds,
and to focus on pushing forward.
Automated QA has huge benefits, but nothing comes for free. As with all types of testing, but especially with automated
testing, constant maintenance is essential to ensure that tests are running smoothly. Changes in an app often cause a test
to fail, not because any real app functionality is broken, but because the test itself is broken. These false positives need to be
investigated by the QA teams, and then the test must be updated to work with the new build to properly test the functionality.
Maintenance is the top priority, and should come before creating additional tests. Before any new tests are written, the
existing tests need to pass. A QA system is complex, and may not always be in perfect order. But technical debt builds up
very quickly in automated QA systems, so its important to keep the machine well-oiled.
Automated testing will alert you of major breakdownsapp crashes, resolution issues, entire elements no longer
rendering, and missing content endpoints. Its not that these bugs would otherwise go missingautomated QA simply
makes sure these issues are detected and addressed as quickly as possible.
There are some areas where automation can find issues that manual testing might miss.
Testing for the Android platform is notoriously difficult due to the extensive mix of OS
versions, screen sizes, and resolutions found in the wild. Automation can quickly test
many of these permutations. For applications that rely on thousands of different types
and sources of content, an automated approach is the only way to verify that everything
is accessible. Of course, manual testing must still be used to have full confidence that an
app can be released, but automation is an invaluable tool.
A stable development codebase has huge benefits as well. Developers who cant write
code because the build is broken are both frustrated and unproductive. Automated QA
is essential for avoiding this paralysis, and protects developers from the burnout caused
by merge issues inherent in distributed software projects.
We develop a comprehensive QA strategy that integrates with the tools and processes you already use. The world standard
for test frameworks is Appium. Testlio uses Appium to run tests against your build, not your source code. That way, we can
get started with your product quickly, and without any concerns about codebase privacy. Bugs often sneak in during the
seemingly innocuous process of preparing a development build for release. By running tests against your real, final build,
Testlio ensures that nothing slips through into the App Store, and out to your users.
Once youre onboard, Testlios team works with you to craft a testing and development plan tailored to
your release cycle and long-term goals, focusing on maintaining consistent product quality. The plan
will ensure you develop at speed, by creating, maintaining, and executing automated test scripts with
immediate results to give insight into the performance of critical features.
Youll get a single point of contact who will work with you through every aspect of setting up
the automated tests, implementing them, and providing ongoing support as new tests
and features are added. Close collaboration is central to the working relationship.
Testlio makes sure that it knows your release schedule and develops a plan that
supports it. Key to the process are the detailed weekly reports youll get from Testlio.
The reports include the results of all tests, and a clear description of the work Testlio
performed that week.
As features are added, Testlio works with client teams to prioritize which are candidates for automation, and which require
manual testing. After areas for automation are identified, Testlio can write specifications, and quickly implement tests to
ensure functionality moving forward.
Keeping an automated QA system functional is difficult, and falling behind can Kick-off and onboarding
We finalize your requirements
quickly lead to chaos. Throughout the ups and downs of release cycles, Testlio
handles the maintenance of your tests, updating scripts to work with new
app versions. Testlio also ensures that the test platform itself is running as Planning & testing strategy
We build your strategy
expectedthis can be an unexpectedly large time sink for inexperienced teams. and testing plan
Although maintenance happens mostly behind the scenes, this is one of the
biggest benefits of choosing to partner with a QA expert like Testlio. Submit your build
Your testing team is ready
Another challenge of managing QA automation in-house is varying workloads. to get started
Things may be calm between sprints, but it is essential to have a full, effective
testing team to push out updates. It can be a challenge to operate a team large Testing magic happens
Truly magical ;-)
enough to handle these surges, and inefficient when outside of a release cycle.
Testlio offers scaling team sizes to address this. Throughout the release cycle,
your Testlio project manager will work with you to determine the resources you Results are back!
24-hour testing cycle
need at that moment. Team size is something that becomes transparentyou
no longer have to think about the number of testers required, just how many
Retrospective meeting
tests need to be run and maintained. This scaling capability is invaluable in What went well,
emergency situations, if for example a serious bug makes it into a release and what did we learn
At that first meeting, Testlio will help you organize your test team and advise
you on how you need to change your internal processes to take automation QA
into account. Testlio will also clearly delineate where automated testing lets off,
and where manual testing begins. And it will advise you on how to develop the
automated QA specs.
Get Started
THE QA PARTNER
AUTOMATING YOUR
PLAYBOOK
QA: THE DEFINITIVE GUIDE 16