You are here

Tutorials

Connecting the Dots - Empowering People Through Play

As testers we care just as much about our projects and products as our Product Owners and Developers. With a history of being the people at the end of the chain (no longer the case as we know), we tend to see the communication issues and impending risk and somehow always feel inclined or voluntarily willing to help solve those problems and yes, it always means our lives become easier! Win win!

So how can we help teach and build up a solid channel of communication with our peers (whom all have different behaviours and characters), to help them stop, zoom out and avoid the rabbit hole?

One of the best ways to build an individual’s or a team’s skills and understanding can often be through the method of games, metaphors and stories. Abstracting the problem and playing through potential solutions can make it easier to identify how to deal with situations. Lessons are easier taken on board if the learning is also fun, and if the risk discussion uses a Jenga tower (hint hint) rather than a risk register.

The Game Plan

Our workshop session will comprise of the following techniques and games (at a minimum), to cover a various range of scenarios and role plays for both individuals and teams to take away and use daily within their own teams.

  • The stand up circle: Communicating short & snappy doses of useful information.
  • Building mental structures: Visualising concepts and problems using Lego
  • Modelling project risks: Learning about the impacts of decision making using Jenga.
  • Role playing requirements: Learning the impact of games & sketches on the effectiveness and success of projects.
  • Collaborative Round up: Improvising communication in a world of changing variables.

 

The Outcome

The games we’ll teach and play have direct practical uses to bring teams together to work more productively and reduce communication difficulties. These are games that can prove a point in as little as 5 mins, or work through relatively complicated risk mitigation solutions in under an hour.

We want you to leave with at least one technique that you can try the very next day at work, helping kick start identification of the root causes of problems. We also want you to equip yourself by learning about different methods that lead to tangible results around dealing with communication and team dynamics as well as understanding how to share these games with your teams in a fun and collaborative way.

Key takeaways: 

  • As Benjamin Franklin once said: “Tell me and I forget, teach me and I may remember, involve me and I learn”
  • At least one game that attendees could replicate with their team (without props) on their next day in the office.
  • Frameworks within which attendees can create their own games to help their teams work through challenges.

Testing RESTful Web Services

Sold out

Web service based software architecture is becoming more and more popular as a choice for applications and this poses new and interesting challenges and opportunities for Testers. Testing Web services training gives attendees the knowledge to rapidly learn and test web services in both an exploratory and automated capacity.

The tutorial is interactive using bespoke services built specifically for the workshop that give participants the chance to try out the skills they are being taught in a safe and relevant environment.

In addition to the primary goal of the training the tutorial gives attendees knowledge of a building block of the Web, that can be leveraged for both exploratory and automated testing.

Part 1: Understanding and testing RESTful Web services (Morning)

Understanding and testing Web services is the first part of the tutorial that guides participants through the fundamentals of what makes a Web service and how to build requests to query and manipulate data from a web service. The attendees will learn key skills through testing a bespoke web service, learning how the service and requests work, and discovering and reporting bugs.

Key Topics:

  • What is a Web service?
  • How to build requests to query and manipulate data from a Web service
  • Test design techniques to consider when testing a Web service
  • What is REST and what makes a Web service RESTful?

 

Part 2: Exploring and modelling web services

For the second part of the tutorial we provide participants an opportunity to learn how to explore a platform containing multiple Web services, build a model of how the platform works and the use that knowledge to build a series of automated checks. We will look at different tools and sources of information we can leverage in our exploring before discussing we should use using models to build up a picture of how we can generate our test ideas. Finally, participants will learn how to automate their tests, even if they have little or no coding experience.

Key Topics:

  • Tools we can use to explore a Web service platform
  • Sources of information we can use in exploration
  • How to model an application from a backend perspective
  • Designing a test suite based on your application model
  • How to automate your test suite using current toolsets

 

 

The Art & Science of Test Heuristics

Variously defined as “fallible methods for solving problems” (Bach & Bolton) or “rules of thumb”, heuristics are essential tools for thinking test practitioners. When you construct a test around a model like “follow the money”, or adopt a leadership pattern where you challenge your team members with stretch goals, you are working with a heuristic. In each case, the model may be applicable and useful in some contexts, and irrelevant or even detrimental in others.

One of the keys to using heuristics successfully is to do so consciously. If you aren’t aware that you are operating with a heuristic model, it can become an unchallenged assumption. But if you consciously use a model as a heuristic, then you are in a better position to see its weaknesses and potential failure points in a given situation.

In this workshop, we will explore the use of heuristics in problem solving and software testing. Working in groups, participants will have opportunities to design heuristics to solve particular problems, apply them to problem solutions, then critique their models and share their conclusions with other groups.

