Workshop: 17th June 2019

 
Gaspar Nagy
 

Writing better BDD scenarios


Gáspár Nagy | BDD | General Level


Track 2 | 09:00-13:00


Introduction


Behavior Driven Development is an agile development technique that improves collaboration between technical and non-technical members of the team, by exploring the problem using examples. These examples then get turned into executable specifications, often called ‘scenarios’. The scenarios should be easy to read by all team members, but writing them expressively is harder than it looks!


Objectives


In this workshop, you will learn how to write expressive BDD scenarios. Gáspár Nagy will start by giving you a very brief introduction to BDD/ATDD, you will discover where the BDD scenarios come from: how to structure the requirements and illustrate them with examples, so that the team has a shared understanding about what the expected behavior is.


You’ll then be introduced to different writing styles by reviewing prepared scenarios, where you’ll will get a chance to write your own scenarios based on examples. Gáspár will use Gherkin, the syntax used by Cucumber and SpecFlow but you won’t need a computer. And, you will leave with a checklist of tips that you can use the next time you sit down to write a scenario.


From this half-day workshop, you’ll learn how to:

  • Identify common Gherkin pitfalls
  • Write compact, readable living documentation
  • Enumerate 5 tips/hints for writing good scenarios
  • Explain the difference between essential and incidental details
  • Describe how precise, concrete examples illustrate concise, abstract rules/requirements/acceptance criteria

Target Audience


This workshop is oriented towards Test Automation Engineers, QAs, Developers and other professionals interested in applying BDD for testing automation


Prerequisites


Considered useful, but not necessary, to have a basic knowledge of Gherkin syntax and an understanding of the goal of living documentation within ATDD/BDD approaches. No technical knowledge of Cucumber/Specflow is required.


 
 
Joost van Wollingen & Ivo de Bruijin
 

Docker for testers


Joost van Wollingen & Ivo de Bruijn | Testing & Tools | General Level


Track 3 | 09:00-13:00


Introduction


Docker is an enormously powerful and popular tool, which is quickly being adopted by development and operations. However, it is also highly usable for testers, enabling isolation, independence and shorter feedback loops. In this workshop with Joost van Wollingen & Ivo de Bruijn, you will become familiar with the basic concepts of Docker and how to use Docker to create isolated test environments.


The workshop revolves around several assignments concerning a webserver running in a Docker container, which Joost and Ivo will extend with data from a dockerized database and against which they will run Selenium tests using public Docker images for a Selenium grid. Each exercise builds on the next, familiarizing participants with the basic commands and concepts of working with Docker containers. This stimulates participants to refrain from simply copy/pasting commands, the exercises are intended to be challenging and promote experimentation.


Objectives


During the workshop, Joost and Ivo will have short presentations on the theory, with which participants can put that to practice straight away with the exercises. Participants can work at their own pace, Joost and Ivo will be walking around to help with questions and technical problems.


This workshop includes the following hands-on exercises:


  • Hello World!
  • Running Docker containers
  • Managing containers
  • Building images
  • Checking whether the webpage is displayed correctly

Main statement Docker is quickly becoming more and more popular, learn how to use it for testing!


Outcomes


After having participated in this workshop, you’ll gain:


  • An excellent start to familiarise yourself with the basics of Docker
  • A great mix of theory, demo's and hands-on exercises, to really experience working with Docker
  • An understanding on how you can use Docker in the test process to speed up feedback cycles and create environments

Target Audience


This workshop is oriented towards professionals with no experience in using Docker, or professionals that want to learn more about how to employ Docker for testing.


Requisites


To participate in this workshop a laptop with Docker installed is necessary.


 
 
Iris Pinkster
 

Test Management – Pick your battles


Iris Pinkster | Test Management | General Level


Track 4 | 09:00-13:00


Introduction


Test Managers face battles. The best way to win these battles is to start with a solid strategy and compliant tactics. A test strategy is one of the crucial (power) tools of a Test Manager.


Objectives


In this workshop, Iris Pinkster will start with presenting some key elements a Test Manager must be aware of regarding ensuring a transparent and controlled test project. The second part of the workshop will detail battles that a testing team or a software team might face:


  • Project management battles: How to organise tests when time for tests is reduced or limited?
  • Business battles: How to show the relevancy of our tests and our bugs? How to choose the best test data?
  • Budget battles: What is the cost of testing?
  • Testing battles: How to start testing when design or requirements are not finalized?
  • Trend battles: What is the impact of Agile and Continuous improvement on testing and test management?

Outcomes


From this workshop, you’ll learn some useful weapons that a Test Manager can use to tackle the aforementioned challenges. Iris will take you through a set of exercises that will help clarify the answers to the above questions. This implies that delegates will get hands-on advice on all relevant topics that influence the success of testing. Iris will accompany the subjects presented with real life experiences and exercises, that you can put into practice during the workshop.


Target Audience


This workshop is of special interest for Test Managers from beginning to intermediate levels who are facing challenges with respect to testing.


 
 
Andrey Pohilko
 

Practical Performance Testing for DevOps


Andrey Pohilko | Performance Testing | Advanced Level


Track 1 | 14:15-18:00


Introduction


Now-a-days it isn't enough for developers to develop and leave testing to the QA team. Developers are also expected to continuously test their code, to speed up the development cycle and ensure faster releases. Leaving testing to the end of the development cycle can result in costly bug fixes, so development teams need to shift their testing left: testing throughout the development cycle.


Supported by the movement towards Continuous Testing, developers and QA teams are also shifting away from legacy testing tools with costly licenses fees, and moring towards Open Source Testing tools, including JMeter, Taurus and Selenium. Open Source Testing is now even being embraced by Enterprise Companies, who traditionally moved more slowly, and relied on specialised testing tools.


