Favourite Quote

Every artist was first an amateur. - Ralph Waldo Emerson The more difficulties one has to encounter, within and without, the more significant and the higher in inspiration his life will be. - Horace Bushnell

Wednesday, June 16, 2010

Agile Testing

Agile testing is a software testing practice that follows the principles of the agile manifesto, emphasizing testing from the perspective of customers who will utilize the system. Agile testing does not emphasize rigidly defined testing procedures, but rather focuses on testing iteratively against newly developed code until quality is achieved from an end customer's perspective. In other words, the emphasis is shifted from "testers as quality police" to something more like "entire project team working toward demonstrable quality."
The Word Agile means "Moving Quickly" and this explains the whole concept of Agile Testing. Testers have to adapt to rapid deployment cycles and changes in testing patterns.
Agile testing involves testing from the customer perspective as early as possible, testing early and often as code becomes available and stable enough from module/unit level testing.
Since working increments of the software are released often in agile software development, there is also a need to test often. This is commonly done by using automated acceptance testing to minimize the amount of manual labor involved. Undertaking only manual testing in agile development may result in either buggy software or slipping schedules, as it may not be possible to test the entire build manually before each release.
In Agile Testing, testers are no longer a form of Quality Police. Testing moves the project forward leading to new strategy called Test Driven Development.
Testers provide information, feedback and suggestions rather than being last phase of defense.
Testing is no more a phase; it integrates closely with Development.
Continuous testing is the only way to ensure continuous progress.
Reduce feedback loops, Manual regression tests take longer to execute and, because a resource must be available, may not begin immediately.
Feedback time can increase to days or weeks. Manual testing, particularly manual exploratory testing, is still important.
However, Agile teams typically find that the fast feedback afforded by automated regression is a key to detecting problems quickly, thus reducing risk and rework.
Keep the code clean. Buggy software is hard to test, harder to modify and slows everything down. Keep the code clean and help fix the bugs fast.
Lightweight Documentation Instead of writing verbose, comprehensive test documentation.
Agile testers:
• Use reusable checklists to suggest tests
• Focus on the essence of the test rather than the incidental details
• Use lightweight documentation styles/tools
• Capturing test ideas in charters for Exploratory Testing
• Leverage documents for multiple purpose automationwithselenium.blogspot.com-Google pagerank and Worth