The session will be highly interactive, consisting principally of problem-solving exercises and debriefs. Conscious use of heuristics requires both creativity and critical thinking skills. Come prepared to practice and extend yours! Participants are invited to bring testing problems from their own experience to share and work with in the second half of the session.

Java for Testers

Sold out

Improve your programming skills for all phases of software development. Testers without any technical knowledge are welcome to join. This training is based on the popular programming book 'Java For Testers'.

You will benefit from this training if:

  • you want to know the basic programming skills required when automating during your test process

 

After completing the 1-day training, you will understand:

  • how coding fits in the test process,
  • Java concepts,
  • understanding maven,
  • automating at different technical levels,
  • Java concepts (interfaces and inheritance, enums, annotations, dependency injection),
  • uses of a variety of Java libraries - e.g. Cucumber, RestAssured, WebDriver, etc.

 

You will have hands-on experience in:

  • JUnit Basics - constructing test code with @Test Assert, @Before and @After, etc.,
  • IntelliJ IDE to speed up your learning - viewing code, debugging: breakpoints,
  • Classes, Methods and Primitive wrapper classes,
  • conditionals and comparisons,
  • exceptions and errors,
  • operators,
  • statements and variables,
  • loops,
  • arrays and collections.

 

You will have the skills to:

  • use IntelliJ - reading and writing JUnit source code,
  • use maven - setting up Test Automation projects and using maven dependencies,
  • continue your learning in Java proactively for your projects
  • basic coding in Java to support automating your work

 

You will need to bring your laptop to this training. The following software needs to be installed on your laptop:

  • Maven
  • IntelliJ IDEA (Community Edition, or Ultimate Edition)
  • Java SE Development Kit

 

Follow the instructions and video tutorials on JavaForTesters.com to install on Mac or Windows.

Testing for XSS

Sold out

The concept of XSS has been around for a few decades now. To this day, it is one of the most often occurring security vulnerabilities found on websites. Have you ever wondered why?

For one, the umbrella term XSS does not actually describe the issue. An "On-Site HTML injection" is usually still referred to as "Cross-Site Scripting". Never mind the fact that there is no "Cross-Site" or "Scripting" element to the actual vulnerability.

XSS can be found in a number of different technologies: HTML, JavaScript, CSS, or insert-your-plain-text-syntax-here. A developer easily obtains the mindset of "I know my HTML and I know my JavaScript". But do they really? They never think that, in fact, they only know the pieces of the language that they have used themselves. In other words, you usually don't know about the other pieces of a language that you have never used so far. 

HTML and JavaScript do not seem particularly complicated by themselves. The complexity usually arrives when they are used in combination for the development of a website. Add on top of that the behaviours of different browsers and any other "unforeseen surprises" that tend to appear when a human component is added to the mix.

XSS attacks come in different flavours: Reflected, Stored, DOM. It is often talked about as "Self-XSS" or in other words- attacking yourself. Developers tend to rely on the in-built defenses of browsers. This is why the consequences can be under-estimated. 

During this one day tutorial we will learn how to test for XSS vulnerabilities step-by-step and case-by-case. We will also learn to assess the validity of the implementation (even if there is no apparent vulnerability). All this will be achieved by preparing and launching Proof-of-Concept attacks against a test environment.

Creating True Value Using UX

According to the Standish group, most IT-projects fail to deliver true value. Roughly a third are discarded before completion or never used. The top reasons for this, according to statistics, is failure from the business side to be truly engaged and failure to understand the users and their needs - this is often simplified as bad requirements. The core values of UX is to truly understand the problem before we start building solutions and then creating lots of hypothesis and (in)validating them fast. A bit simplified this includes four distinct steps - often called design thinking:

1. Building empathy:

  • understanding the business side - using workshops and interviews
  • understanding users by interviewing them and observing them

 

2. Defining the problem

  • using models like the user journey
  • working continually with requirements in the form of user stories and various graphic models

 

3. Ideation

  • starting out with rough paper sketches to explore all possibilities
  • continuing with interactive prototypes using one of the many cheap or free tools available. Like powerpoint/keynote or weld.io to mention a few

 

4. Getting instant feedback using rapid user testing techniques. Yes you can all fairly easily master the basics 

I truly believe that a lot of testers may have a great career combining UX and testing in their roles in a project. Testers are curious of nature and have a lot of the skills needed to become great researchers or user testers. It also may relieve a lot of tension being able to actively participate in the process of understanding the true problem and not only testing the product that is created.    

Hire Me A Tester

Overview

Hiring new people is hard. It takes time, it takes effort and it takes a good hiring strategy to be successful. When you are trying to hire new testers then there are a lot of different aspects to think about. What sort of tester do you need? What team will they be a part of? What skills are you looking for and how will you identify those during the interview process? Is hiring a new tester even the best way of solving the problem you have?

