Drop Down MenusCSS Drop Down MenuPure CSS Dropdown Menu

Agile Testing - A better way to understand Agile Testing

Before understanding Agile Testing, we have to first understand the term "Agile".

Agile means "Ability to respond to change quickly, in-order to succeed in uncertain environment".

So what is Agile Testing ?

Testing practice followed in the projects where Agile development is used to develop the software is known as Agile Testing.



How to understand Agile Testing in a better way ?

In order to understand Agile Testing in a better way, we have to understand the below Agile Concepts first:

1. What are the different Software Development Models ?

We have to choose the Software Development Models, based on the Project's aims and goals:

The below are the different software development models available in the market to choose:

  • Waterfall Model
  • Iterative Model
  • Incremental Model
  • Spiral Model
  • Agile Model
  • V Model
  • RAD Model

The below digram, depicts all the Software Development models available in the market:



2. What is Agile Software Development ?

Development of Software using various Agile Development methodologies available in the market is known as Agile Software Development. 

3. What are the different Agile Software development Methodologies available in the market ?

Based on the project needs Agile Software Development, we have to choose the appropriate Agile Development Methodology for developing the software. There are several agile software development methodologies in the market and the below are the most popular ones:

  • Scrum
  • Extreme Programming (XP)
  • Kanban
  • Crystal
  • Dynamic Systems Development Method (DSDM)
  • Lean 
  • Feature-Driven Development
  • Adaptive Software Development

The below digram depicts all the Agile Development Methodologies available in the market:




Though each and every Agile Methodologies shown above has its own approach for developing the software, they all share a common values and principles provided by Agile Manifesto.

The Agile Manifesto emphasizes on the below four core values:


  • People and their interactions over Process and Tools 
  • Working Software over little or no documentation
  • Continuous Customer collaboration instead of negotiating on the requirements provided by Customers while signing the contract
  • Responding to the changes instead of following a specific and lengthy plans

And also, all the Agile Methodologies follow the below attributes in common to make the development process flexible / adaptable:

  • Incremental development 
  • Iterative development
  • Fast and Continuous Feedback during the development process
  • Fast and Continuous Delivery 
  • Changing business requirements during the development process to give better value to the end users
  • Adaptive planning by better understanding the user needs during the development process
  • Engaging other Stake holders during the development process
  • More collaboration during the development process
  • Less documentation required
  • Face to face interactions over documentation
  • Designs will continuously emerge and become better day by day to suite the end user needs
  • Focus on Internal Quality while the development progresses


To support the Agile Manifesto, the below 12 principles needs to be followed by the teams working in Agile development models:


  • Highest priority is to satisfy the customers through early and continuous delivery of valuable software
  • Welcome changing requirements, even late in the development. Agile process harness change for the customer's competitive advantage
  • Deliver working software frequently, from a couple of weeks to couple of months, with a preference to the shorter timescale
  • Business people and developers must work together daily throughout the project
  • Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
  • The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. 
  • Working software is the primary measure of progress
  • Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. 
  • Continuous attention to technical excellence and good design enhances agility.
  • Simplicity-The art of maximizing the amount of work not done-is essential
  • The best architectures, requirements, and designs emerge from self-organizing teams
  • At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Agile Practices:

Different methodologies in Agile development are supported by various concrete Agile practices, the below are few notable Agile Practices which are followed by mostly:



Revisiting Agile Testing

Once you have understood the below Agile concepts, understanding the Agile Testing is a piece of cake for you:


  • Agile is one of the Software Development models
  • There are various development methodologies / frameworks in Agile Development model
  • All the Agile development methodologies follow core values and principles of Agile Manifesto
  • To support the Agile development methodologies with the core values and principles of Agile Manifesto, there are various Agile practices

Once you have understood the above four points, go through the below to understand Agile Testing:

Agile Testing is a software testing practice which follows the principles of Agile Software Development. In Agile Testing, from the beginning of the project, the Testing teams works in parallel with the development by collaborating with both Developers and Business team. 

Agile Testing focuses on getting the defects fixed immediately, instead of waiting for the end of the project. Cost are expected to go down as the time between the development and testing decreases.


No comments:

Post a Comment