Lessons Learned in Software Testing: A Context-Driven Approach
B**E
Many insights into testing
"Lessons learned in software testing" provides 293 lessons the authors learned during their many years working as software testers, test managers and consultants. This book is perhaps one of the most insightful books on testing ever written. It covers a broad range of testing issues and most of the topics are relevant outside the world of testing. To give an example, the authors discussions related to documentation, standards or licensing are not limited to testing. They clearly explain their thinking behind their arguments and parts like these are useful reads for anyone!The book is organized around 293 lessons which are a paragraph to a couple pages long. The lessons are organized around eleven chapters. At first, I was annoyed by the structure of the book, but as I got used to it, I started to appreciate the structure in different lessons. Especially since it helped the authors in expressing conflicting thoughts well.The first chapters cover the most basic questions. The first is about the role a tester has and already here the authors present a perhaps controversial view on testing as a service as opposed to as a quality police, which is often seen in larger organizations. The second chapter relates to how to think as a tester. It provides interesting references in completely different knowledge areas which might help testers become better. The third chapter is somewhat misplaced in the book, though still useful. It's a chapter that covers different testing techniques. It doesn't cover it thoroughly, but that is not the purpose of this book. For more thorough coverage of testing techniques, its probably better to pick up another book.The fourth chapter is about writing bugs. Its insightful since it especially clarifies a lot about the role of testing from the authors perspective. The fifth chapter covers test automation and makes important observations related to test automation... especially that test automation is not the same as automated manual testing. I found the wording insightful and again stresses the role of the tester and especially the skill of testers.Chapter six is perhaps one of the more controversial ones about documenting testing. As a logical conclusion from the focus on the role of tester (mentioned earlier), it makes sense to limit the documentation somewhat. Documentation is not a substitute for skill. However, they provide a balanced view and do not recommend to throw your documentation out of the window, but instead analyze your particular situation and create only the documentation that is needed.The next three chapters relate to working with other persons. First how to work with programmers, then how to manage a testing project and how to manage a testing group. Chapter ten relates to building a testing career. Also here, some of the advise is general to "a career", not specifically a testing one.The last chapter about strategy seemed to me somewhat odd. The book would have ended well with the manage your testing career and its not totally clear to me why the authors added this chapter still. It's not useless, just doesn't seem to fit in very well.All in all, the book is a good read! It's funny and very insightful and sometimes controversial. I was considering a rating of four or five stars. I was thinking about four since I did not always agree with the authors for example, on their views on test automation. Though, lots has been learned about that the last years! On the other hand, I do not know any more insightful book related to this subject. And, I'd even recommend it to people who do not do software testing at all! So, therefore I decided to go for five stars! Well worth reading!
A**N
Great book for software testers
I am a professional software tester. I found this book to be very good, full of great advice.I followed their advice of reading a little bit at a time - every day I read the book for 10 minutes. I was able to finish the book in just under 2 months. Would recommend this method for reading this book, because it is quite long.The book changed my philosophy on testing. I was starting to get a bit bored at my job because I am asked to run the same set of tests over and over. Now, instead of looking at those tests as just a list of tests I have to run exactly the same each time, I look at each test as a jumping off point to explore the application in more depth and find more bugs.I think the thing that I loved the most about this book is how the authors are so interested in testing and different methodologies. They are kinda like the "cool" teacher you had in high school, they make testing seem interesting! (I mean, it is, but after a while in testing, if you are at the wrong company, it can seem less interesting). If you've gotten burnt out on testing, this book can give you your spark back!The only small criticism I have is that the way the sections were organized seemed a little odd. Oh well, definately not enough to give this book any less than 5 stars!
D**N
Learn from someone else's experience
Through a series of nearly 300 "lessons", the authors share their accumulated wisdom about how to test application systems - not so much which buttons to press but more how to establish and manage a test team, plan the work and dynamically adjust the testing process according to what is found and how much time is left.The chapter titles ably illustrate the book's scope: 1. Role of the tester; 2. Thinking like a tester; 3. Testing techniques; 4. Bug advocacy; 5. Automating testing; 6. Documenting testing; 7. Interacting with programmers; 8. Managing the testing project; 9. Managing the testing group; 10. Your career in software testing; 11. Planning the testing strategy; [Appendix] The context driven approach to software testing.I would definitely encourage anyone who thinks `test automation' is a great idea and is perhaps contemplating the purchase and use of automation tools, to read chapter 5 before they commit the budget and finalize the project plans. The authors eloquently explain the advantages and disadvantages of common automation techniques such as user input replay tools, providing a real-world counter to the tool vendors' optimistic sales pitches. They don't say "Forget it", rather "If you can live with these significant drawbacks, automated testing may be useful for a certain subset of testing activities". This is a good example of the pragmatism and wisdom found throughout the book.The book is not an academic treatise full of theoretical constructs/models and testing methodologies. Nor is it a step-by-step manual on how to test a system. It is an excellent read for testing practitioners who are seeking or at least open to advice on how to do their jobs more effectively and efficiently. "This book is for anyone who test software, anyone who manages testers, and anyone who has to deal with testers in their software development projects. That includes project managers and executives." The hints and tips plus career development advice are valuable for testers, especially if they have a few years testing under their belts already. The technical content is minimal and should be readily understood by any IT professional while the management advice should be appreciated by those with management experience or who aspire to become managers.The book strongly encourages testers to work with developers and project managers, becoming an integral and valuable part of the team rather than an impediment to progress and a threat to delivery deadlines (lesson 12 is typically direct: "Never be the gatekeeper"!). The subtitle's reference to being `context driven' introduces a dynamic approach to testing, relating test activities to the development lifecycle and promoting those that will be of most help to the project at any point. The approach is described further in the appendix but is only subtly referenced elsewhere, unlike certain other books that insist on pushing their One Big Idea down the reader's throat at every possible opportunity.All three authors clearly have solid testing experience, some 60 work-years between them. There are also numerous (but not intrusive) citations to other helpful resources, further demonstrating the authors' pedigree. Cem Kaner, a consultant and IT professor at Florida Institute of Technology, was the lead author of Testing Computer Software, 2nd Edition, one of my all time favorite IT books. Cem also practices law. James Bach is the founder of a software testing and QA company with silicon valley experience. Bret Pettichord is an independent consultant who edits the Software Testing Hotlist and founded the Austin Workshop on Test Automation.The "lessons" format leads to a somewhat disjointed flow in places although overall the book is well-structured. At times, successive lessons are directly contradictory, again emphasizing the need for readers to be both alert and open-minded. This is another example of being `context-driven'. Which lesson you choose to follow depends on the circumstances facing you, a form of contingency planning if you will.Unusually for a published book, several critical comments from reviewers of the draft, as well as occasional differences of opinion or approach between the three authors, are included as footnotes or asides. The authors openly acknowledge the ambiguities and leave the reader to think about them and make the final decision - I like that. This is a book for grown-ups. There are valiant attempts to describe and promote `the tester's nose', that seemingly innate ability of experienced and successful testers to sniff-out aspects of the system that are likely to harbor serious bugs and to design targeted tests that will reveal them. The advice on unstructured `guerilla testing' is not quite so useful, in my opinion, but I'm impressed that the book even tackles such ephemeral concepts.Even if you only learn something new from a few of the lessons, this book is well worth the purchase price. Testers relatively new to the profession will learn more than grey-beards but even they will probably find some of the suggestions make them re-think long-established ways of working (habits) and subconscious assumptions (prejudices). In the main, the lessons are pragmatic. Some are a bit contentious, perhaps deliberately, and most are both thought provoking and helpful.Bottom line: recommended for any thinking person involved in application testing including development project managers and IT auditors.
D**D
Bitesized wisdom to keep you thinking
This isn't my first copy of the book, nor the first time I've "read" the book.Why "read"? The book is a series of smaller lessons across the broader topic of software testing.Sometimes I'll read all the lessons in a chapter; other times I'll read just a single lesson: it depends on the context of the challenge I'm currently facing.
R**O
Importantes lições no desenvolvimento de testes de software
Embora um pouco desatualizado, o livro tem exemplos importantes para serem usados no desenvolvimento de testes de software no contexto atual.
E**Q
Book paper is not toppen
I have received the book on time which is very good. The paper of the book is not high quality.
S**.
A book that teaches the fundamentals
It ain't one of those books that dictate theory and prepares you for a fixed curriculum on gaining a certification. There's plenty room for self-reflection, how to approach everyday QA errands and how to improve progressively over time. I am always recommending this book to my colleagues. This is a must-read for everyone on your team.
E**A
A great book
It's such a great book, a lot of humor and good advice. As it's written, you have to know the basics first but oh, so much you can learn here!
T**N
Good for Novice testers
Learning about these lessons early helps in identifying oppurtunities and pitfalls faster.Recommend for Novice and Experienced testersRead the lesson headings quickly, then read fully.
Trustpilot
3 days ago
3 weeks ago