Objectives


In Andrey Pohilko’s half-day practical workshop on performance testing, who’ll learn how to:


  • Not lose time by load testing unnecessary cases
  • Test efficiently by focusing on practical outcomes
  • Understand capacity measurement vs response time measurement
  • The role of tools: load generating tools and reporting tools, of resource monitoring and APMs
  • Understand and analyze load test reports
  • Connect load testing with functional testing and how to reuse test scripts
  • Carry out Open Source based load testing for enterprises, included secure private cloud testing and report sharing

Outcomes


By the end of the workshop, attendees will be able to performance test their own code and run their own open-source based performance tests in CI/CD.


 
 
John Smart
 

BDD in Action: Advanced BDD Test Automation


John Smart | BDD + Test Automation | Intermediate Level


Track 2 | 14:15-16:15


Introduction


In this workshop with John Smart, author of BDD in Action, you will be introduced to the principles and practices of applying software engineering design practices to test automation, looking at concepts such as the Single Responsibility Principle, Separation of Concerns, and effective layering.


You will put these principles into practice yourself on a real web site, using action classes and lean page objects to write clean, readable, well-structured test automation code.


You will then discover the powerful Screenplay pattern, and see how it can make your test suites even more flexible and robust.


Objectives


In this very hands-on and practical session, John will show you powerful and applicable techniques to:


  • Write more automated tests faster
  • Write higher quality automated tests, making them faster, more reliable and easier to maintain
  • Increase confidence in your automated tests, and
  • Reduce the cost of maintaining your automated test suites

Outcomes


From this workshop, you will learn how to use advanced development skills to write more robust and more maintainable test and to write faster and more stable web tests with advanced WebDriver and Serenity BDD.


Target Audience


The workshop is designed to introduce Testers who are comfortable with basic Java and Selenium to more advanced and more sustainable test automation practices. You will use an existing test suite running against a real-world web site, where you will be able to clone from Github, before the workshop.


The workshop will work for any level, mainly for general and intermediate, but with extension activities for more advanced participants.


 
 
Kristoffer Nordström
 

Python for Testers


Kristoffer Nordström | API Testing | General Level


Track 3 | 14:15-18:00


Introduction


Odds are that you have REST API:s in your organisation, connection different services, front-ends and back-ends, and it's a fair chance you have to test them as well.


REST API:s are very easy to work with and combined with the simplicity and strength of Python you can very quickly get started writing your own automated checks.


There are commercial and free tools out there that allow you to construct your own REST API calls, but the drawback of using any tool is that inherently it will limit you in its application, and some of them have an added license cost to boot.


In this case, it’s easy to write your own test cases using Python where you gain a lot of flexibility and power via the standard library and the Python ecosystem in doing so.


Objectives


Kristoffer Nordström will be using Python 3, PyTest, and Requests in this workshop for building automated test cases, generating test data, and also to achieve a clean and predictable system under test, cleaning up and resetting databases and other resources.


Outcomes


By participating in this workshop, you’ll learn how to consume external REST API:s to generate your own test data and see how easy and fun it is to get started with writing your own automated tests in Python for RESTful API:s. You will walk away with a better understanding of:


  • Python 3
  • PyTest
  • Sending web requests using Python
  • REST API:s

Target Audience


This workshop is aimed for testers who have done some scripting or programming in the past, but is not limited to it. If you are a new tester that has never programmed before you are very welcome, the pace is efficient, but we do build from the bottom up, making sure you learn everything necessary to follow the workshop. Any prior Linux/Unix experience will help you get a leg up as well.


Requisites


Attendees are expected to bring a laptop with Virtualbox, where a virtual machine will be made available to install prior to workshop.


 
 
Rik Marselis
 

Testing Intelligent Machines


Rik Marselis | Testing AI | General Level


Track 4 | 14:15-18:00


Introduction


Artificial Intelligence, Machine Learning, Robotics… Everybody seems to be talking about these topics. But what is their real impact? Especially on testing? And how do you investigate the quality of these intelligent machines? Smart software is everywhere: in Artificial Intelligence, in Robotics… and it’s changing the way we work, manufacture, communicate, entertain ourselves, manage our health, money, fitness, and more.


Smart software is embedded in so much of what we do and use in today’s digital world.


Rik Marselis believes that this presents us with a real problem in terms of quality. Why? Because the actions and responses of intelligent machines will differ over time and thus are less predictable than traditional IT-systems. And also, because the manually intensive way we’ve developed, tested and delivered software up until now, is no longer enough to meet the escalating demand for new and innovative applications, in every walk of life.


The testing profession will be impacted in two ways:


  • Testing OF intelligent machines: determine if we can release with confidence
  • Testing WITH intelligent machines: use new technology to enhance testing

Objectives


Have you ever tested an intelligent machine before? In this workshop you will experience through discussion, quizzes and hands-on testing what is new about testing artificial intelligence and robotics. You will experience what is different when you test a physical robot. And you’ll also apply your testing skills on an intelligent agent, for example a chatbot.


In today's digital age, exploration is more important than ever and needs a structured foundation. Therefore, we’ll use paired, timeboxed, session-based exploratory testing with charters, logs and debriefing.


Outcomes


In this workshop with Rik, you'll find out why testing intelligent machines is different and have fun in the process! You also will gain knowledge on testing intelligent machines, AI, Machine Learning, Robotics and get practical experience with testing chatbots and robots..


Target audience


This workshop is geared towards professionals with testing skills and a keen interest in testing AI, Robotics, Machine Learning, etc.


 
 
Organised By
nexo QA