Hands-on Testing Tutorials

Here you will find descriptions of all the tutorials you can expect to encounter at Let’s Test 2017. All sessions are 3 hours long and are hands-on to a significant degree. Come join us for some hands-on testing and please bring a laptop computer in order to take part fully!

Click here to download the program sheet (pdf)

Alan Richardson (UK) – Evil Tester’s Testing Games of Evil Testing
Dan Billing (UK) – Web Application Security – A hands on testing challenge
Duncan Nisbet (UK) – The DJ’s a Tester
Gil Zilberfeld (IL) – The Fastest Crash-Course in BDD Ever
Gil Zilberfeld (IL) – Better Code For Better Tests
Julian Harty (UK) – Next Level Mobile Apps Testing
Joseph Ours (US) – Introduction to Ruby/Cucumber/Watir Test Automation
Katrina Clokie (NZ) – Three Styles of Automation
Aare Nurm (EE) – Pedal to the Metal
Kristjan Uba (EE) – Hard Work in Gaming
Henrik Emilsson (SWE) – Testing from a quality characteristic perspective
Simon Berner (CH) & Gerald Mücke (CH) – Have You Ever Experienced Testing with a Gatling?

Alan Richardson (UK) – Evil Tester’s Testing Games of Evil Testing

What exactly is a “Testing Game”?

Some people would have you believe it is an off the shelf card game involving wiggly lines, or a ‘fun interactive’ conversation game telling stories, or some other ‘game mechanism’ related to logical reasoning. Or perhaps a party game with dice, optional blindfolds, and random plastic paraphernalia, but never knives. Other people might show you a board game or two, perhaps for 1-4 players of ages 12+ or any age but with adult supervision, two or more dice and possibly involving kittens.

And all of those people would be WRONG.

A “Testing Game” is a game designed and programmed by one or more tester for the purposes of playing by testers. Sure you’ll have fun, but it must also frustrate the player (tester) with an outrageous bug at the most inopportune moment, or an unplayable game without a GUI so you have to use tools to play it, or a game with ‘much’ of the game play exposed, but with the high point scoring opportunities open only to those who have been inducted into the secrets of testing… the secrets that will be shown in this session.

If you are brave enough to enter the “Evil Testers’ Arena of Testing Games of Evil Testing” then you shall learn the secrets of:

  • Viewing Source (Yes! The Ultimate Skill!)
  • Browser Developer Tools
  • Debugging JavaScript
  • Using the JavaScript Console
  • Testing REST Services from the Browser
  • REST API Clients
  • Custom Headers
  • PUT, POST, GET Requests
  • The secret of the voodoo drum in the zombie graveyard

And more secrets that will only remain secret until the secrets are revealed in this ‘open to anyone of any skill level so long as they can breathe and have a laptop’ session (feel free to use a tablet if you want to get beaten by everyone else because you’ll be vulnerable without tools, unless you can find equivalent tools for a tablet in which case you might be able to use your skills and knowledge to win, but probably not, becauze laptopz roole!)

You will play:

  • Games of dexterity and skill that run in a browser
  • Games with obvious bugs
  • Games with devious, secret bugs
  • Games with no bugs that we know of but that are just hard to play unless you have the technical skills to do so
  • Games with no bugs that we know of but probably have bugs because they are games implemented as software on a computer that you can test
  • RestMud with new adventure maps and functionality
  • Multi-player RestMud – yes, with other real people, in a virtual dungeon, really doing virtual things

Enter “The Evil Tester’s Arcade of Testing Games of Evil Testing” and:

  • play
  • find bugs
  • fix bugs
  • write code
  • fix code (We have bots that play games badly – you could make them play better)
  • develop new skillz
  • use the skillz you have to earn killz

This is not a workshop about gameification. This is workshop about games for edification and evisceration.

Are you game?

Alan Richardson has more than twenty years of professional IT experience, working as a programmer and at every level of the testing hierarchy from tester through head of testing. Author of the books “Dear Evil Tester”, “Selenium Simplified” and “Java For Testers”. Alan also has created online training courses to help people learn Technical Web Testing and Selenium WebDriver with Java. He works as an independent consultant, helping companies improve their use of automation, agile, and exploratory technical testing. Alan posts his writing and training videos on SeleniumSimplified.com, EvilTester.com, JavaForTesters.com, and CompendiumDev.co.uk.

Dan Billing (UK) – Web Application Security – A hands on testing challenge

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.

Technical requirements:
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. Installation instructions and a tool list will be sent before the workshop, and 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).

Duncan Nisbet (UK) – The DJ’s a Tester

Djs have always been a bit geeky with their hardware and now they have a chance to geek out with hardware and software!
DJ software is getting more & more complex so how do DJs keep on top of what their software can do?

