You are here

Workshops

Automated Tests for Android Mobile with Java + Appium

Note: There are prerequisites for attending this workshop, which will take up to two hours of setup time. Please see prerequisites section.

Mobile apps are getting more popular by the minute. With that there has been a raise in the automated testing on Mobile. In this workshop we will go over the basic flow of writing automated tests for Android Mobile using Java + Appium.

Activities will include exploring the app for elements, writing tests against the app and running written tests.

Key takeaways:

  • This workshop will show how Mobile automation works and how it could be implemented in your team.
  • You get a working development setup on your machine where next automated tests could be written.

 

Prerequisites:

The workshop will assume a computer with the following development environment setup: https://github.com/valdopurde/NTD2018-appium/blob/master/README.md

Make sure to do it in advance, as it might take up to two hours!

Tinkering with Arduinos and Python

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

Do you think Arduinos seem pretty nifty? Ever wondered what they are capable of if you throw some Python into the mix? This workshop is a fun hands-on tinkering session where you will learn how to combine python code with Arduinos! Control motors and power switches from your GUI buttons, or get your automated sensor readings on a dashboard. Or create an API. Code templates to expand and modify, as well as all necessary hardware will be provided (but at least 1 in 3 should bring a laptop).

Key takeaways:

  • Getting up and running with the whole chain from sensors&switches to GUI and API
  • Several examples of practical applications which you are likely to come across
  • Code templates to easily get started with several types of solutions

 

Prerequisites:

  • Attendee will have to bring a laptop

Effective End 2 End Testing with CodeceptJS

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

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

 

Requirements:

 

End to End Tests with Protractor

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

Most people will have heard that Protractor is an end-to-end test framework for AngularJS applications. But how does it differ when trying to test against Angular applications? How does using TypeScript change how our page objects should look? How should I setup the project? And where do promises fit into all this?

Join this workshop if you’ve been trying to navigate this landscape and learn how to get up to speed with writing tests with Protractor for Angular applications. The workshop will also cover how to write tests that are expressive, and provide guidance on how to keep them maintainable for the future.

Key takeaways:

  • Project setup for end to end tests with Protractor
  • How to create page objects in TypeScript to make a DSL
  • How to deal with promises
  • Other patterns and ideas for making your tests maintainable for the future

Prerequisites for the workshop

Web Application Security

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

We know that application security is important. We have to protect our customers' data and our employers' data while keeping our systems up and running. But do we have the skills and knowledge to meet that challenge?

During this workshop, we will begin to explore some of the concepts, skills, and techniques of security testing by working with a vulnerable web application. Through practical activities and hands-on learning, we will discover the key security issues that affect web applications today.

Testers will learn skills to identify software vulnerabilities and understand common threats and risks that occur in web-applications. We will also examine some of the tools and utilities that can enhance and extend security testing efforts. Let's look at the essential steps to build and execute your own security testing strategies. Let's examine how learning and mentoring can aid in the development of strategies. You can and should build up your own skills with integrated security testing. This will ensure ongoing relevance of your role in a security context, and the success of your organisations.

Building upon personal experience of integrating security testing into an existing organisation, incorporating DevOps, continuous delivery and integration, this workshop will highlight and discuss the reflections of learning from hackers, recent breaches and the socio-economic, political and technical impact upon software development organisations.

Attendees will take away a set of advice and techniques to incorporate and enable security testing into their day to day work, answering some of the questions that may arise around scope, skills, tools, models and learning.

Key takeaways:

  • Understanding of key security risks, threats and vulnerabilities
  • Learn and practice security testing skills in a safe space
  • Development of the security mindset

 

Prerequisites:

This is a practical workshop, so all attendees will require a laptop, and the ability to install and run the application under test, as well as some open source tools that will be useful during the session.

Please see installation instructions from here: https://nordictestingdays.eu/files/WebApplicationSecurity-prereq.pdf

Pre-installation is highly recommended for a smooth workshop experience.

Prior experience in security testing web applications is not necessary; however, attendees will need to be comfortable testing web applications and using modern web-browsers (i.e. Firefox, Chrome, Safari).

Real-Life Test Maintenance - Anti-Patterns, Refactoring and Reviews

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

Automated tests are code too, and as such, we're obliged to not only make them functionally correct, we need to maintain them. In TDD we're told that refactoring the code is an important step in the process. Refactoring tests is also part of the job.

In this session, we'll go over anti-patterns in automated tests. We'll talk about code smells in tests - things that probably shouldn't keep the way they are. Smells like duplication, inaccurate naming, inaccurate asserts, leaky tests and more. But mostly, we'll refactor them to make them more readable, accurate and understandable for other humans. After all, they are going to stay with us for a long time. Finally, we'll look at how to do proper test review. How to use the time we have, when and how to do it, what to fix as we're reviewing, and let's not forget the human aspect - be nice to each other.

Since we're investing so much in automated tests, we need to make sure that our teammates, not to mention our future selves, can continue using tests with ease. If "Test maintenance" is bringing you down, it's time to get your hands dirty.

