You are here


Approval Testing: Superpower Your Automation Feedback

How do we ensure the feedback we are getting from our automated tests is targeted and informative? What information are we throwing away in an attempt to check for specific data? How we design assertions and the tools we use to determine the value of our automated tests.

However, most of the time we neglect our assertions, relying on libraries such as Hamcrest, Chai and Assert. Enter approval testing, a different approach to assertions that can improve tests feedback loops. By increasing the scope of what is being asserted without sacrificing speed, reliability and maintenance, approval testing can help superpower your automated tests feedback.

In this practical workshop, attendees will learn the how and why of approval testing techniques by creating automated tests using approval testing against different application layers.

Key takeaways:

By the end of this workshop students will be able to: Discuss the goals of automated regression testing and feedback loops Describe how approval testing works and differs from traditional asserting Construct approval tests for different interfaces ranging from API to Visual Construct methods to ignore specific data during approval testing

Integrating Automation Tests into Our Ci Pipeline, Our Cloud Platform and Our Collaboration Service

Automated Tests, while they require additional effort to create, 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 tests on the summit of the pyramid. In this presentation we will look mainly at how to integrate all our  Automated tests into Our CI Pipeline, run them on a Cloud platform and notify results with our Communications Channel. Participants will learn how to pull all of these levels of testing together and ensure they actually get run earlier and more often. They will have a high level overview of and a deep dive into most popular tools and platforms, including unit test frameworks, mocking framework, UI Testing, CI servers, Collaboration Service (Slack) and Cloud Testing with Sauce Labs.

For the sake of demonstration, I will use Medic Mobile, an open source application that combines SMS messaging, data collection, and analytics for health workers and health systems in hard-to-reach areas. All the code, including production project code under test will be available on Github for interested attendees to fork and use as they see fit.

Key takeaways:

Attendees will learn how to pull all levels of testing together (unit, integration and UI tests) and ensure they actually get run earlier and more often, using unit test frameworks, mocking framework, UI Testing, open-source CI servers, Collaboration Services and Cloud Testing.

Effective End 2 End Testing with Codeceptjs

There are lots of testing frameworks in JavaScript. Let’s learn the one which makes testing a joy. A tool that makes tests easy to follow and easy to work. CodeceptJS allows you to concentrate on test scenario and not on implementation details. It provides page objects, page fragments out of box.

Key takeaways:

  • How to setup browser tests with CodeceptJS
  • How to debug CodeceptJS tests
  • How to write tests using PageObjects Data management in CodeceptJS
  • How CodeceptJS can be used for mobile testing



Improving Subjective Testability with Fiddler

Note: There are prerequisites for attending this workshop. Please see the prerequisites section.

Most modern software is built as a communication between a local computer and a server. Web debugging proxy software such as Fiddler allows testers to take an active role in this communication. This workshop will teach participants how to see what information is being exchanged, as well as how to take control over what is being said - in other words, improving Visibility and Controllability that is available to the tester.

Fiddler is a free web debugging proxy, which can be used regardless of what other software you are using. The instructor is not associated with Fiddler or the company that is offering it in any way. Some other alternatives will also be mentioned.


Short introduction to http requests and the role of proxy servers. Several sets of live demos followed by open activity. Participants will be asked to form small groups in order to enable peer to peer learning and interaction. Participants are encouraged to share their own unique contexts, so that we may figure out how they could put what they have learned to use right away.

Key takeaways:

  • Learn to capture traffic between your app and the server.
  • Learn to change the communication that takes place.
  • Hear some of my favourite use cases that helped me supercharge my testing.



A laptop running Windows or Mac (Fiddler might run on Linux, but no guarantees). Alternatively, a bring a friend or new acquaintance with a laptop. A few short code snippets will be involved.

Subscribe to Omega