BECOME A TESTING NINJA!

With The Ultimate Software Testing Course, Code Guide & Community.

Featuring React, Node.js, Chimp.js, Selenium, Webdriver.io, Mocha, Meteor & more.

ITERATIVE 

Just the right skills,
just when you need them


Learn the basics and improve quickly. Each chapter builds your knowledge as you continually deliver faster.

Front-End, Back-End
and End-to-End Test Coverage


Learn to be precise, fast and to skillfully create tests that shield your back and best-in-class testing tools.

FULL STACK

All Inclusive,
Team-Wide Processes


Help your whole team embrace quality processes and harmonize Product, Engineering, Devops and QA.

FULL TEAM

© Copyright Xolv.io LLC

AVAILABLE FOR

PRE-ORDER SOON

FROM THE EXPERT IN QUALITY SOFTWARE DELIVERY

Get Notified

Available for
pre-order soon.

Sam Hatoum is known internationally as one of the foremost experts in software test automation, quality assurance and holistic quality delivery. Sam is the founder of Xolv.io and has led software delivery and test automation transformations for some of the world’s most respected brands, including Audi, BBC, Nike, Sky, Volkswagen and many more.
 
Sam has previously published the popular Meteor Testing Manual and is the architect behind several prominent testing technologies including Chimp.js and Velocity previously, the official E2E testing framework of Meteor JS.
 
Linked In: samhatoum 
Twitter: @sam_hatoum
Medium: @sam_hatoum
GitHub: @samhatoum
 
Notify Me When It Is Available!

INSIDE THE GUIDE

FEATURED FRAMEWORKS

Meteor
Mocha
Node JS
React
Selenium
Webdriver.io
Chimp JS
Cucumber JS

GET FULL ACCESS TO QUALITY FASTER

$79

Per person
one-time, no monthly fee

$79 / user

Written Guide

Code Library

Community

Written & updated by experts, readable on any device.

Forkable test code samples, feat. React, NodeJS, Mocha & more.

Chat with and learn from a global community of quality enthusiasts.

WHAT YOU GET

Forkable Code Samples and Tutorials

Contents

About The Author

Features

Quality Foundations

Software Delivery Fundamentals 
Value and quality are the underlying principles of all software delivery systems. Understanding the relationship between them is essential to understanding the purpose of automated testing. 

 

A Holistic Approach 
Applying quality is something that is done at every part of the software delivery life cycle. Here we present an end-to-end delivery approach that encourages feedback from everyone involved. 

 

Embracing Specifications 
The specification is arguably the most important part of creating valuable software. See how you can reduce the defect count of software by up to 50% before a single line of code is written. 

 

Quality Functions 
Learn what some of the various quality functions are and how they are essential to helping you create high-quality products. 

 

How to Use This Guide 
A description of the structure and approach used in this course, as well the reasoning behind the technology choices made within. 

Iteration 0 - Setup

What Is Iteration 0? 
Starting a new project is a great time to get things right. Let us show you how to create a setup that puts testing as a first-class citizen and achieve the holy-grail of continuous deployment. 

 

Local Development 
A lot of quality functions can be applied at the local development environment to allow you to delivery high quality features quickly. Creating a hyper-fast feedback loop is the key and this lesson shows you how to do that. 

 

Branching Strategy 
See how you can create parity between your development and project management practices using branches, and learn how to develop features in parallel without stepping on other developers toes. 

 

Continuous Integration 
Setup a server that can build and test integrated code from all the developers and that provides rapid feedback when there are issues. 

 

Continuous Deployment 
The "holy grail" where every build that passes the automated tests is immediately deployed to production. This chapter walks you through how to put it into practice.

 

Iteration 1

Define
Learn how to create better stories by understanding and defining the business domain.  Learn the right way to write user stories and reap the benefits of easier estimation and quicker implementation. 

 

Design  - 1st Pass
Learn about the separation of concerns and how this important principle enables you to create more testable and maintainable systems.  Learn how domain driven design can help you tackle complexity in the heart of your software.

 

Actualize - 1st Pass
Using a combination of behaviour driven development, modeling by example and domain driven design, see how you can turn your business domain into a digital one that helps you better understand your business.  

 

Design - 2nd Pass
User interfaces can be complex and difficult to test. Here you will learn how to break down the complexity into manageable and easy-to-test parts.

 

Actualize - 2nd Pass
Learn the fundamentals of test driven development. Although this lesson starts from the very beginning, it's aimed at both teaching newbies and also to clear up any misconceptions that some more experienced developers may have.  

 

Learn
Learn how to measure throughput, identify bottlenecks and enable continuous improvement.

Iteration 2

Define
More story writing techniques that shows how to create stories that are independent of one another, even where it seems there are dependencies between them. 

 

Design 
See how hexagonal architecture can centralize your business logic and build an application that stands the test of time. With a good architecture, testing and maintenance become easier and faster. 

 

Actualize 
Tweak your build process to accommodate the increasing complexity of your code.  In this lesson we improve the speed of the build through caching and parallelization to keep the end-to-end build and deploy duration under 10 minutes.  Discover the mock, stub and spy test double techniques, and how to practically use test-driven development in the right way to help drive out the design of your system.   

 

Learn
Continue to measure throughput, identify bottlenecks and enable continuous improvement.  

Iteration 3

Define
Learn the art and science of organizing stories and a system that helps you to store, quickly find and limit scope of stories. 

 

Actualize
Apply code coverage metrics in the form of unit, domain and end-to-end test runs to give a true reading of coverage. Mocks, stubs and spies are useful for testing units, but what about end-to-end tests? Find out how you can use fakes in these situations to create a predictable and stable test suite. 

 

 

Iteration 4

Define
Specifications change over time and so should user stories. Learn how to modify stories, and when you should create new stories vs changing existing ones. 

 

Design 
Infrastructure and data optimization additions can be confusing to test. Find out how to add a caching layer and test these changes without compromising your tests or architecture. 

 

Actualize 
When your business domain is digitized, you can use it as a simulation to help you discover any issues and test your assumptions. This is a very powerful technique that helps prevent expensive defects from ever occurring.   When using external systems such as databases and caches it can be difficult to decide the level of testing and indeed the types of tests to use. This lesson focuses on developing a caching layer by driving its design through tests.