Workshop Test Automation & Code Quality

Workshop Test Automation and Code Quality
- Are you a company that wants to release faster and in a better quality?
- Are you managing a software development effort and your team does not have the skills to automate your testing?
- Are you a developer who would like to improve the quality of his own work?
- Are you tired of fixing the bugs in the code of your colleagues?
- Does your test automation efforts do not bring the expected benefits?
- Do you want to increase your market value and employability as an allround software developer?

Then this workshop is for you!

So what is test automation?

In general, we all understand what automation means - the use of some technology to complete a task that was done manually before. But when we talk about automation in terms of testing, there are two types of automation:

1) Automated Tests
2) Test Automation

While it might just seem like two different ways to say the same thing, these terms actually have very different meanings.

Automated tests are tests that can be run automated, often developed in a programming language. In this case, we talk about the individual test cases, either unit-tests, integration/service, performance tests, GUI tests or acceptance tests.

Test automation is a broader concept and includes automated tests. From our perspective, it should be about the full automation of test cycles from check-in up-to deployment. Also called continuous testing.

This workshop will cover both.

You will learn about

- Automated GUI Testing
- Automated API Testing
- Specification by example techniques (Model Testing)
- Automated Performance Testing
- Unit Testing
- Test Driven Development
- Automated Regression Testing
- Manual Testing / Exploratory Testing
- Continuous Integration & Deployment
- Pair Programming and Code Reviews
- Complexity Analysis
- Handling Legacy Code
- Linting and static program analysis

Why test automation?

There are many benefits to start implementing test automation for your product or project. To name a few:

Saves time and money. Test automation can reduce the time to run repetitive tests from days to hours. A time saving that translates directly into cost savings. It is of no surprise that, while the initial investment may be on the higher side, automated testing saves companies a lot in the long run. It contributes to a higher quality of work, thereby decreasing the necessity for fixing glitches after release and reduces project costs.

Faster time to market. Test automation greatly helps reduce the time-to-market of an application by allowing continuous delivery.

Automation does what manual testing cannot. Automated testing can simulate tens, hundreds or thousands of virtual users interacting with a network, devices, software and web applications.

Regression testing efforts become larger with each new release. So without automation, you will be just testing and not developing anymore, or you will release buggy code.

Onboarding of new developers without unit testing is a pain in the ass. Because they do not understand the code base yet everything change is a risk for problems somewhere else in the code. Without unit testing, you will discover this far too late in the development cycle. With unit tests, your new developer will know it directly after checking in the code (and your existing developers as well).

Flexibility. Because tests are implementation agnostic, refactoring in a tested code base will be a walk in the park. Developers will be able to improve software or exchange entire components without breaking existing functionality or introducing new bugs.

For more benefits of test automation and automated test see our article “12 Benefits of test automation”.

Who this workshop benefits

- Software developers
- Financial modelers/actuaries
- Members of a DevOps team
- Project managers that want to understand how software development processes work

Workshop format

This is a workshop, not a course, and not a PowerPoint battle. Much of the content will be driven by the participants. GitLab, an IDE, together with the whiteboard will be our best friends. You will share experiences with other participants and learn how other organizations or teams have solved your problems. 

Duration & Agenda

The workshop will be two full days.

Day 1

8:30 - 9:00 Registration + coffee

9:00 - 9:30 Introduction of trainers and participants

9:30 - 10:15 Why test automation and continuous delivery

10:15 - 10:45 Coffee

10:45 - 12:00 Unit testing & TDD. linting

12:00 - 13:00 Lunch

13:00 - 15:00 Integration testing, complexity analysis, including legacy code (technical) 

15:00 - 15:30 Coffee

15:30 - 17:00 Specification by example (business)

Day 2

9:00 - 10:15 API testing (testing of external web service)

10:15 - 10:45 Coffee

10:45 - 12:00 Load & performance testing

12:00 - 13:00 Lunch

13:00 - 15:00 GUI testing with Selenium

15:00 - 15:30 Coffee

15:30 - 17:00 Regression testing & Wrapup

Price

CHF 1990 per participant excluding VAT.

Location

iET SA
Rautistrasse 58
CH-8048 Zürich 

Dates

The next workshops in 2018 will be:

- Thursday May 24 and Friday May 25
- Thursday July 5 and Friday July 6

Just sign up below to join!

Trainers

Falko Schmidt & Henrico Dolfing. We have worked together on a number of software development projects for clients like PwC and Helsana. Falko in the role of the lead developer or test automation specialist, Henrico as project coach or project recovery manager. We both see test automation as an essential part of modern software development and decided to design this workshop to spread the word and teach what we have learned over the years.

Falko Schmidt

I'm a full-stack software engineer with a current focus on web applications and the front end in particular. A passion for automation is the reason I chose this profession. For the last ten years, I've experienced how test-driven development delivers highly stable and maintainable software. While I had to witness failure due to the lack thereof, I mostly had the pleasure to work in agile teams that embraced the idea of test automation principles.


Henrico Dolfing

I have worked in many different roles in software development projects the last 15 years, from which almost a decade as an independent project recovery consultant. My company, Data Solutions, advises companies in the financial sector on large IT and financial modeling projects. My expertise in software development and experience with agile processes and techniques allow me to rescue projects that are in critical phases on the verge of failure and lead them back to success.


Sign up now for our workshops.