Being a DJ myself, I argue that we DJs need to explore the software in order to see what it is capable of!

In this session, we will use Traktor Pro DJ software from Native Instruments to explore Elizabeth Hendrickson’s idea that “variables are things that you can vary”

How many variables can you see in this software?
How should each variable vary?
What should each variable sound like?

Key Takeaways
Introduction to Exploratory Testing (a system) with DJ software
Importance of oracles in software testing
Ideas for exploring a system (at the system level)
Starting exploring
Stopping exploring
Reporting your exploration findings
Thinking how different tools can help us explore

Duncan Nisbet is a tester who believes development teams & the larger business can be smarter at working together. He coaches Testers, Programmers & Business folk on how they can help each other communicate & collaborate in order to deliver software which will actually help to solve the problem. His efforts are focussed both during the everyday development or in team workshops which he facilitates. Duncan also blogs at www.duncannisbet.co.uk & lurks on Twitter @duncnisbet.

Gil Zilberfeld (IL) – The Fastest Crash-Course in BDD Ever

Have you heard about BDD but was too scared to try it out?

Have you heard about TDD and BDD and ATDD and you’re overwhelmed with DD related acronyms?

When you hear “cucumber” and “gherkin” do you think about making salad?

Well, this workshop is for you.

In this crash course, we’ll learn the basics of BDD, the why and what. We’ll talk and write some stories in Gherkin, automate some tests (and some code) to learn the basics of behavior driven development. Of course, it’s going to be about Star Wars, why do you ask?

Since this is a crash course, it’s going to be a bit of talking, and mostly experimenting. You’ll need a laptop and an IDE (eclipse) with Cucumber (but Visual Studio with SpecFlow also works.) That’s enough to start getting our hands dirty.

By the end of the workshop, you’ll have a grasp on how BDD fits into the development process, how testers can benefit and even guide development using test-first, and how to build a Death Star using BDD language and tests.

If it’s good enough for Darth Vader, it’s good enough for you.

Gil Zilberfeld has been in software since childhood, writing BASIC programs on his trusty Sinclair ZX81. With more than twenty years of developing commercial software, he has vast experience in software methodology and practices.
Gil has been applying agile principles for product development more than a decade. From automated testing to exploratory testing, design practices to team collaboration, scrum to kanban, traditional product management to lean startup – he’s done it all. He is still learning from his successes and failures.

Gil speaks frequently in international conferences about unit testing, TDD, agile practices and product management. He is the author of “Everyday Unit Testing”, blogs at http://www.gilzilberfeld.com, co-organizer of the Agile Practitioners conference, co-founder of FASTEE and in his spare time he shoots zombies, for fun.

Gil Zilberfeld (IL) – Better Code For Better Tests

Do you know how long your tests are expected to live? Today we’re talking about a few years at least. That means that the code that you write may even outlast you in your current position. Isn’t it time we give the tests the respect we give “real” code?

This workshop is intended for the coding tester. We’ll talk about proper name and organization, refactoring, standards and even TDD and pairing aspects. We’ll write, review and dissect tests in order to understand how tests should be written for the long haul.

This is a coding session. It is not about the basics of test automation. You’ll need a laptop with your favorite IDE and test framework. You need some experience in writing tests, because we’re not going to cover that. We will talk about how to write better code as testers.
We already have developers who write crappy code. Let’s help them (nay, show them!) how to write better code.

Gil Zilberfeld has been in software since childhood, writing BASIC programs on his trusty Sinclair ZX81. With more than twenty years of developing commercial software, he has vast experience in software methodology and practices.
Gil has been applying agile principles for product development more than a decade. From automated testing to exploratory testing, design practices to team collaboration, scrum to kanban, traditional product management to lean startup – he’s done it all. He is still learning from his successes and failures.

Gil speaks frequently in international conferences about unit testing, TDD, agile practices and product management. He is the author of “Everyday Unit Testing”, blogs at http://www.gilzilberfeld.com, co-organizer of the Agile Practitioners conference, co-founder of FASTEE and in his spare time he shoots zombies, for fun.

Julian Harty (UK) – Next Level Mobile Apps Testing

Testing of mobile apps is easy to do poorly, poking the GUI, installing an app on a couple of devices and declaring your results. However, we don’t need to be constrained by mediocrity, instead let’s learn about the foundations of how mobile platforms and development technologies are used to create apps and how these are then interpreted by the devices the apps are installed on so that we know the sorts of bugs and problems that affect many mobile apps i.e. testing techniques that may be generally applicable to most apps. We’ll also investigate the capabilities and tools that are available to developers and those who support mobile apps to harness these tools and the data they provide to refine and improve our testing.