Key takeaways:

  • Identify anti-patterns and smells in tests
  • Refactoring patterns to make the tests succinct, readable and maintainable
  • How to do a test review

 

Prerequisites:

A computer with the following software installed:

  • IDE: Eclipse or Intellij IDEA
  • Java: 1.8

Workshop exercises can be found from here.

BDD Test Automation in Java with Cucumber and Serenity BDD

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

Testing has become a team sport, where collaboration is just as important as automation. It is essential to be able to write high quality test automation that is both easy to maintain, easy to understand, and that gives accurate feedback not only to testers, but to the rest of the team as well.

In this workshop, learn how to use Behaviour Driven Development principles to describe acceptance criteria as executable specifications, and then automate them with clean, readable test automation code using Serenity BDD and the Screenplay pattern. The Screenplay Pattern is an innovative approach to writing BDD-style automated acceptance tests that are easier to understand, easier to extend and easier to maintain.

You will learn first-hand how easy it is to understand and extend a test suite built using the Screenplay pattern. And you will see for yourself how Serenity BDD turns the Screenplay tests into clear, living documentation.

Key takeaways:

  • Learn how to turn acceptance criteria into executable specifications with Cucumber
  • Learn how to write high quality, reusable test automation code using Serenity BDD and the Screenplay Pattern
  • Learn how to turn automated tests into living documentation that helps not only testers but also developers, BAs and product owners

 

Prerequisites:

Attendees will have to bring their own laptops and will need a reasonable knowledge of Java coding.

 

Front Line Survival Guide

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

Performance Testing is an important part in today’s test missions. Putting load onto a system until it crashes is nothing new. But in practice, load or stress tests often go short because of time or budget constraints.

Gatling is a new tool to address this shortcoming allowing to efficiently write and maintain performance tests and include their execution into CI/CD pipelines.

In this workshop you will learn the foundations of performance testing, how to create and execute user scenarios and load models with Gatling's DSL. To juice up theoretical basics, you'll be faced with challenging practical exercises.

Key Takeaways:

Participants will learn how to: create performance scripts, define user scenarios load models and learn how to use the Gatling Load Testing framework efficiently.

Prerequisites:

Please see the guide from here: https://simonberner.rocks/2018/05/24/Front-Line-Survival-Guide/

Effective End 2 End Testing with CodeceptJS

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

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

 

Requirements:

 

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.

Format:

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.

 

Prerequisites:

Bring a windows laptop, ideally with Fiddler installed. Fiddler is not guaranteed to work on Macs.

A Crash Course in Low Pressure Test Coaching

Coaching, at its heart, is just a conversation. For most of us it doesn’t feel like “just a conversation” though… but what if it did?

In this workshop we’ll start with an everyday conversation between you and a colleague, slowly turning that into a fully-fledged coaching session. The step is actually a lot smaller than many seem to think giving us plenty of time to also look into helpful coaching tricks and techniques tailored specifically for testing. Finally I’ll show you how you can turn that formal “coach me” request to the low pressure conversation we’re looking for.

Coaching should happen everywhere, without people feeling nervous or pressured. This is my attempt to make that happen!

Key takeaways:

  • Realization: Test coaching doesn’t have to be mysterious, scary or complicated
  • Practical tools you can use in any conversation to turn it into a quick coaching session
  • Actual experience of coaching another tester

Tinkering with Arduinos and Python

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

Do you think Arduinos seem pretty nifty? Ever wondered what they are capable of if you throw some Python into the mix? This workshop is a fun hands-on tinkering session where you will learn how to combine python code with Arduinos! Control motors and power switches from your GUI buttons, or get your automated sensor readings on a dashboard. Or create an API. Code templates to expand and modify, as well as all necessary hardware will be provided (but at least 1 in 3 should bring a laptop).

Key takeaways:

  • Getting up and running with the whole chain from sensors&switches to GUI and API
  • Several examples of practical applications which you are likely to come across
  • Code templates to easily get started with several types of solutions

 

Prerequisites:

Attendee will have to bring a laptop

(Re)Invent Your Test Strategy

Testing is a craft, but it is also and for many foremost a job. A job you do day in day out, evolving with all the rituals every employee develops over time. These rituals, together with all sorts of other external factors (deadlines, pressure, etc.) often means that we don’t have a formalised test strategy or that we are no longer reconsidering the strategies we set out from the start. Having the right strategy in testing is important to stay as efficient and effective as you can be. One of the hardest things you can ask a Tester is: "What is your current Testing Strategy?".

This workshop wants to reignite your strategic fire by placing you in small groups with your fellow testers. Together you will devise a strategy for a real life product which includes methods, tools and planning. However, just like in reality the context will change, and our strategy must change accordingly to aptly react to that change. The workshop will use the TestSphere cards as a support to spark discussions and for bolstering your strategy.

Key takeaways:

  1. You will work as a team to discuss and describe a strategy to tackle a real life case and problem.
  2. You will work out a proposal to convince your manager which can involve tools, methods and planning.
  3. You will use TestSphere as a tool to uncover unknown-unknowns and strengthen your strategy.

 

Subscribe to Workshops