Tomek believes that by working with legacy code, and improving it, he can make the world a better place. To his disappointment, the world does not seem to care all that much about his efforts.
Apart from all this weirdness, he is a pretty normal person a husband, father of two, and cat owner.
Acknowledgments
In various different ways a number of people have helped me with writing this book some by giving feedback, others by comforting me in times of doubt.
Marcin Stachniuk was the first person to offer to review the book in the early stages of its being written, and at the same time the most persistent of my reviewers. He read every part of the book and gallantly overcame the obstacles I frequently put in his way: frequent releases, constant juggling of the contents, minor piecemeal adjustments, etc.Piotr Przybylak helped a lot by introducing me to the concept of "personas".Michal Margiel read the whole book and sent me a long list of defects he had identified. Some of his remarks regarding code style were very pertinent, and after I had introduced them the book seemed far better than before!Pawel Lipinski, Marcin Zajaczkowski, Pawel Wesolowski, Rafal Janik, Daniel Longosz and Krzysztof Jelski also contributed by verifying several sections of the book.Szczepan Faber, Mockitos author, has given me a good bashing, unearthing several weaknesses in the book as it went along, but at the same time has appreciated my work and encouraged me to go on with it.Jakub Naruszewicz and Shamil Daghestani helped preparing Kindle version of the book.I have also received a great deal of encouragement from Java community members on social networks. Thanks to all of you!
This book would never have happened if it had not been for the (unwitting) help of thousands of bloggers and mailing group debaters. I have learned a lot from, and have been inspired by, numerous Java, PHP, Ruby and .Net articles, blog posts and discussions. It is amazing to find out that despite the differences in tools and approaches, so many of us share the same ideals of clean, perfect code, and that we also rack our brains about similar issues.
I have also learned a considerable amount from the participants in training sessions that I myself have conducted. By sharing their doubts and comments with me, they have helped me to rethink my stances and look for even better solutions, approaches or tools.My colleagues at work have given me much food for thought, just by doing things differently from how I would, while insisting that their way is better! :) This has also helped me go forwards, even if Ive sometimes had to take a few steps backwards first!
Carl Humphries has done a splendid job by translating this book from my version of English into a standard one. You would not enjoy reading this book at all, were it not for his hard work!
My gratitude also goes out to the authors, contributors and community members of all of the numerous fantastic free tools, libraries and applications I have made use of while writing it. My deepest respect goes to everyone who contributed even a single line of code to the following projects: AsciiDoc, Docbook, vim, Apache FOP, xlstproc, Subversion, IntelliJ IDEA, FoxitReader, Calibre, EPUB Reader, Inkscape, Gimp, ImageMagick, LibreOffice, PCLinux OS, various bash tools (grep, diff, tree, etc.), xmind.net, toodledo.com, clker.com, wikipedia.org, stackoverflow.com, xp-dev.com and github.com. I would also like to thank all the people on the AsciiDoc and Docbook mailing lists for bearing with me, even when my questions seemed foolish.
| |
---|
Even though many people have contributed to this book and have carried out reviews, all bugs still belong to me! |
My family has also made an immense contribution. Agnieszka, my wife, has supported my work from the very beginning, repeatedly reminding me about the need to focus on getting things finished, and giving up some of her so-called "free-time" so that I could have more time to spend on it. Without her help, I would simply have never finished the book!My daughters - Zosia and Helenka - gave me reasons to smile every day; something I needed very much, being tired and depressed with the amount of work still lying before me.Our cat - Boni - has played a double game. Some evenings she helped me to calm down by sitting on my lap, purring softly, while sometimes she deprived me of sleep by making an awful racket at night! :)
Preface
Times are bad. Children no longer obey their parents, and everyone is writing a book. |
-- Cicero |
Why Another Testing Book?
There are already a few really good books devoted to developers tests in bookstores, so why write another one? Here are several reasons for doing so:
The world keeps on moving forward. Progress never stops. There are still ideas emerging in the testing area. New frameworks. New approaches. New tools. Old techniques are being forgotten, rediscovered and mixed with newly invented ones. New concepts force us to rethink existing paradigms and come up with solutions that are better suited to the constantly changing IT environment.
Lack of knowledge. In spite of all the books, seminars, JUG meetings, conferences, podcasts, articles, blog entries and forum discussions I deal with, I still meet many developers who have only a very vague idea of what developers testing is and how to do it. There is definitely still room for improvement in this area.
People are different.