London Tester Gathering Workshops 2018
From Unit to End to End Tests with Jest
In the constantly changing world of front-end development, the logic that traditionally resided in backend applications is shifting towards the UI, and automated tests need to be written in a different manner to test them.
This leads us to questions like:
- How can we shorten the feedback cycle when changing the code?
- How can we make UI testing more effective?
- Are there other options today, besides the good old Selenium / Webdriver for end-to-end testing?
In this workshop, we will answer all of these questions, and will find the resolution in Jest, the open source testing platform from Facebook, which has come a long way since its inception. Jest provides a fantastic user experience, with instant feedback and remarkable performance, out-of-the-box mocking, code coverage support, sandboxing, etc., as well as running tests in parallel. It also has a special feature: snapshot testing and also plays nicely with other testing libraries beside being highly extendable via its plugin system.
Whether your focus is more on end-to-end or unit level testing, Jest can help you remove unnecessary noise from your daily work by unifying test automation across the whole testing pyramid, from unit through integration to end-to-end level, allowing you to use a single language, API and tooling.
- You'll need Docker installed.
Marton is a software engineer by body, heart, mind and soul and a consultant with nearly two decades of industry experience, specialising in well crafted, test-driven web applications, he’s also an advocate of Agile/XP/TDD/BDD.
He started programming in the early 90’s, when writing code used to be great fun, discovering the world of computers by creating games and tiny applications running on Intel 80286 PCs and monochrome screens. After university, he started his career in the software industry and soon realised that things are not that fun anymore. He’s seen code rotting in way too many projects, teams producing YAGNI features and drowning in technical debt.
He knew there had to be a better way and so started to look for answers to his many questions.
Over the years, Marton learned to appreciate working closely with people specialising in testing, helping others adopt the testing mindset and becoming a practitioner of the Test-First approach.
Today, he firmly believes that crafting quality code and robust software architecture needs the right toolbox, best practices and gained confidence by thinking Test-First and automating tedious tasks, helping us to deliver value continuously at speed.
To fulfil his mission saving Planet Earth, he actively mentors people and gives talks on various technology events explaining best practices distilled from his own experience.
Exploratory Testing 101
Kim Knup & Claire Reckless
Do you find yourself frustrated by the lack of challenge in your testing role, managing mountains of test cases, or increasingly aware of the bugs that slip through your net? Adopting Exploratory testing can help relieve these frustrations, but how do you go about performing ET in a way that is effective for both you and your team?
Join Claire and Kim for an interactive introduction to Exploratory testing where you will engage in discussions and exercises to learn how to:
- Describe what Exploratory testing is and it’s value in software testing
- Question a product or an idea to identify risks
- Construct test charters based on risks
- Execute an exploratory testing session
- Conclude your exploratory testing with a debrief
By the end of the session you will be able to conduct exploratory testing in a way that is:
- Structured and well reported to support your team and stakeholders
- Challenging and engaging for you whilst enabling you to test effectively and with speed
Kim is a tester and co-organisers of the Brighton tester meet-up; #TestActually and the Software testing clinic. She is passionate about usability and likes to do what the user (apparently) would never do.
Over the years she’s worked in linguistic games testing, worked with big data archiving and asset management tools as well as ticketing systems. She has also recruited and lead a small team of testers. Her interests range from usability testing, to accessibility, to performance testing, as well as using tools to aid exploratory testing.
Claire is a Senior QA Engineer at Avecto, an endpoint security software company based in Manchester.
Someone who loves hands on testing work and discovering new ways of working, getting involved in the testing community has helped her rediscover a passion for the job. With some great support from other testers, she's also recently started writing about testing.
Facilitation Skills for Testers
Think back to the last meeting you were in. Was it good, bad or ugly? The sad truth is that most meetings fall into the ugly category. No agenda, no clear purpose and no real outcomes.
As Testers, you often play the role of both attendee and host. You are often required to host meetings to review test results, refine backlog items, testing sessions with developers and demos with product owners. Many more testers are also involved in running longer workshops to explore testing topics such as automation often with a sceptical audience!
Facilitation is increasingly important in our increasingly collaborative work environments. Facilitation enables people to do their best thinking which helps increase the chances of a high-quality product. Sadly, most meetings and workshops are lacking this facilitation. In this workshop, you’ll learn how to solve that problem.
Whilst there is a big emphasis on testers becoming more technical, I found that facilitation was a superpower I could bring to the team with leveraged some of my existing skills. I found that good facilitation was vital to help create the conditions for building high quality products. If I could facilitate the team to do their best thinking, it often resulted in less misunderstanding, less assumptions and greater clarity. Big wins for a tester!
In this practical workshop, you will learn exactly what facilitation is and how to facilitate meetings and workshops. You’ll leave with a facilitation toolkit that has tools you can apply to almost all facilitated discussions:
- The 6 keys to successful preparation
- Techniques to focus a group and remain on track
- Creative ways of gathering information and insights from groups
- Understand how to build psychological safety and trust within groups
- What to do if you have group dysfunction
Equipped with these new tools you’ll be able to return to your organisations to turn those ugly discussions into brain engaging, highly collaborative discussions that enable high quality outcomes.
Toby SinclairI’m Toby The Tester however recently I've been branching out into Coaching. I started my career in testing 8 years ago. My testing journey started working for a UK based testing consultancy with a leading retail company. Subsequently I moved to work for a charity who preserve and protect historic places across the UK. Today my journey has led me to the bright lights of London where I help an Organisation transform their working practices. I tweet and blog regularly as TobyTheTester and you’ll recognise me by the cartoon tram from my favourite childhood cartoon, Thomas the Tank engine.
Getting Started With Web API Testing
APIs (Application Programming Interfaces) are becoming ever popular recently, particularly with the use of devices connected to the Internet of Things. It can be extremely useful for a tester to understand APIs and how to test them because they can test earlier and also more efficiently than testing predominantly through GUI (Graphical User Interfaces) such as websites or mobile apps. However, not everyone has the technical background to pick up technical subjects such as APIs.
This workshop aims to provide a fun and interactive way of learning what APIs are and how to test them. The workshop is specifically aimed at people with little to no experience and knowledge of APIs. I will provide a simple game that can only be interacted with through API endpoints, initially controlling a robot to navigate a room to a goal. They will learn to use Postman to interact with the API - making it relevant for work as they learn to use Postman.
We will start with a simple game that teaches the basic concepts of HTTP and status codes before moving on to more complex games that teach data types, authentication & authorisation, JSON and XML, REST and as a stretch goal - automation.
- Install the latest version of Postman
Matthew has been testing software for 7 years, starting as a video games tester and is currently a Test Team Lead. Having graduated in Computer Games Technology, he originally wanted to become a developer but quickly discovered a deep passion for testing. His career has followed the trend of the software industry, going from testing a long distance away from developers and code to pairing with developers and helping them test as they write code. Along the way he has gained a great variety of experience testing telephony exchanges, analytics systems, websites, video games (including motion controls, 3DTVs, augmented reality) and mobile apps.
Through this background in computer science and his experience as a tester, Matthew is keen to help breakdown technical subjects and jargon for testers and expand their arsenal of test techniques!
BDD and Cynefin
Behaviour-Driven Development is a practice in which we talk through different examples (scenarios) of how a system might work, from the perspective of its many users. In this unique tutorial we mix BDD with Cynefin, the sensemaking framework that helps makes sense of the world around you and the problems you encounter depending on their predictability.
The course provides thinking and conversational tools to enable teams, product owners and managers to develop a deep understanding of requirements, shorten the time needed to reach that understanding, produce high-quality, innovative solutions, and create human-readable, relevant and memorable tests as a by-product… and it's not just applicable to software!
Liz Keogh is a Lean and Agile consultant based in London. She is a well-known blogger and international speaker, a core member of the BDD community and a contributor to a number of open-source projects including JBehave. She specializes in helping people use examples and stories to communicate, build, test and deliver value, particularly when faced with high risk and uncertainty.
Liz's work covers topics as diverse as story-writing, haiku poetry, Cynefin and complexity thinking, effective personal feedback and OO development, and she has a particular love of people, language, and choices. She has a strong technical background with over 15 years’ experience in delivering value and coaching others to deliver, from small start-ups to global enterprises. Most of her work now focuses on Lean, Agile and organizational transformations, and the use of transparency, positive language, well-formed outcomes and safe-to-fail experiments in making change innovative, easy and fun.
The Evil Tester's Test Ability Audit
Ability is one of the key attributes that elevates your testing proficiency. In this workshop we will evaluate ability from a number of different perspectives:
- our ability to test
- the features of applications that support our testing
- technology attributes that support testing
- application and tool attributes that ease automating
We will also take stock of our current ability and build an action plan to improve our test ability.
This workshop has elements of discussion, hands on investigation and hands on testing.
At the end of this workshop you will:
- Understand the difference between Testablity, Test Ability and Automatability
- Have Performed a Technology Testability Audit on Web Technology, Mobile Technology or a variety of application frameworks
- Have Performed an Application Testability Audit
- Have Performed an Automatability Audit
- Have performed an audit of your own Test Ability and created an action plan to improve your ability to test.
- You will need a device (laptop, mobile, tablet) with wifi or internet access to take part in the hands on audit sections.
Alan Richardson has over twenty years of professional IT experience: as a programmer, tester and test manager. Author of four books and several online training courses to help people learn Java, Technical Web Testing and Selenium WebDriver.
He works as an independent consultant, helping companies improve their software development, automated execution, agile, and exploratory technical testing.
Threat Modelling for Testers
Testers have a unique position in the software development process. We need to think about the worst that could happen to our applications. We then create test ideas to explore and understand the circumstances that could cause such circumstances.
This workshop focuses on the foundations of application security - threat modelling. Threat modelling assists in the development of secure software, by allowing teams to identify, understand and mitigate potential threats to an application earlier in the software development lifecycle.
Together we will explore and use techniques and models such as STRIDE, data flow diagrams and attack trees. We will look at the work of software professionals such as Adam Shostack, and the work of organisations like OWASP, and how they have applied these processes.
We will examine the use cases of our applications, derive potential areas of risk, entry and exit points, as well as designing tests that might allow us to understand the security topology of our applications.
- You will need a laptop with wifi
Dan Billing has been a tester for 17 years, working within a diverse range of development organisations, mostly in the south-west of England. He is now running his own consultancy, The Test Doctor, based near Brighton in Sussex. His passions in testing include mentoring, supporting and training members of the team to develop their security skills also.
Dan’s love of testing drives me to become an active member of the testing community, helping to organise local testing events and learning. He is also a co-host of the podcast Screen Testing, alongside Neil Studd.
iOS UI Testing with XCUITest in Swift
This is an interactive half-day workshop where attendees will gain an intermediate knowledge of XCUITest with Swift.
They will also explore how it works, and how to write UI tests for iOS applications.
You will learn:
- How to start with XCUItest
- What are the capabilities of XCUItest
- How to write a simple XCUItest test with Swift
- Good practices for writing XCUItest tests
At the end, we will have a Q/A session where we can discuss any questions you may have and work through any examples you might bring.
- Latest version of Xcode installed
- basic Knowledge of swift
- Good knowledge of programming
- Basics of UIKit components
With overall 8 years of experience and coming from a software development background, Swarnim is now a Tech Lead in Automation at Busuu.
When Swarnim is not testing then she runs half Marathon for breakfast. She has worked her way from a senior engineer to leading and building that team around her. She is active in speaking throughout the London tech scene too, speaking at meetups about testing regularly, and being an organiser of the London Tech Leads meetup and mailing list. She likes working with and discovering tools that make manual and automation easier to integrate into deployment.