Getting the best out of Agile Testing
Getting the best out of Agile Testing.
Agile Development :
Agile Development refers to a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams. It is characterized by release of small manageable features to meet the market demands.
What is the Agile manifesto?
The word “Agile” was created when the Agile manifesto was formulated. So let’s see what the Agile manifesto stands for.
Agile values
INDIVIDUALS AND INTERACTIONS over PROCESSES AND TOOLS
WORKING SOFTWARE over COMPREHENSIVE DOCUMENTATION
CUSTOMER COLLABORATION over CONTRACT NEGOTIATION
RESPONDING TO CHANGE over FOLLOWING A PLAN

To know more about the Agile manifesto, visit http://www.agilemanifesto.org
Agile Development Methodologies
Agile Development went on to encompass the following under its ever growing umbrella.
- Xtreme Programming (XP)
- Crystal
- Adaptive Software Development (ASD)
- Scrum
- Feature Driven Development (FDD)
Role of Testing
Role of testing is not limited to the testers. Even the developers are part of the testing environment.
1) Testing signify the direction and status of the project.
2) Testing provides additional information to the team on the behavior of the application.
3) Testing does not assure QUALITY. It is the team that assures quality.
4) A “bug” is anything that could bug a user. Testing does not take a final call on that.
5) Testing is not a game of “Hide and Seek”. In fact, we should find ways to set goals, instead of focusing on the blame game.
As an effective contribution to Agile Testing, we have the following types
- Test Driven Programming/ Test Driven Development
- In this approach, the developers write unit tests before coding.
- This approach is known to motivate coding techniques
- Improve and support refractoring
- Typical tools used in this approach are
- xUnit
- JUnit
- Nunit
- In this approach, the developers write unit tests before coding.
- Acceptance Testing
- In this testing, the user stories are verified for completion. Since the user stories are written before coding, it is likely to be verified for completion and mapping to the application.
- (What are User Stories? These are short description of identified features which are subsequently developed).
- Exploratory Testing
- Explore the product with each iteration.
- The main objective is to look out for defects, observations, suggestions, missing features, distorted features.
- Try to implement and use a full round or cycle of functionality that will comprehensively test the entire application.
Tips for Agile Testers
1) Remember that there is no separate test team. The testers need to work in tandem with the Developers to conduct a successful test.
2) To do justice to your justice in the short time available, calls for close integration and co-ordination between developers and testers.
3) Some developers might coerce a tester to write unit test cases. Do avoid this, since it is the tester who might lose the advantage when asked to conduct a white box test.
4) The role of the tester is the toughest in the Agile development process. They will need to do a really good test in the short time. At times, it may not be possible to conduct a thorough test on the overall functionality of the application.
5) Most testers are conversant with the traditional means/ ways of testing. The techniques employed for traditional testing may not hold for the Agile testing.
6) There is no time to write test plans and test cases. You will need to rely on test scenarios to get a full coverage on the testing undertaken.
7) For complex functionality, it is wise to pair up with a developer and test the functionality using the techniques for pair-testing.
Ask questions to the development team. This will enable you to know the detailed functionality as regards the application.
9) Act as the teams’ quality conscience.
10) A tester needs to be supported well by sufficient inputs from the development team.
11) Testers to be part of the sprint planning meetings, so that the plan for the day is known to them. This will enable them to get a fair hand on the tasks that may arise for the day.
12) Use the concept of risk analysis to identify testing tasks. The higher risk areas to be tested with priority.
Additional skills for an Agile Tester.
1) Ability to handle stress.
2) Ability to provide creative suggestions and business overview tips.
3) Ability to incorporate lean testing methods.
4) Ability to communicate a clean and to the point test results.
5) Ability to communicate with the most stubburn developer.
6) Ability to gauge the severity and priority of the identified Task/ Bug.
7) Should be adept in Communication, Flexibility, Collaboration.
My best wishes to all those testers out there and to those developers for going out of their way in providing sufficient inputs to these testers. Ultimately it is product/ application which gains and not the individual. Software Development is all about team work and co-ordination.
June 23, 2009 - Posted by Abhilash Gopi | Software Development, Software Testing | acceptance test, agile development, Agile Testing, exploratory test, iterative process, test driven development, user stories | 2 Comments
2 Comments »
Leave a comment
About Me

I am Abhilash Gopi, an eccentric creature on earth and created so by the Almighty.
Hey there!!! I am really very eccentric as my blogname suggests. Wanna get a dose of eccentricity. C’mon.
Welcome to the eccentric place of Abhilash. |
Welcome to the Eccentric Place. |
Such a lovely place, such a lovely place. |
Plenty of room at this eccentric place. |
You can check out anytime you like but you can never leave. |
A place for Software Testing basics, Health Tips and Weight Training tips.
Occupation : Working to enforce better softwares
Hobbies : Painting, Sketching, Poetry, Aero Modelling, Reading, Fitness Freak, Palmistry, Graphology, BreakDancin.
Positive Traits : Emotional, Loving, Intuitive, Imaginative (the reason for my various hobbies), Protective, Sympathetic.
Negative Traits: Cautious, Protective, Moody.
Beware of : My anger (It’s out of the world, but there is a flipside. I have loads ‘n’ loads of patience, so my blowing the cork is a rare phenomenon. Cheer up!!!).
Dislike most : Selfishness, Dishonesty, Bragging, Snobbishness.
Likes most : Originality (being true to oneself) and humility.
Tags
agile development Agile Process Agile Product Development arms workout Automation Framework Automation Testing Bugs cmdn CMDN.com database Database Testing Defects diet exercise exercises fitness General Health Tips King of Pop Live Cricket Scores Michael Jackson motivation Mumbai 26/11 oracle Performance Testing Performance Tuning physical fitness PM Hut pushups QTP Risk Analysis Risk Management security Software Automation Software Project Management Software Testing sql sql server structured query language test cases Tribute Wacko Jacko Web applications weight training White Box TestingPages
Archives
Blogroll
Category Cloud
-
Recent Posts
Site info
Abhilash’s Software Testing Basics, Weight Training TipsTheme: Andreas04 by Andreas Viklund. Blog at WordPress.com.
Comment from Abhilash.
I would like you all to refer to this great youtube video on Agile/ Scrum. Too good and you get the concepts across.
http://www.marcslijper.nl/2009/06/27/scrum-in-8-minuten-uitgelegd/
Hi Abilash,
Nice and useful tips !!!!, It il be more helpful I’m doing a bit research on test automation, and i also found macro testing http://www.macrotesting.com be a good source.
Thank you for the tips…