While they require additional effort to create, Automated Tests have a lot of advantages. Simply put, defects cost more to fix the longer they hang around for or the further they are discovered down the application life cycle. So the earlier we can get feedback about defects, the better, which results in making users happy, reducing costs, avoiding fines or penalties (for regulated environments), allowing us to be more agile in a highly-evolving market, and developing happier and more productive teams.
We can classify tests into three general areas and map them onto the popular testing pyramid: unit tests at the bottom, integration tests in the middle and user interface (UI) tests on the summit of the pyramid. In this presentation, I will focus on UI functional tests. The issue we have is that at the current moment, available tools are generally very fragile, making tests really hard to maintain and most importantly to integrate into our Continuous Integration (CI) pipeline. For when these are part of the CI, they need to be very reliable to avoid developers spending lots of their time troubleshooting a ‘false fail’ when UI tests are flaky.
Participants will learn how to make these tests more reliable if they are to be integrated in the pipeline to ensure they actually get run earlier and more often. We will look mainly at how to integrate all our UI functional tests into our CI Pipeline, run them on a Cloud platform and notify results with our Communications Channel. They will have a high level overview of and a deep dive into most popular tools and platforms, including UI test paradigms (record and playback versus coded), UI Testing frameworks, open-source CI servers , Collaboration Service and Cloud Testing. I will demonstrate ways to make sure our tests are maintainable and easy to read by using a framework built around the Page Object Pattern.