In addition to general mobile testing techniques we’ll investigate ways to help decide what to test next and what might survive in the morass of “won’t be tested”. As we learn more about specific aspects of an app, we can further refine the testing and use various analytics and research to improve our testing. There’s plenty of data available to help us improve the testing and even the development of mobile apps if we choose to collect and use it. Privacy and protection of the users is also key and part of being a trustworthy, professional tester so we’ll touch on these topics and how they’re generally designed and implemented in mobile apps.

The workshop will include hands-on testing and working with the mobile app ecosystems so you can maximise your learning and experiences of this interesting and lively field. Bring your smartphones, tablets and apps and be prepared to get involved and practice testing while having fun.

 

Joseph Ours (US) – Introduction to Ruby/Cucumber/Watir Test Automation

There are multiple challenges with automating in an agile context however, there are some tools that can make this easier. Using Behavior Driven Development (BDD) and Acceptance Test Driven Development (ATDD) with Cucumber and WATiR-WebDriver, we will show how it is possible to automate within a sprint. This class introduces students to agile automation using Open Source tools Ruby, Cucumber, and WATiR. By the end of the class, students will have a functioning project and basic test script. Join Joseph to see how easy this technology is and start on a path of continued automation and ATDD learning. This will be a hands on workshop where everyone will learn, through doing, how to automate running a browser, how to tie tests into living specifications, and basic ATDD principles.

Learning Objectives:
Create your own project and test script
Learn Acceptance Test Driven Development
Wire Scenarios to Test Steps

You will leave the class with a working test script against an eCommerce website. This class has installation prerequisites that will be communicated prior to the conference.

This class is geared towards beginners with test automation. Any prior experience or education with programming or automation is helpful, but not required. We will cover the basics of Ruby syntax as needed.

The session will be structured with a key learning principle followed by a hands on exercise. Live coding and follow along will be incorporated to ensure folks do not fall behind.

As Centric Consulting’s Software Quality Assurance and Testing Service Offering Lead, Joseph Ours has nearly two decades of career experience in Information Technology and Certified Project Management consulting. He believes in finding ways to harmoniously work with all core IT competencies, and as such as works as a developer, tester, business analyst, and program manager. His strategic thought process and ability to translate vision into action has resulted in many large successful initiatives. Joseph’s expertise has also led to numerous national speaking engagements. He earned an MBA, and two bachelor’s degrees: in Electronic Engineering Technology, and in Technical Management. He is also PMP certified by the Project Management Institute. Joseph lives in Columbus, Ohio, and has six adult children. He is an early adopter and active technology enthusiast. When not busy with family events, he chairs the Columbus Advisory Council for Per Scholas, a national non-profit organization based in New York, which aims to break the cycle of poverty by providing technology education, access, training and job placement services for people in under-served communities.

Katrina Clokie (NZ) – Three Styles of Automation

A lot of people use Selenium WebDriver to write their UI automation. But the specific implementation language and coding patterns will differ between organisations. Even within the same organisation, a set of front-end tests can look different between different products.

Katrina will share three different approaches to Java-based UI automation using Selenium WebDriver that are used at her organisation. She will explain the implementation patterns, the reasons that differences exist between repositories, and the benefits and drawbacks of each approach.

Participants will download three different suites that each implement a simple test against the same web application. Once they have a high-level understanding of each code base, they will have the opportunity to execute and extend the test suite with targeted hands-on exercises.

Katrina Clokie leads a team of about 30 testers as a Testing Coach in Wellington, New Zealand. She is an active contributor to the international testing community as the editor of Testing Trapeze magazine, a mentor with Speak Easy, a co-founder of her local testing MeetUp WeTest Workshops, an international conference speaker, frequent blogger and tweeter.

Aare Nurm (EE) – Pedal to the Metal

Have you ever wondered how car industry works?
What it actually takes to get from pile of resources to 600 bhp?
Want to get your hands dirty with engine oil?

Well, in this session we will focus on the software side of it. Split into groups you’ll test software and a bit of hardware related to cars. Mostly it will involve messing about with commands and states, bits and bytes, volts and ms, pulses and ranges, highs and lows… Well, you get the drift.

On high level session will include all the usual problems with testing – figuring out:
a) what to test
b) how to test it
c) how to understand if you’ve found a problem
d) if your results are needed by stakeholders

In the end we’ll discuss the above and compile a list of suggestions to make the process easier in your actual projects.

I have been in testing world over ten years and most of the time dealing with embedded systems (home automation, consumer electronics, automotive, …). I really liked the hands on feeling when you test a physical product. Now I have moved to different world and work on the field of digital identity. Constant learning is key motto for me and I am always willing to share my experience with others.

Kristjan Uba (EE) – Hard Work in Gaming

Lot of people believe the games industry is all fun and games, specially for testers. Spend your days playing games, what could be better?

