Book Image

How to Test a Time Machine

By : Noemí Ferrera
Book Image

How to Test a Time Machine

By: Noemí Ferrera

Overview of this book

From simple websites to complex applications, delivering quality is crucial for achieving customer satisfaction. How to Test a Time Machine provides step-by-step explanations of essential concepts and practical examples to show you how you can leverage your company's test architecture from different points in the development life cycle. You'll begin by determining the most effective system for measuring and improving the delivery of quality applications for your company, and then learn about the test pyramid as you explore it in an innovative way. You'll also cover other testing topics, including cloud, AI, and VR for testing. Complete with techniques, patterns, tools, and exercises, this book will help you enhance your understanding of the testing process. Regardless of your current role within development, you can use this book as a guide to learn all about test architecture and automation and become an expert and advocate for quality assurance. By the end of this book, you'll be able to deliver high-quality applications by implementing the best practices and testing methodologies included in the book.
Table of Contents (19 chapters)
1
Part 1 Getting Started – Understanding Where You Are and Where You Want to Go
6
Part 2 Changing the Status – Tips for Better Quality
10
Part 3 Going to the Next Level – New Technologies and Inspiring Stories
Appendix – Self-Assessment

What is continuous testing?

In order to understand CT and how to achieve it, we must first define CI/CD and other core concepts.

Continuous integration

When several people are working on the same piece of code, issues between the different versions of the code can easily appear. We need a system to keep all the code versions together. The place where code is kept is called a code repository.

CI consists of frequently integrating and merging feature code into a shared repository, preferably several times a day. Each integration can then be verified by an automated build and automated tests, which will be part of CT. This is done from within the repository or the different environments set up in the deployment pipeline. The goal is to ensure there are no integration issues and to identify any problems early.

As we evaluate the state of the code after each integration, we can locate and fix integration problems individually. If we do not use this technique, it is harder to...