Keynote: Developer – Tester Collaboration
In my experience, when successful software is made, it comes out of a collaboration. Teamwork. Individual skill and expertise are needed of course, but also the ability to work together. In this talk you’ll learn specifically about how Developers and Testers can work more effectively together.
The latest research into DevOps emphasizes the need for a collaborative culture that includes testing, and has some concrete advice about what’s needed. I’ve spent a lot of time doing Mob or Ensemble Programming recently, and I’ll talk about how testers can get involved in that. I’ll also take the opportunity to demonstrate what Approval Testing is and how this technique can promote a collaborative culture.
Tutorial: Approval Testing for automated testing components, services and APIs
This course is for testers who already know the basics of test automation and want to learn some more advanced testing techniques. Approval testing is an approach to automated testing where you replace traditional ‘assert’ statements with a diff against a previously approved result.
Part 1: introduction
We will go through the characteristics of Approval testing, looking at examples using the ‘Approvals’ tool. We will work in small groups using Java to solve several exercises. (Note – both the Approvals framework and exercises are also available for a large number of other programming languages.)
Part 2: testing components and APIs
Microservices is a popular architectural choice today, and it opens up new possibilities for automated testing. We will work on a hands-on example using Approval testing to test one microservice via its API. We will also look at several other example programs and how you could test them using this technique.
For this part we will use the tool ‘TextTest’. The tests will be written using a Domain Specific Language so the underlying implementation language of the system is not important for participants. The ’step definition’ or ’glue’ code will be written in Python. Those not familiar with that language will get plenty of assistance. (Note – TextTest can generally be used to test programs with ‘glue’ code written in any programming language.)