Automated App Testing: A pain or Cure?
You want to ship an app you can be proud of, without bugs or defects. You want it delivered quickly. However, the testing process is looked at as simply a ‘necessary evil’ and there is never enough time in the day to test everything manually. Automated testing claims to be the answer but you’ve found it ‘hard to set up’ and ‘difficult to maintain’. Is going back to pure manual testing the answer? Hiring more resources? What is the right balance between manual and automated testing? Can I make automated testing easier? What are some of the current testing trends? From my experience working with many small and large companies, I hope to share my observations, and answer some of these questions.
http://pgday.phonegap.com/us2016/speaker/martinposchenrieder
3. ~80% of apps are only used
once and then deleted.
http://www.digitaltrends.com/mobile/16-percent-of-mobile-userstry-out-a-buggy-app-more-than-twice/
mposchenrieder
5. CSS Rendering issues
Pixel density difference
Elements are cut off
Crashes
Loading time on specific devices
5 common testing
challenges for hybrid apps:
6. We want to build the best
apps in the shortest time.
Goal:
mposchenrieder
7. Development Testing Develop. T.
Release
“We don’t have enough time for testing”
“Let’s check what we can automate”
mposchenrieder
9. Development Testing Develop. T.
Release
TestingDevelopment
“Our tests are breaking”
“Automation doesn’t fit us because we are shipping so fast”
T
Automation beginners often only use automation at the end of the release.
This results in several consequences…
10. “We can’t keep up with maintaining our tests”
“We can’t rely on our tests”
“We still have heavy manual testing”
mposchenrieder
11. I save some hours, but I have to
deal with:
Learning new skills
Maintenance
Flakiness
Coordination
Coverage
mposchenrieder
17. Development and test have to
work together.
2
https://s-media-cache-ak0.pinimg.com/736x/aa/58/b1/aa58b18449869811a413b37d73b79b89.jpg
18. Build a robust, solid test suite.
3
Set up a good framework that is easy to maintain.
For example: Page Object Framework
mposchenrieder
19. Have rather less, but
stable tests.
4
“Our tests are flaky”
mposchenrieder
20. Aim for Continuous Integration
on a Pull Request Level.
5
Daily runs are okay, but are not as effective.
mposchenrieder
21. Have a test case that simply goes through
the whole app and takes screenshots1
Your first steps into
automation….
mposchenrieder
22.
23. Run a ‘munkey test’ (link)2
Build a simple smoke test3
Your first steps into
automation….
Have a test case that simply goes through
the whole app and takes screenshots1