Effective Software Testing in Modern Software Development
What is modern software development? Pretty much anything we do now.
And testing has to have the flexibility to cope with that.
In this talk I consider: Agile, Dev Ops, CI, Continous Delivery, etc. But I ignore buzzwords and lump it all together as Modern Software Development and explain the thought processes and approaches that allow testing to morph as required to thrive as part of an integrated Software Development System.
- Tuesday 19.9.2017 (9:00 - 17:00, registration and morning coffee at 8:30)
- Tutorial Details
- Wednesday 20.9.2017 (9:00 - 17:00, registration and morning coffee at 8:30)
- Conference Program
- Keynote 09:15 - 10:15
The Tutorial Blurb
Web based applications often offer more than a GUI to interact with, very often they have an API layer. This layer clearly needs testing and we can use it to support our other testing efforts - GUI, performance, etc. In this tutorial we will work with several applications to learn the basics of automating and testing REST APIs.
You will learn:
- Basics of REST Web Services
- What tools we can use to interact with REST APIs
- How we can use REST APIs in our testing
- How to test a REST API
- Multiple ways to automate REST Web Service APIs
- Abstraction layers for automating REST APIs
You will gain hands on experience with:
- Exploratory Testing REST APIs
- Using different tools to interact with a REST API
- Automating a REST API
This tutorial uses a mix of presentation, demos, discussion and hands on exercises to create an immersive and fast paced interactive day of learning.
Requirements to attend workshop:
- You will need a laptop to take part
- Wifi connection
- You will need the ability to install software on to your laptop
- During the workshop we will use REST Client and an HTTP Proxy
- REST Client Postman (https://www.getpostman.com/)
- An HTTP Proxy: Fiddler or Charles or ZAP Proxy
- if you want to be up and running quickly then install Postman, and one of the proxy tools prior to the workshop
- Some sample applications are written in Java 1.8 these will only work if you have Java 1.8 (or higher) installed (run
- There is an optional hands on coding section where examples will be provided using Java
- if you would like to extend the automated code samples then install Java JDK version 1.8 or above and a Java IDE (recommended IntelliJ)
- you do not need to be able to code to take part in the workshop
The Keynote Blurb
Title: Automating Tactically and Strategically
Do you automate tactically or strategically? Both approaches are useful and can help our test projects in different ways. Thinking about automating tactically allows us to move fast, target immediate needs, support testing and gain benefits very quickly - often with minimal cost and justification. Automating strategically allows us to gain the backing for longer periods of work and justify the cost and ongoing maintenance. If we believe we are automating strategically but we actually automate tactically then we may create problems for ourselves: we may not have the time for maintenance and refactoring, we may not use our ‘automation’ to support our ‘manual testing’. Other dangers and problems exist, which we will learn about in this keynote when we will compare the two approaches, learn the dangers and the benefits, and learn how to combine tactical and strategic approaches to better our testing efforts.