In this tutorial we will look at the whole hiring process, from identification of a need (help I need a tester in this team) to onboarding new people. Through inclusive and immersive exercises we will practice the key skills required in order to make hiring new people a success.

I’ve been hiring testers for the last 15 years and have a wealth of testing specific knowledge on areas such as:

  • Identification of a need - do you need a new tester? Have you identified exactly what you require?
  • Individual and team context - are you hiring for a separate test team? A cross functional team? What’s the product or project?
  • Permanent vs contract recruitment and when it’s right to use either.
  • Selling yourself - How to make a job description that makes the candidate want to join you.
  • Ensuring that you take diversity into account when hiring, from job descriptions and adverts, all the way to on-boarding.
  • Where to advertise and how.
  • Getting the team involved and empowered.
  • Establishing recruitment pipelines before you need them.
  • What makes a good CV?
  • Telephone interview techniques
  • Face to face interviews - traditional vs alternatives.
  • What to do once you’ve made the offer. How to get make sure the candidate you want actually starts, and stays.

 

This tutorial is intended for those managers or leads who either hire testers or are about to start hiring testers. It will equip them with the skills and the confidence that is required in order to make the hiring process a success. It will also help those who are looking for a new role and want some practice in CV writing, mock interviews and gaining a better understanding of what a good recruitment process looks like.

Prerequisites

Please bring yourself and your experience. If you have particular points you want to talk about then that’s great. Examples and experience is good.

Syllabus

  • Introductions and scene setting
  • Recruitment challenges - how and why
  • Identification of a need:
  • Are you sure you need a new tester?
  • Exercise - Identifying the need
  • Why context matters:
  • Making sure you are clear on what you are looking for.
  • Discussion - context setting and how that affects recruitment.
  • Making people want to join you:
  • Techniques for raising the profile of your team or business.
  • Exercise - Preparing and sharing role descriptions and profiles.
  • Taking diversity into account:
  • Is your job advert appealing to a diverse selection of candidates?
  • Advertising your wonderful new position:
  • Where, how and why specific targeting is important.
  • Discussion - How best to advertise new positions.
  • Using your team - why it’s important and how to do it.
  • Recruitment pipelines - establishing them, before you need them.
  • That great CV:
  • What does it look like?
  • Techniques for CV review.
  • Exercise - preparation and review of CVs.
  • The telephone interview:
  • Keeping it brief but specific.
  • What to look for.
  • Red flags to watch out for.
  • Exercise - mock telephone interviews.
  • Face to face interviews:
  • Preparation.
  • Which interview format works for you?
  • Q&A
  • Competency
  • Persona based
  • Technical tests
  • What you absolutely should and shouldn’t do
  • Exercise - mock face to face interviews
  • They accepted the offer - what next?
  • Keeping candidates engaged prior to starting
  • Preparing for the first day
  • Onboarding - how to ensure a great experience on the first day
  • Following up through the first weeks.

 

Key takeaways:

  • Identification of a need - do you need a new tester? Have you identified exactly what you require?
  • Individual and team context - are you hiring for a separate test team? A cross functional team? What’s the product or project?
  • Permanent vs contract recruitment and when it’s right to use either.
  • Selling yourself - How to make a job description that makes the candidate want to join you.
  • Ensuring that you take diversity into account when hiring, from job descriptions and adverts, all the way to on-boarding.
  • Where to advertise and how.
  • Getting the team involved and empowered.
  • Establishing recruitment pipelines before you need them.
  • What makes a good CV?
  • Telephone interview techniques
  • Face to face interviews - traditional vs alternatives.
  • What to do once you’ve made the offer. How to get make sure the candidate you want actually starts, and stays.

 

Traditional Setup vs. Pairing vs. Mobbing - An Experiment for Testers and Developers

Having worked in software for over a decade we have come into contact with many ways of coding and testing. We have even given session on how pairing can improve productivity - and in many situations we believe it can indeed do that. But should testers and developers pair on things or should they be separated by the proverbial fence? What about working in large groups?

Where is the data?

This is where you come in. Be part of something revolutionary while learning new techniques and ways of working. In this workshop you will learn to work in 3 configurations: as a lone tester/developer, in pairs and in mobs. You will test, fix bugs and enhance a web application. We will compare your experiences and will try to draw conclusions about which configuration works best in which situation.

Key takeaways:

  • Learn the basics of pairing
  • Learn the basics of mob programming/mob testing
  • Learn how to use Chrome Dev Tools to inspect the code and make code changes
  • How can we find bugs earlier than in the traditional/evil testing phase?
  • How can we collaborate in order to bridge the gap between developers and testers?
  • Learn which way of working might be suitable for what kind of task
Subscribe to Tutorials