Loading…
Workshop (4h) [clear filter]
Thursday, June 8
 

10:30 EEST

Dirty Tests and How To Clean Them
We write tests and code for other people. Tests are code too, and both types should be clean.
As a clean code fanatic, I see it as a personal mission to go around preaching how powerful clean code is. But unfortunately, it seems that test code is not considered "real code", and therefore is not considered "dirty".

In this workshop, we'll discuss concrete examples of anti-patterns in test code, and how to clean them up. We'll then refactor prepared examples into proper code, based on clean code principles, in different cases - like APIs to end-to-end. We'll deal with the following:

- Removing duplications
- Naming effectively
- Using fixtures for common code
- Apply the page-object model and builder patterns
- Use literals and constant correctly
- Abstract low-level and framework code

"Clean code looks like it was written by someone who cares.", said Michael Feathers. Test code may even be more important to write cleanly for that reason.

Key takeaways:
​- What makes code clean
- How do clean code principles apply to tests
- Anti-pattern in tests and how to fix them
- Refactoring techniques

Speakers
avatar for Gil Zilberfeld

Gil Zilberfeld

CTO, TestinGil
Gil Zilberfeld has been in software since childhood, writing BASIC programs on his trusty Sinclair ZX81. With more than 25 years of developing commercial software, he has vast experience in software methodology and practices. From automated testing to exploratory testing, design practices... Read More →


Thursday June 8, 2023 10:30 - 15:30 EEST
Stalker

10:30 EEST

Under Pressure! Performance Testing APIs with K6
Ping! Your phone has an alert - an escalation from support. Website performance has deteriorated, sessions are dropping, and it is late in the evening. So open your laptop and grab a drink. It will be a long night of performance debugging and issue fixing.

I don't want you to have this experience.

Performance testing, in my experience, is a skill many testers don't often get to explore and develop. The result? Reactive support escalations at inconvenient times filled with stress. But we can change that. Join me in this hands-on workshop based on my experience testing performance for clients with load-intensive applications. We will dive deep into performance testing using K6 and JavaScript. You will learn:

* The business case of why performance is so vital to organisations. The cost in user retention and revenue.
* Models such as RAIL and the Golden Signals, these models help you better understand performance requirements.
* Write K6 tests using JavaScript against APIs inspired by issues discovered with my clients.
* Better interpret the results of performance tests to have real actionable insights you can share with your team.

By our working together you will gain confidence in performance testing APIs. A confidence which will help you discover performance issues early. Being proactive addressing them before production incidents occur. More importantly protecting your evening and avoiding that support call.

Key takeaways:
​1. Understand the business and technical fundamentals which underpin performance testing.
2. Learn how to write K6 performance tests for APIs using JavaScript.
3. Interpret performance test results accurately to identify important performance issues.​​​

Prerequisites for attending the workshop:
* Laptop
* Docker - The latest version should work. But if not, try Docker version 20.10.17, build 100c701.
* Text Editor or IDE. Such as VSCode
* Basic familiarity with JavaScript
* Windows Users A bash-style terminal. Such as https://cmder.app/

Speakers
avatar for Thomas Shipley

Thomas Shipley

Head of Test, GlobalLogic
Thomas Shipley is a QA currently working as a Head of QA at GlobalLogic. He works with clients and colleagues to help them improve their approach to delivering quality throughout the development lifecycle. Experienced across many different industries covering retail, gaming and financial... Read More →


Thursday June 8, 2023 10:30 - 15:30 EEST
Terrassi
 
Friday, June 9
 

10:30 EEST

Foundations of an Automation Pipeline - Building a consistent, fast feedback loop for your software
Creating a sample automated test, containerising it for repeatability, making a pipeline in Jenkins, retrieving test reports from the build and creating a dashboard from the test results.

For advanced learners, I can cover parameterisation, build triggers and integrating the testing pipeline within existing deployment pipelines.

