Sunday, April 10, 2011

Agile Testing Concept

What is Agile Testing?
“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.”

Agile Methodology
Agile methodology is a collection of values, principles, and practices that incorporates iterative development, test, and feedback into a new style of development.

Agile Values
      INDIVIDUALS & INTERACTION over Processes and tools
      Working Software over comprehensive documentation
      Customer Collaboration over Contract Negotiation
      Responding to change over following a Plan
From the above, it can be gauged that in an Agile Environment more importance is given to the team, interaction between the team members, Customers View, Customers Interaction, Customers Satisfaction, quality product & teams attitude towards the continuous changes to the software required throughout the Application development 

Key Difference between Agile and Traditional System
      Development is incremental rather than sequential. Software is developed in incremental, rapid cycles. This results in small, incremental releases, with each release building on previous functionality. Each release is thoroughly tested, which ensures that all issues are addressed in the next iteration.
      People and interactions are emphasized, rather than processes and tools. Customers, developers, and testers constantly interact with each other. This interaction ensures that the tester is aware of the requirements for the features being developed during a particular iteration and can easily identify any discrepancy between the system and the requirements.
      Working software is the priority rather than detailed documentation. Agile methodologies rely on face-to-face communication and collaboration, with people working in pairs. Because of the extensive communication with customers and among team members, the project does not need a comprehensive requirements document.
      Customer collaboration is used, rather than contract negotiation. All agile projects include customers as a part of the team. When developers have questions about a requirement, they immediately get clarification from customers.
      Responding to change is emphasized, rather than extensive planning. Extreme Programming does not preclude planning your project. However, it suggests changing the plan to accommodate any changes in assumptions for the plan, rather than stubbornly trying to follow the original plan.

Agile Methodology Approaches
      Extreme Programming
      Scrum
      Dynamic Systems Development Method (DSDM)
      Agile Modeling
      Adaptive Software Development (ASD)
      Agile Unified Process (AUP)
      Feature Driven Development (FDD)

Why we need Agile?
  1.         Cycle time to react to customer requirements is less
  2.         Complex requirements
  3.         International competition to GO LIVE
  4.         New Business Opportunities need exploration of new concepts

The Challenges in Agile Testing
Agile Testers face lot of challenges when they are working with Agile development team. A tester should be able to apply Root-Cause Analysis when finding severe bugs so that they unlikely to reoccur. While Agile has different flavors, Scrum is one process for implementing Agile. Some of the challenging scrum rules to be followed by every individual are
  •  Obtain Number of Hours Commitment Up Front
  •  Gather Requirements / Estimates Up Front
  •  Entering the actual hours and estimated hours daily.
  •  Daily Builds
  •  Keep the Daily Scrum meetings short
  •  Code Inspections are Paramount
So, in order to meet the above challenges, an agile tester needs to be innovative with the tools that they have. A great idea happens when what you have (tangible and intangible) meets the world’s deepest hunger.

2 comments:

  1. Not much on Agile testing concept.

    ReplyDelete
  2. Hi,

    There is no information about agile testing concept. Your posted just method of Agile Process.

    If you have any checklist on Agile Testing Concept. Please post the same.

    Ganesaraman

    ReplyDelete