This blog post is a republish of how I described the book last autumn in the Indiegogo crowdfunding campaign. It gives some depth to the book.
The book tells a growth story of two 10-year old children, Laura and Tom, from kids into knight apprentices.They learn about dragons and knights fighting those dragons, and get into real action themselves, too. They get help from male and female knights and a wise old sage. The stories take place in a setting resembling medieval Europe. As these fantasy stories unfold,I explain to the readers the software development and testing world in analogies or parallels.
Each chapter introduces another type of dragon, which represents a software defect/bug in the real world. Knights represent software testers and developers. Villagers and the two children represent software users. And so on. Everything is an analogy. Obviously, the knights and villagers want the dragons out of their towns and villages, hence also the name of the book “Dragons Out!”.
Here is a sample of dragon story in the book draft translated into English:
At night, Sebastian woke the children and they walked to the guard post. The sky was full of bright stars, but otherwise, the only light came from Sebastian’s torch. Cypress scent was in the air. For a long time, you couldn’t hear anything but the rustle of the wind in the trees and crickets chirping. Suddenly Laura startled when Sebastian shook her shoulder. There were flames a few houses away. They walked carefully closer. One wall of the house was about to collapse. Flames were getting stronger. They saw a dark shape hovering in front of the fire. It had black wings and a long winding tail. Now it breathed fire towards another part of the wall, which burst into flames. It was a dragon!
And here's a sample of testing explanation in the book draft translated into English:
In the story, the team of knights found and killed the dragon. In real life, the software development team together (developers and testers) was able to find, locate and fix the defect. They shared tasks in a way that everyone helped each other using their special skills. In the story, Knight Swanlake was talented in finding dragons. In the real-world, she was better in testing than the rest of her team members, which was why at this time she found the defect. In the story, Knight Yellowbeard was good at building the palisade and figuring out ways to kill dragons. In real life, his coding skills were excellent, so he thought of the way to remove the defect.
The structure of the book is straightforward. In each chapter, I first tell a fantasy story of a new dragon, and how it is banished from the village. My storytelling is complemented by the amazing illustration from Adri. I explain the analogy of the story into software testing and development in side-boxes that are available for reading as one reads the story, or afterward. How is this kind of software defect found through testing? Why is it harmful to software? How can it be removed? As new computer, testing or development terms are mentioned, I explain them as simply as possible in a vocabulary. In the end of each chapter, there are a few exercises for learning the software testing topics a bit better.
The book is such an interesting piece of adventure fantasy that it is impossible to stop reading it. My 10-year-old beta readers of the various chapters of the book have encouraged me to publish the book. They say the story is catching and they would like to read more of the same. The understanding and interest of software testing come as a natural by-product. My adult beta readers from software testing, teaching, and other backgrounds also praise this as a unique and interesting approach that will be a success. They think the story is good and software testing is explained very clearly. They also tend to laugh at some of the analogies in the book. The more you know about software development, the more you can appreciate how information technology concepts turn into fantasy. I have infused the stories with the analogies, something I have practiced in my blogs over the years. The readers can return to the book over and over again, to understand the software testing via the used analogies. Examples, in general, are usually one of the best ways to learn. The book is a storytelling way of learning about software testing for readers of any age.
I have chosen the theme of dragons and knights for a multitude of reasons. Firstly, I’ve been a big fan of fantasy literature from a young age, starting from Tolkien. I have been involved in roleplaying for the past twenty years. My passion for fantasy extends to writing, too. Authoring fantasy is one of my dreams. Secondly, I do believe the fantasy theme appeals to youth today, probably even more than in years past. There has been an on-march of medieval fantasy, including dragons, in books, movies, toys and so on. This trend seems to be continuing. Thirdly, I have a wonderful son, who is a big fan of dragons. This is also for him!
I got my first idea for a book that would combine fantasy and software testing years ago. I wanted to find a way to make software testing interesting to kids. People in the software testing industry understand very well that there is always a shortage of software testing. It usually stems from not knowing enough about the importance of testing. Testing is easily considered a necessary evil. However, it is enormous fun and a profession of its own. Why not tell about the fun of software testing already to children in an engaging way? Dragons and knights found their way into my book. Finally, my sabbatical year gave me a chance to put some words together to make the story. I wrote the first draft of the first chapter in Finnish in late 2018 and sped up with the other chapters during the rest of my sabbatical in 2019. There are many more steps to take, including deciding about the extent of illustration, negotiating with book publishers, and editing the book. But we'll get there soo
I feel very honoured, humble. I'm awarded for my work over the few decades but certainly especially for my work in the past few years with the Dragons Out book and trying to get the software testing message across to children and schools through this ground-breaking approach of fantasy book storytelling. I feel that the world has noticed the great initiative to bring the testing message to children. Feedback from children is of course most touching. I especially remember that the son of a friend of mine said after reading my book on his own: "Mom, I want to be a software tester when I grow up!" Many adults have read the Dragons Out book, too, and describe it as fantastic! It is so rewarding to hear this praise. The EuroSTAR conference explains on their award page that "The EuroSTAR European Testing Excellence Award is the highest honour bestowed by our community. It is driven by peer nominations and is the ultimate recognition for those that continually give to the
This pondering about the importance of testing was on my Indiegogo crowdfunding campaign page. Here it is for all of you to read! The world is full of software. It is hard to live a day without using software in some form or another. Some software works on its own (like games), some enable services (like online banks) and some are a crucial part of physical products (like cars or planes). The more critical or complex the software is the better quality it has to be. Companies need great software to differentiate from the competition. Software testing is the key approach to creating this great quality. The lack of software developers, or coders, is in the news all the time. You have your coding schools, and other such initiatives to get children into coding at a young age. Which is very good, of course, also from the testing point of view. All coding includes some testing. What software testing professionals always notice, however, is that software testing is more than t