Set up will include a list of pre-requisite tools that are required for the workshop, tools will be available in both Windows and Unix systems. I will be performing the follow-along demonstration on a Mac but also give guidance for Windows.

The creation of the test will be a basic API test in Jest, the aim here is to keep it simple as we're looking to provide the foundational breadth rather than a deep dive in to test writing.

I will discuss the value of containerisation for creating a consistent test environment before creating a container for our test to execute.

I will then demonstrate the creation of a CI pipeline, running the pipeline at various intervals to show how the steps are built up, I will be using the Jenkins groovy script here to create our pipeline scripts.

This will then lead on to the publication of results, retrieving them and creating a simple dashboard within Jenkins which can be used as an easily visible point of entry to our development teams.

Step by step worksheets will be provided, explaining what each part does.

I will also provide a sample demo repository with commits at certain milestones through the demo, so if someone falls too far behind they can keep pace, or if someone already knows the earlier steps, they can look-ahead and start to experiment with some more advanced functionality.

Key takeaways:
  • How to lay out the foundations of a testing project within a CI/CD environment to ensure we have the basic breadth covered.
  • The value of regular feedback cycles to the wider development team.
  • The value of a T-Shaped skills profile
Pre-requisites for attending the workshop:

Bring your laptop with following tools/software installed:
  • Node JS
  • Jenkins
  • Docker Desktop
Although these can be done during the session, it is recommended that you do this ahead of time to ensure maximum time on the workshop tasks.

Note: This workshop has lunch-break in-between

Speakers
avatar for Luke Masterman

Luke Masterman

Test Architect, Global Logic UK&I
I have worked within the realms of test automation for 10 years, covering a large scope of different projects in the gambling, media, banking, retail and energy sectors.I currently work as a Test Architect consultant, helping large companies build out their automated QA strategies.I've... Read More →



Friday June 9, 2023 10:30 - 15:30 EEST
Terrassi

10:30 EEST

Selenium Grid, Docker, Selenoid and Jenkins – How To Build UI Web Tests Infrastructure From Scratch
Note: There is a prerequisite for attending this workshop - please see below.

As you probably know, UI Web Tests are a necessary stage in the development process of every web application. To be effective, they should be fast and performed on different environments and browsers. At a time when development and operations work closely together, the test infrastructure should be scalable and easily maintainable.
During the workshops I will present how these conditions could be met in practice by using such popular set of tools as Selenium Grid, Docker, Selenoid and Jenkins

Agenda:

- Browser testing challenges
- Jenkins as a CI/CD server tool
- Docker - Introduction
- Jenkins - Docker image installation
- Jenkins Pipeline - Job configuration and test execution
- Jenkins - Architecture - master -> node
- Tests parallelization for different browsers by using TestNG and Maven Surefire Plugin
- Test infrastructure setup based on Selenium Grid and automated tests execution via Jenkins pipeline
- Test infrastructure setup based on Selenoid and automated tests execution via Jenkins pipeline

Key takeaways:
- Learn how to create effective UI Tests infrastructure from scratch
- Get to know on how to set up CI server and implement build pipelines to execute UI tests.
- Learn the most important best practices on setting up UI Web Tests infrastructure
- Get to know on how to use a Selenoid a fast and reliable solution for running browsers in Docker containers

Prerequisites before attending the workshop:
Please bring your laptop with completed 'Tools' section setup as listed here: https://github.com/tklepacki/nordic-testing-days 
If you'll have any problems with in-advance setup, please write to t.klepacki@wp.pl

Speakers
avatar for Tomasz Klepacki

Tomasz Klepacki

Test Automation Lead, JIT Team
I am a Test Automation Lead/Engineer with over 10 years of experience in designing, developing and maintaining automated tests for web applications, mobile applications and performance tests. I have gained my testing experience by executing number of projects in the insurance, maritime... Read More →


Friday June 9, 2023 10:30 - 15:30 EEST
Stalker
 
Filter sessions
Apply filters to sessions.