How to Test a Time Machine
A practical guide to test architecture and automation
Noem Ferrera
BIRMINGHAMMUMBAI
How to Test a Time Machine
Copyright 2023 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
Group Product Manager: Rohit Rajkumar
Publishing Product Manager: Bhavya Rao
Senior Content Development Editor: Adrija Mitra
Technical Editor: Saurabh Kadave
Copy Editor: Safis Editing
Project Coordinator: Sonam Pandey
Proofreader: Safis Editing
Indexer: Manju Arasan
Production Designer: Ponraj Dhandapani
Marketing Coordinator: Rayyan Khan
First published: March 2023
Production reference: 1230323
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham
B3 2PB, UK.
978-1-80181-702-8
www.packtpub.com
For Hackerin, 2013-2022
For he was on my lap for the most part of this book.
May his loving soul rest in cat's heaven.
Noem Ferrera
Foreword
Noem FerrerasHow to Test a Time Machine is a comprehensive guide to testing in the software development industry. This book is an excellent resource for anyone interested in software testing, whether youre an experienced professional or a beginner. (I mean, the book title alone should make you want to read it!)
Noem's approach to testing is unique and refreshing, focusing on topics often overlooked in traditional testing literature. In this book, she covers topics such as continuous testing, cloud testing, AI for testing, mathematics and algorithms in testing, XR testing, and testing patterns, among others.
Testing is essential to software development, and ensuring that software is reliable, secure, and performs well is critical. As the software industry grows, so does the need for high-quality testing. How to Test a Time Machine provides a unique, comprehensive, and much-needed guide to testing modern software.
The book is divided into several chapters, each covering different testing-related topics. The first few chapters cover the basics of testing and the test pyramid. The middle chapters delve into more specific topics, such as UI automation patterns, continuous testing, and AI for testing. The latter chapters cover more challenging topics, including testing hard-to-test applications and taking your testing to the next level.
Ive interviewed Noem many times on my TestGuild podcast, and shes spoken at my online Automation Guild testing events, so I know she knows her stuff, and this book does not disappoint.
Noem's writing style is engaging, making it easy to follow and understand complex topics. Her use of examples and practical advice makes this book a valuable resource for anyone interested in testing, whether they are beginners or experienced professionals.
In conclusion, Noem Ferreras How to Test a Time Machine (and Other Hard-to-Test Applications) is an excellent resource for anyone interested in software testing. Her unique approach and comprehensive coverage of various testing topics make this book a must-read for anyone looking to improve their testing skills and knowledge.
Joe Colantonio,
Founder @TestGuild
Contributors
About the author
Noem Ferrera is a self-taught programmer and wrote her first comprehensive program at the age of nine. When she grew up, she proceeded to achieve a degree in computer science specializing in hardware in Spain, a bachelors degree in software engineering in Ireland, and a masters degree in computer science in Spain.
She is an international speaker and participates in testing community conferences (such as Selenium, Appium, and Automation guilds) and engages with the community through Slack channels, Twitter, and her blog.
In the 2020 Test Guilds publication, she was named as one of the top 28 test engineers to follow, as well as one of the top 33 test automation leaders to follow in the 2019 Tech Beacon and as one of the 100 women in tech to follow and learn from by agiletestindays.com in 2023.
There are so many people that influenced me in one way or another so that I could write this book, but I can't fit them all in here, so I need to summarize.
I would like to start with all my teachers that helped me enjoy writing, computer science, and English. However, the person that influenced me the most to learn and love this language has been my sister, Rosa. It's because of her influence that I decided I wanted to study abroad, which led me to work abroad, and to everything else that came after.
It feels like it was only yesterday that I joined the quality team at IBM, getting my first opportunity in the quality area. It would be too much for me to mention everyone I worked with, but know that you are also in my thoughts while I write these lines.
I also want to thank everyone in the testing community, especially those on the Selenium committee, who trusted and believed in me, even before I made any code commitment. Thank you, Maaret Pyhjrvi, Lisa Crispin, Marit Van Dijik, Raluca Morariu, Sneha Viswalingam,Tristan Lombard, Diego Molina, Andrew Krug, Bill McGuee, Corina Pip, Manoj Kumar, Simon Stewart, and Marcus Merrell, for being inspiring, trusting, and welcoming. (And I'm sorry if I skipped you, there are so many people to thank here; you are still important!)
I really don't think I would ever have completed this book it if weren't for the Packt team. I would never have been happy enough with it. So a big thanks to eveyone in at Packt, especially Adrija and Bhavya, who cheered me up and kept me accountable.
I also wanted to thank Philip, the reviewer, who really took the book seriously and called out important problems with it, and Joe, who wrote the perfect foreword and made me tear up a little when reading it (who am I kidding? I was plain crying!).
I want to thank my friends and family for having the patience to deal with me while writing this book and when I told them I could not go out because I was behind on it.
Special thanks to my mom she has always been there for me and her support and patience has been paramount.
About the reviewer
Philip Daye is a seasoned software quality professional with over 25 years of experience in the field. Currently the QA team lead at Insider Intelligence, he has a diverse background as a tester, manager, architect, and leader, and has worked with companies of all sizes to ensure the delivery of high-quality software. Philip is deeply committed to staying current with advances in the field and actively shares his knowledge and experience with others through speaking engagements at conferences and meetups, as well as by founding internal communities of practice.