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

 Agile Development

 

 

 

 

 

 

 

 

 

 

 

 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
  • 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.
8) 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.

Advertisements

3 thoughts on “Getting the best out of Agile Testing

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s