Beautiful Testing and over one million other books are available for Amazon Kindle. Learn more



or
Sign in to turn on 1-Click ordering
Sell Us Your Item
For a $2.00 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Start reading Beautiful Testing on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
Sorry, this item is not available in
Image not available for
Color:
Image not available

To view this video download Flash Player

 

Beautiful Testing: Leading Professionals Reveal How They Improve Software (Theory in Practice) [Paperback]

Tim Riley , Adam Goucher
4.7 out of 5 stars  See all reviews (10 customer reviews)

List Price: $49.99
Price: $38.43 & FREE Shipping. Details
You Save: $11.56 (23%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Only 1 left in stock (more on the way).
Ships from and sold by Amazon.com. Gift-wrap available.
Want it tomorrow, May 22? Choose One-Day Shipping at checkout. Details
Free Two-Day Shipping for College Students with Amazon Student

Formats

Amazon Price New from Used from
Kindle Edition $22.79  
Paperback $38.43  
Amazon.com Textbooks Store
Shop the Amazon.com Textbooks Store and save up to 70% on textbook rentals, 90% on used textbooks and 60% on eTextbooks.

Book Description

October 29, 2009 0596159811 978-0596159818 1
Successful software depends as much on scrupulous testing as it does on solid architecture or elegant code. But testing is not a routine process, it's a constant exploration of methods and an evolution of good ideas.

Beautiful Testing offers 23 essays from 27 leading testers and developers that illustrate the qualities and techniques that make testing an art. Through personal anecdotes, you'll learn how each of these professionals developed beautiful ways of testing a wide range of products -- valuable knowledge that you can apply to your own projects.

Here's a sample of what you'll find inside:

  • Microsoft's Alan Page knows a lot about large-scale test automation, and shares some of his secrets on how to make it beautiful
  • Scott Barber explains why performance testing needs to be a collaborative process, rather than simply an exercise in measuring speed
  • Karen Johnson describes how her professional experience intersected her personal life while testing medical software
  • Rex Black reveals how satisfying stakeholders for 25 years is a beautiful thing
  • Mathematician John D. Cook applies a classic definition of beauty, based on complexity and unity, to testing random number generators

All author royalties will be donated to the Nothing But Nets campaign to save lives by preventing malaria, a disease that kills millions of children in Africa each year.

This book includes contributions from:

  • Adam Goucher
  • Linda Wilkinson
  • Rex Black
  • Martin Schröder
  • Clint Talbert
  • Scott Barber
  • Kamran Khan
  • Emily Chen
  • Brian Nitz
  • Remko Tronçon
  • Alan Page
  • Neal Norwitz
  • Michelle Levesque
  • Jeffrey Yasskin
  • John D. Cook
  • Murali Nandigama
  • Karen N. Johnson
  • Chris McMahon
  • Jennitta Andrea
  • Lisa Crispin
  • Matt Heusser
  • Andreas Zeller
  • David Schuler
  • Tomasz Kojm
  • Adam Christian
  • Tim Riley
  • Isaac Clerencia

5 Key Tips and Tricks for Testing

by Tim Riley

1. If you are going to run a test more than 3 times, think hard about automating it. The time saved is more than worth the front-end investment.

2. Test the riskiest, most changed, and most complex areas first, since they are most critical. These may be tests #10, #35 and #99. But if you start at test #1 and methodically work you way towards test #100 you may never get to #35 and most likely not #99.

3. Always take time to think through the testing before jumping in. This is the "Ready"part of Ready, Aim, Fire. Many testers jump straight to "Fire" and don't know what they are shooting at. This includes talking to the developer, talking through the testing with others, and writing down a plan and asking for feedback. This provides a way to see if you achieved what you originally planned and gives you something to build on in the future.

4. Have the tests ready _before_ the feature is done, or at least very soon after. Testing a week after a feature is done is a hundred times better then testing it a month later. And a thousand time better then testing is 6 months later.

5. Get to know your developers. Not just to show them your test plan and send them bug reports. Go to lunch with them. Walk to meetings with them. Make sure you know what they are working on and what their plans are. And make sure they know what you are working on and what your plans are. By having a richer working relationship, they will remember to include you when new features come alone, requirements change, and plans are updated. And they will eagerly help you out when developing test cases!

Frequently Bought Together

Beautiful Testing: Leading Professionals Reveal How They Improve Software (Theory in Practice) + Lessons Learned in Software Testing: A Context-Driven Approach + Agile Testing: A Practical Guide for Testers and Agile Teams
Price for all three: $104.89

Buy the selected items together


Editorial Reviews

About the Author

Tim Riley is the Director of Quality Assurance at Mozilla. He has tested software for 18 years including everything from spacecraft simulators, ground control systems, high security operating systems, language platforms, application servers, hosted services and open source web applications. He has managed software testing teams in startups to large corporations consisting of 3 to 120 people in size and in up to 6 countries. He has a software patent for a testing execution framework which matches test suites to available test systems. He enjoys being a breeder caretaker for Canine Companions for Independence (cci.org) along with live and studio sound engineering.

Adam Goucher has been testing software professionally for over ten years. In that time he has worked with start-ups, large multi-nationals and ones in between in both traditional and agile testing environments. A believer in the communication of ideas big and small, he writes frequently at http://adam.goucher.ca and teaches testing skills at a Toronto area technical college. In his off hours he can be found either playing or coaching box lacrosse - and then promptly applying lessons learned to testing. He is also an active member of the Association for Software Testing.


Product Details

  • Paperback: 352 pages
  • Publisher: O'Reilly Media; 1 edition (October 29, 2009)
  • Language: English
  • ISBN-10: 0596159811
  • ISBN-13: 978-0596159818
  • Product Dimensions: 7 x 0.8 x 9.1 inches
  • Shipping Weight: 1.5 pounds (View shipping rates and policies)
  • Average Customer Review: 4.7 out of 5 stars  See all reviews (10 customer reviews)
  • Amazon Best Sellers Rank: #572,295 in Books (See Top 100 in Books)

More About the Authors

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

4.7 out of 5 stars
(10)
4.7 out of 5 stars
The back-and-forth dynamics detailed in the chapter make for an entertaining read. Alejandro Cabrera  |  3 reviewers made a similar statement
This book gave me lots of ideas to consider. Lydia Carlsson  |  6 reviewers made a similar statement
Most Helpful Customer Reviews
4 of 4 people found the following review helpful
5.0 out of 5 stars Real Case Studies For Real Testers June 26, 2010
Format:Paperback
Many of us who test as a dedicated profession realize two things. First, what we do requires a lot of emotional brain labor, and it isn't easy to do. Second, we realize that there are a lot of people who do not share that view. Oftentimes, we have to go to great lengths to explain what testing provides for an organization and that (zoinks!), it's not just the testers responsibility to focus on quality. In fact it's the entire organizations role to focus on quality (repeat after me: testers cannot assure what is not there. Developers can create quality product and we can assure that the quality initiatives that are in place are effective, or we can show where quality issues are. We cannot manufacture quality out of thin air. Either it is already there, or it is not).

Beautiful Testing takes a great approach here, in that each chapter is written as a standalone case study. Each chapter likewise has a different author(s). Some of the details are very familiar to every tester, and some situations are unique challenges that many of us may not have faced yet . The first part of the book deals with testing as a people issue, and focuses on tester attributes and abilities. The second section of the book deals with test processes and procedures, and real world examples of those procedures. Part three deals with testing tools and how to make the most of them in real world environments and with real testing challenges.

What's more, each author agrees to donate their portion of royalties for the books to a charitable cause. In this case, the charitable cause is "Nothing but Nets" a program to distribute mosquito nets in Africa to help stem the tide of malaria infections.

Chapter 1 : Was It Good for You? (Linda Wilkinson)

This chapter leads off the book and gives a great introduction to the mindset of a tester, and the reason and rationale they use to help a company get the most out of their software development time. It makes a clear case that "not just anyone can test" (or at least not do so and do it well), and it helps identify the areas testers really care about.

Chapter 2 : Beautiful Testing Satisfies Stakeholders (Rex Black)

There are many stakeholders that have a say and a personal vested interest in our testing being done well and providing a lot of information to help make good decisions. Those stakeholders range from customers, vendors and users, but also include such entities as law enforcement, elected officials, company shareholders and all of the other key contributors to any project (PM's, developers, software developers, and yes, even our fellow testers).

Chapter 3 : Building Open Source QA Communities (Martin Schröder & Clint Talbert)

Using the example of Open Source projects, getting a community involved in the efforts will help get people excited about applications and give those who are part of that community a desire and drive to see it succeed. My own experience with this has been with the Selenium Users Group here in San Francisco. While I find using the tool itself to be interesting, getting involved with and getting to know others that are also actively involved gives me extra energy and motivation to learn and practice more so I can likewise share with the broader community.

Chapter 4 : Collaboration Is the Cornerstone of Beautiful Performance Testing (Scott Barber)

Scott shares some of his insights into the development of his approach to performance testing, and the idea that performance testing challenges can be tackled via collaboration with other groups.

Chapter 5 : Just Peachy: Making Office Software More Reliable with Fuzz Testing (Kamran Khan)

Fuzzing is described as a technique where deliberately corrupt data is entered into your application to see how the system reacts to the inputs (for good or ill). Kamran uses Excel as an example application and demonstrates using tools that fuzz input and data values.

Chapter 6 : Bug Management and Test Case Effectiveness (Emily Chen & Brian Nitz)

Emily and Brian share bug management techniques and methods defining defects as relates to their involvement with Bugzilla and the OpenSolaris Desktop development team.

Chapter 7 : Beautiful XMPP Testing (Remko Tronçon)

Remko walks through examples and issues faced with testing the Extensible Messaging and Presence Protocol (XMPP) and describes his approach to creating Unit Tests for testing protocol interactions.

Chapter 8 : Beautiful Large-Scale Test Automation (Alan Page)

Alan walks the user through an example of test automation on a grand scale, and shows that many of the approaches and methods that are used for small scale automation projects work the same way for large automation, but the scale is totally different. This chapter helps a lot in showing neophyte testers that the steps from one world to another need not be so scary.

Chapter 9 : Beautiful Is Better Than Ugly (Neal Norwitz, Michelle Levesque & Jeffrey Yasskin)

Python has made its way from an interesting yet obscure language back in the 90's to becoming one of the go-to languages of the web and testing today. Testing an entire development scripting language puts a whole new area and emphasis on testing and stability.

Chapter 10 : Testing a Random Number Generator (John D. Cook)

Here's a great example of taking an application that can be tested in a number of ways, and the correctness or incorrectness can be difficult to pin down.

Chapter 11 : Change-Centric Testing (Murali Nandigama)

Murali demonstrates a call system and makes the case that, instead of testing everything over and over again, make a series of tests that will focus on the change. By using a change-centric testing approach, the number of tests run nightly can be reduced dramatically.

Chapter 12 : Software in Use (Karen N. Johnson)

Karen describes the feeling and the responsibility of testing equipment that works in a Hospital's Intensive Care Unit, the very definition of Mission Critical. This one hit close to home, as it described a situation my Dad (a retired physician) faced a number of years ago with a program and a glitch that almost cost patient's lives in an infant ICU. Karen describes the process, ups and downs, and resolutions related to, in her words, working on a product that really matters.

Chapter 13 : Software Development Is a Creative Process (Chris McMahon)

Chris makes the case (and a really compelling one) that developing and testing software is artistic work. Evaluating software quality is evaluating art, and that, when we recognize the artistic aspect of creating software, Beautiful Testing becomes a reality.

Chapter 14 : Test-Driven Development: Driving New Standards of Beauty (Jennitta Andrea)

Jeanette introduces the idea of the Diderot Effect and relays it to test driven development and the unintended consequences of upgrading just one area of a process and thinking that it's all done. To embrace the beauty of TDD, all aspects of the role and purpose of testing and embracing TDD have to be applied. Requirements, system design, he very act of writing code, the pace of work and the level of engagement of the testers involved all face changes when TDD becomes part of the landscape.

Chapter 15 : Beautiful Testing As the Cornerstone of Business Success (Lisa Crispin)

Anyone familiar with Agile Testing will notice the Mind-map that leads off everything, and gives a clear picture of the ideas that Lisa wishes to impart. The take away is clear, testing is part of the overall process of development, and testing is a process at every stage of development. Testing drives development, and development is not complete until tested.

Chapter 16 : Peeling the Glass Onion at Socialtext (Matthew Heusser)

Matt makes the point that, in mathematics, often the simplest solution is the most beautiful solution, and the same holds true for testing. Through examples at Matt's company, Socialtext, he shows how they do not just test to show that they have done testing, but that the solution they have developed fits what their customers want to see.

Chapter 17 : Beautiful Testing Is Efficient Testing (Adam Goucher)

Efficiency and focusing on how to get the best bang for your buck requires setting some parameters, using some tools to help focus on the goal, and making a mindmap to capture test ideas and methods. Adam uses the mnemonic SLIME to help organize his approach ((Security, Languages, RequIrements, Measurement, Existing).

Chapter 18 : Seeding Bugs to Find Bugs: Beautiful Mutation Testing (Andreas Zeller & David Schuler)

Andreas and David discuss the idea of mutation tests, and the tool Javalanche to perform those tests.

Chapter 19 : Reference Testing As Beautiful Testing (Clint Talbert)

An inside look at how Mozilla tests the variety of products in the Mozilla portfolio, and how they create tests and their reference points. Their goal is to encourage people to get involved and test in the way that is the most simple, direct and easy to understand way possible.

Chapter 20 : Clam Anti-Virus: Testing Open Source with Open Tools (Tomasz Kojm)

A look under the hood at an open source product (Clam Anti-Virus, a tool I actively use and wholeheartedly endorse, by the way) , and all of the open source tools used to test it, along with the testing strategies used.

Chapter 21 : Web Application Testing with Windmill (Adam Christian)

Adam provides a quick tutorial in how to set up and use the Windmill web testing tool and a quick way to implement automated testing for web applications. Read more ›
Comment | 
Was this review helpful to you?
6 of 7 people found the following review helpful
5.0 out of 5 stars Excellent read for both big and small concepts November 27, 2009
Format:Paperback
This is a great book for testers, leads, and managers to read to get a better picture of where your testing process can bring value to your work. A few sections of this book didn't get me much value, but the vast majority of the book left me frantically scratching notes and folding corners of pages over. I read the book over a weekend and came away with a large number of major additions to my QA roadmap I use at work.

Kamran Khan's chapter on fuzz testing reinforced my ideas that choking your system with invalid parameters and input data is a tremendous way to shore up that system's stability. I also really enjoyed Lisa Crispin's and Alan Page's separate chapters, both of which emphasized value-driven, sensible approaches to test automation.

If you want an amazing story around how testing can directly impact the lives of those around you, read Karen Johnson's chapter "Software in Use." Johnson ties a visit to an Intensive Care Unit to work she'd done on equipment in that ICU - it's rare anyone sees that practical a link to work we do in this industry.

Other highly worthwhile chapters include the piece on Python's development process, the overview on TDD, Mozilla's regression testing philosophy, and others. The Python chapter, in particular, is a tremendous testament to how a rigorous testing philosophy can guarantee very solid releases even with a broad, distributed team of varying skills.

As my examples above point out, there's a great amount of broad-stroke value in the book; however, a wealth of smaller, critical points abound in various chapters as well. Some weren't phrased exactly like this, but I've taken away these other concept as well:

* Track the source of your bugs (test plans, exploratory, developer, etc.) and pay special attention to bugs found by customers. These "escapees" point to areas to shore up in your test plan.
* Mindmaps are a great way to brainstorm out your test plan or test areas.
* Use small tools like fuzzers to help create your baseline input data.
* 100% passing rates for your automated tests isn't reasonable. Investigating 100% of your failing tests to determine whether the specific failure matters is reasonable. (I already firmly believed this, but it was nice to see in print!)
* Using image comparison to check formatting.

This is one of the better books I've read this year, and it's absolutely worth adding to your shelf.
Comment | 
Was this review helpful to you?
3 of 3 people found the following review helpful
5.0 out of 5 stars Beautiful case studies and essays July 27, 2010
Format:Paperback
As a software developer, I see the importance of good testing on a day to day basis. It is the essential piece of the puzzle that ensures that your efforts bare fruit in terms of business value. However, I also see it as the most neglected and poorly implemented aspect of producing software - at least with some of the projects and environments I worked on (and, sadly, I certainly haven't always been an exception).

Having read this book my drive to improve the testing practices, procedures, and tools has been dramatically invigorated. Of particular interest to me, because they tie more directly with the work I do on a day to day basis, were the chapters on agile development, continuous integration, automated testing, and the associated tools. Chapter 14, "Test-Driven Development: Driving New Standards of Beauty" and "Beautiful Testing as the Cornerstone of Business Success" were truly awe-inspiring. They drew a picture in my mind of the perfect development environment, and even give somewhat of a road-map to get there.

Some of the chapters were excellent for their high level breadth. Chapter 2, "Beautiful Testing Satisfies Stakeholders" and chapter 6, "Bug Management and Test Case Effectiveness" gives you a good sense of the value proposition of a good testing foundation.

Others were a real joy to read (well...I guess if you're a geek). Chapter 1 was an entertaining, yet insightful, view into the mind of a tester. Chapter 12 was dramatic and really made you feel the weight of the pressure to make sure the testing was impeccable. One of my favorite chapters was "Software Development is a Creative Process", chapter 13. This chapter distilled how I feel about development.

There were a few chapter that didn't give me much value. Many of the chapters were very narrowly focused on a specific technology or project, and didn't do enough, in my opinion, to relate the chapter to the larger scope. Chapter 21, "Web Application Testing With Windmill" read almost like marketing material for the product. I also didn't get much out of "Beautiful XMPP Testing" (chapter 6) and "Testing a Random Number Generator" (chapter 10). These chapter, however, really didn't detract from the overall superb quality of the writing or high value of the information contained in this book - not to mention that it is probably a matter of perspective.

If you are involved in any aspect of software development, you should consider this required reading. The knowledge and insight taken out of this book will certainly make me more effective professionally.
Comment | 
Was this review helpful to you?
Most Recent Customer Reviews
5.0 out of 5 stars Thoughtful Testing
Disclaimer: I've read portions of the book, not all of it. I'll specify these sections as I review. I'm reviewing the eBook version. (The PDF is great! Read more
Published 3 months ago by Alejandro Cabrera
3.0 out of 5 stars Ask Felgall - Book Review
I found this book to be a rather interesting mix of chapters that were exteremely interesting an enlightening as well as some that were of no interest whatever. Read more
Published 17 months ago by Stephen Chapman
4.0 out of 5 stars Understanding testers and testing
The book features 23 essays from leading testers, all providing different takes on what it means for testing to be beautiful. Read more
Published 21 months ago by Yuriy Zubarev
5.0 out of 5 stars Well worth the money
It's difficult from my job position to meet other quality engineers and see what other people are doing. Read more
Published 23 months ago by Lydia Carlsson
5.0 out of 5 stars Insight Into Testing
Beautiful Testing is a compilation of a series of distinct essays from developers and testers about what they find beautiful in software testing. Read more
Published on December 22, 2010 by B.L.
5.0 out of 5 stars Excellent book on testing
This book is an inspirational collection of works to encourage us to do better testing. Every tester can learn plenty of great new testing tips from several industry experts in... Read more
Published on November 19, 2009 by Satya Dodda
5.0 out of 5 stars Great Book on Testing
Beautiful TEsting is written by a number of talented testers, developers and engineers. It is unique book since it does not focus one area of testing but gives the readers lot of... Read more
Published on November 9, 2009 by Frank Stepanski
Search Customer Reviews
Only search this product's reviews

What Other Items Do Customers Buy After Viewing This Item?


Forums

There are no discussions about this product yet.
Be the first to discuss this product with the community.
Start a new discussion
Topic:
First post:
Prompts for sign-in
 



So You'd Like to...



Look for Similar Items by Category