Joseph Ferrara, The Climate Corporation
UI Tests that only execute steps and return a Pass or a Fail are not very useful. While this kind of automation gets you much further along in your automation, it requires close examination of the test code and its logs to figure out what went wrong. One of the best practices you will learn is that the test should communicate what it is doing plus provide a precise statement of what went wrong. Other best practices having to do with test results communication is reporting results to a test case management system and communicating to stakeholders on the status of test runs. Aspects of test reporting such as the different audiences that care about test report data will be covered. Audiences range from the individual engineer to senior management.
In this talk, I will use the code from an iOS UI Tests project to illustrate fine-grained ways that tests communicate progress and status such as ways to use assertions, screenshots and other test artifacts to your advantage. I will also show a component written in Swift that our team developed which writes test results to a test case management system, Testrail. The best practices and experiences shared are applicable to software platforms besides iOS.
Key takeaways include:
- Ways to make your test code more effectively communicate status
- Pros and Cons of different ways to report results
- Learn from a design and code example for sending test results to a Test Case Management system
- Best Practices learned from an iOS UI Test project