Well, as you can imagine things might not be that simple. But how hard it actually is, if we leave out the organizational problems?
In this session we will take on 3 different games and try to take them apart. Almost literally, and figure out what makes them tick.
We’ll design input data, movement patterns, speed-runs – to push the games to the limit. In the end games are nothing less than very complex mixture of freedom and rules and it is our job to help developers figure out if they found the right balance.

Debriefing includes discussion on
*) what makes games fun
*) how to scale “hell yeah!” into a test charter
*) pre-made scenarios vs exploration in testing

Once I was a developer, then after a joke in a meeting I became a tester. And I liked it so much I’ve done it since. And as I shared my ideas of testing with a passion I was promoted team lead and then Test Manager. I also run PEST in Estonia and share the good word of context driven testing at conferences and universities.
Twitter ID – @kristjanuba
Blog : http://kristjanuba.wordpress.com/

Henrik Emilsson (SWE) – Testing from a quality characteristic perspective

The definition of testing that I use is “testing is an empirical, technical investigation of a product, done on behalf of stakeholders, with the intention of revealing quality-related information” (Cem Kaner).
For many years, this has been a guide for me. And I often remind myself in projects by going back to the definition and reflect on it. Have I really understood who the stakeholders are? Do I know what they value? Are my test strategies aligned with that? What information can I give them?
Reflecting on qualities and values is an approach that (hopefully) will give you new or more powerful test ideas. And it will also be a reminder to you that you might need to adjust your message and tell a compelling story that a stakeholder can understand.

If you work in agile teams and the main input to your testing is user stories, you should consider ways to vary your testing and base it on other things.
In this tutorial you will learn one way of accomplishing this diversification. And it is an approach that can be integrated into your daily work.

The tutorial will go through three basic steps, and you will be working in pairs in all practises.
Bring your laptop and an open mind.

Part 1 – Understanding the animal
Analysing quality characteristics of a product in a specific context, in order to come up with reasonable and valid values that the product would possess. We will use heuristic models during the analysis and use the outcome for the upcoming steps.

Part 2 – Investigation party
Based on the quality characteristic analysis, we will focus on some of them and use them as a driver for our testing. When doing this, it will become clear that we are not only looking for bugs. We are quality investigators that are looking for both values and threats to the values.

Part 3 – Tell the story
Testing is never better than the communication of the results.
In the last part of the tutorial, we will practice on how to tell a story of the product, based on the quality characteristics that we have investigated.

Henrik Emilsson has a long and broad experience in the software testing field and currently holds the position as Test Strategist at Nordic Medtest in Sweden.

He is one of the founders of the think tank The Test Eye (www.thetesteye.com); co-founder of the Swedish test conference Let’s Test; and have arranged two SWET-meetings (Swedish Workshop on Exploratory Testing).
He has been a speaker at EuroSTAR (2005, 2012, 2016), CAST (2011), and several other conferences.

Henrik has created a two-year course in software testing (college of higher vocational studies) where he also was a teacher. He has also been teaching on several other courses, including in Software Test Design at Karlstad University.

Other engagements worth mentioning is his two-time appearances in the EuroSTAR TestLab, and co-founder of the local chapters of SAST (Swedish Association for Software Testing) in Gothenburg and Karlstad.

Simon Berner (CH) & Gerald Mücke (CH) – Have You Ever Experienced Testing with a Gatling?

Performance Testing is an important part in today’s test missions. Often we assume that only experienced testers can perform this sort of testing. But why not just face it right away and try it out among testers in a safe environment?

When it comes to choosing the toolkit, it is true that there are some tools which have a steeper learning curve than others. But in the end, it is really fascinating how different tools can help you with your challenges.

In this workshop you will get in touch with performance testing from its basics. We will walk through some theory and will end up in performing some testing. You will have the chance to approach it with self-confidence and the motivation to learn something new.

For this workshop please take the following things with you:

  • Notebook
  • Ethernet adapter (for your notebook)

To save time, please install prior to the workshop the following things on your machine:

Simon Berner is a very enthusiastic, committed and happy person. He has more than 6 years of experience as Tester, Test Manager, Scrum Master and Application Manager in the health insurance, real estate, public services, federal administration and enterprise cloud area. His daily passion and happiness is to take the most valuable and exciting things of testing to the customer. He is working as a Test Engineer and Consultant for House of Test.

Gerald Mücke is a Java aficionado with more than 11 years of industry experience starting his career as test automation tooling developer for a big software vendor. After working in several roles, industries and projects he founded his own company – DevCon5 – providing software development consulting services to customers. He is especially interested in test and operational topics and apart from practitioning software craftsmenship in general his focal point lies on test automation and performance testing. In his recent project he helped the customer attaining end user happiness by conducting performance tests and application performance management.