If your agile development team wants to deliver high-quality software applications, there are two things the team must do:
- Automate the regression testing effort
- Get real users involved in acceptance testing early
(Okay, there are lots of other things as well, but let’s focus on these two.)
Automate the regression testing effort
Face it — regression testing can be boring. How many times does a portion of the application have to be tested? Ideally, everything should be retested at the end of every sprint or iteration. If you have 10 sprints, you have 10 test cycles. Testing new features is fun. Retesting existing features over and over is not.
If you run with 1-2 week sprints, which I recommend, you’ll be doing a lot of retesting. After a while, any of us will begin to see what we expect to see. We may blow right by an error message as we race through menus and dialog boxes to complete the next test.
The problem many agile teams run into is that automating the regression tests can be complex and time-consuming. If your test software is too complex, you’ll spend large amounts of time testing and debugging the test code.
Get real users involved in acceptance testing early
This one should be obvious. No matter how good a job the QA engineers do, there is simply no substitute for real user feedback. They are familiar with the business processes. They know what the software needs to do. They understand the data characteristics.
Don’t fall into the trap of delivering what the users asked for but not what they really need. Engage them as early and often as possible.
Here are a few more things to keep in mind as you figure out how to test the software:
- Keep manual and automated tests simple, clear and repeatable, so they are easy to maintain and enhance.
- Make the test results concise and obvious; they should not be subject to human interpretation.
- Take advantage of automated test tools to minimize custom test-software development.
- Invest the most testing effort in areas of the software that are most complex.
- Strike a balance between manual and automated testing; don’t blindly automate everything.
- Aim for a minimum of 75-80% coverage in your automated tests; 100% is rarely needed.
Software testing may not be glamorous but it’s absolutely essential. Cut it short or skip it entirely and you’ll hear about it — from your soon-to-be-former customers.
Leave a comment
- May 2013 (10)
- April 2013 (13)
- March 2013 (13)
- February 2013 (12)
- January 2013 (12)
- December 2012 (7)
- November 2012 (11)
- October 2012 (12)
- September 2012 (8)
- August 2012 (11)
- July 2012 (13)
- June 2012 (12)
- May 2012 (13)
- April 2012 (13)
- March 2012 (13)
- February 2012 (12)
- January 2012 (13)
- December 2011 (12)
- November 2011 (12)
- October 2011 (13)
- September 2011 (14)
- August 2011 (18)
- July 2011 (13)
- June 2011 (18)
- May 2011 (19)
- April 2011 (16)
- March 2011 (21)
- February 2011 (20)
- January 2011 (22)
- December 2010 (21)
- November 2010 (16)
- July 2010 (2)