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)
Part 1 Getting Started – Understanding Where You Are and Where You Want to Go
Part 2 Changing the Status – Tips for Better Quality
Part 3 Going to the Next Level – New Technologies and Inspiring Stories
Appendix – Self-Assessment

What this book covers

Chapter 1, Introduction – Finding Your QA Level, introduces the test architecture, analyzing how different projects can be built and how that can affect the test architecture. It also discusses ways of achieving and improving the test architecture, depending on the stage that a project is at, and identifies the different roles that can participate in quality, their responsibilities, and skills.

Chapter 2, The Secret Passages of the Test Pyramid – the Base of the Pyramid, reviews what type of tools, techniques, and testing are done in the base of the test pyramid, including the differences between coverage and good unit testing and mocking. It also shows a way of automating the base of the pyramid, making these tests easier and more fun to write.

Chapter 3, The Secret Passages of the Test Pyramid – The Middle of the Pyramid, reviews the faces of the middle part of the test pyramid, defining the differences between the backend tests and how they relate to eachother, along with exploring sending APIs, schema validation, sending messages, and shadow and performance testing.

Chapter 4, The Secret Passages of the Test Pyramid – The Top of the Pyramid, covers some of the main tests systems should have, going from the top of the pyramid to the bottom. It suggests some extra tips and projects you can use to improve your quality at the top of the test pyramid.

Chapter 5, Testing Automation Patterns, examines several models for UI automation test code writing to create better-designed frameworks. It visits different models, such as remote topologies, and deals with files with objects and screenshots, and reviews some ways of automating the repetitive parts of test code.

Chapter 6, Continuous Testing – CI/CD and Other DevOps Concepts You Should Know, introduces continuous testing, CI/CD, and other concepts related to DevOps. It discusses different types of continuous testing and tools for CI/CD, and provides a basic continuous testing example.

Chapter 7, Mathematics and Algorithms in Testing, highlights the importance of mathematics in testing, including algorithms that can be specifically useful. It reviews the importance of data science in testing and includes techniques for test case analysis, with an early approach to artificial intelligence (AI).

Chapter 8, Artificial Intelligence is the New Intelligence, discusses the role of AI in testing, including why you should learn it, core concepts, AI for testing, and testing AI applications, with some specific projects and examples to get you started and excited about AI for testing.

Chapter 9, Having Your Head up in the Clouds, explores the cloud, including how it can be useful for testing, how to create tools to measure testing performance, how to test appropriately in the cloud, and its dangers.

Chapter 10, Traveling Across Realities, reviews the different concepts and related applications of XR, including VR and AR, and what particularities they have in terms of quality verification. It includes some tools for XR development and testing in XR and briefly covers the concept of the metaverse.

Chapter 11, How to Test a Time Machine (and Other Hard-to-Test Applications), reviews tips and tricks for testing challenging applications, covering games, difficult applications, non-testing automation, and even what to do with impossible-to-test applications. It starts by discussing how to test a time machine (which gives this book its name) and how this could be extrapolated to any other app and concludes by talking about test architecture.

Chapter 12, Taking Your Testing to the Next Level, offers some tips on how to further your career, find topics that inspire you to reach the next level, and align them to your working and learning styles so that you can build your career plan and, finally, find time to work on it. It includes ways of helping others in your team grow and reasons for doing what you do and caring about quality, alongside the ethics related to testing and how these topics will apply in the future.