• info@helpingtesters.com
  • helpingtesters

Testing in Agile

September 6, 2016
agile testing, agile testing process, agile testing methodology, Agile test

Before knowing the Agile test, it is important to know what Agile is. It is a methodology for Software Development which is based on iterative and incremental approach, Now what does incremental approach mean. Incremental Approach means that whole software Development process occurs in a repetitive iteration. We are developing some features of the application in a cycle and adding some more features in it, also incorporating change required after review of the previous cycle.

AGILE Methodology

  • Now when we are talking Software Development, it means whole software development process including web designing, development, documentation, and testing which is taken care by a self-organised team.
  • At the end of the iteration, the application developed is reviewed and further planning for next iteration is done.
  • It is effective when the requirement is frequently changed by the client.
  • Since it is based on Iterative and Incremental model and it has more than iteration, then one can assure of a solution that meets the client requirement.
  • Frequent client interaction is required in order to meet the business requirement of the client. If we talk in terms of testing, it requires great testing effort.
  • Since the requirement is not clear and frequent client interaction is required unlike waterfall model, it is considered unstructured when compared to waterfall model where requirement gathering plays important role and requirement is finalized.
  • Here less documentation and Planning is done.
  • After knowing what Agile test is, now it is clear that it is used in the case when a customer is not clear of its requirement, frequent client interaction is required and requirement evolve over time or we may say that requirement evolves with each iteration, based on business priorities of the client.
  • It also involves lots of talk with customer and development team.
  • better say self-organizing team after a regular interval, usually at the end of each iteration and the time period of the cycle is usually few weeks and may vary depending on organization practice.

How work is assigned and completed in Agile Test

There are various Agile test methodologies, which are more or less same in characteristics. But they are little different in their implementation practice. Some of the examples of different Agile test frameworks include:

  • Adaptive software development (ASD)
  • Agile Unified Process (AUP)
  • Crystal Clear methods
  • Disciplined agile delivery
  • Dynamic systems development method (DSDM)
  • Extreme programming (XP)
  • Feature-driven development (FDD)
  • Lean software development
  • Scrum

Please note that Agile test frameworks are just not limited to the frameworks stated above, there are still many more frameworks. Any of the above frameworks can be used by organizations as Software Development Life Cycle

Scrum is the most commonly used Agile test methodology. It has easy to implement process framework for all iterative and incremental projects.

  • It has become very popular in today’s software development industry due to simple processes and proved productivity.
  • Each iteration of the software development cycle is called Sprint which can be 1-2 months.
  • Planning is done for the iteration to develop the requirement in the form of Software Application which is based on the prioritized requirement of the client.
  • Business requirements which are of top most priority of the client are developed in the early iteration.
  • One of the advantages of this methodology is that if a developer is not able to develop the required features, as per the requirement of the client for the particular iteration within given fixed time of the iteration, it can be left to be done in next iteration.
  • Though it is not what is generally expected by the client.

After knowing what is Agile, it is important for Agile test teams to know how testing is done in Scrum Agile

Testing in Agile

  • In Scrum, Testers and developers work together hand in hand to find the defect and fix the issue.
  • Every time a function is released by the developer on Sprint, it is tested by Agile test team immediately and Bug is reported and at the same time fixed by the developer and again regression testing of the bug is done to ensure that bug is fixed. 
  • At the end of every sprint, User Acceptance Testing is done, to ensure that software release meets the client’s requirement, for the particular sprint.
  • When there is planning done for sprint for specified period, when the task for the sprint backlog is discussed, self-organized, Agile test team members choose the tasks among themselves and also decision is based on who will do the task in minimum time.
  • It is not that anybody assigns the task to anybody, either the task is picked by the team member or whole team members decide their work in such a way that whole sprint backlog is covered within a specified time.
  • Some of the Agile test estimation techniques are as below, based on which task is allocated where task allocation is done by Agile development team members based on different theories:
  • Planning Poker
  • The Bucket System
  • Big/Uncertain/Small
  • TFB / NFC / 1 (Sprint)
  • Dot Voting
  • T-Shirt Sizes
  • Affinity Mapping
  • Ordering Protocol
  • Divide until Maximum Size or Less
  • Process Flow of Scrum with roles
  • Product Owner: Product Owner prepares Product Backlog which is a collection of all requirements to be developed in end product, out of which Sprint Backlog is prepared and planning is done for the whole sprint in Sprint Planning Meeting.
  • Development Team: Development team is a small group of self-organised people, the usual group of 8-9 people with development, testing, and documentation skills, work on the sprint backlogs.
  • They take Daily Scrum meeting, what is called Daily Standoff meeting in which they discuss what has been done on the previous day, what to be done today and about impediments in the work.
  • Scrum Master: Scrum Master is a person responsible for ensuring smooth development and taking care of the requirement of the development team and remove impediments if any. Participate in Sprint Review meeting and Sprint Retrospective Meeting in which scrum master defines Process improvement and Task prioritization for next sprint.

Sometimes, other stakeholders are also present in Sprint Review and Sprint Retrospective meeting along with Product Owner to see if Product delivered is up to the mark.

Thus we see that Agile is Software Development Life Cycle or Software Development Methodology which is becoming popular day by day based on incremental and iterative approach, with proved productivity.

 

About the author

HelpingTestersTeam administrator

Blog is credited to HelpingTesters.com team

5 Comments

Bina

September 13, 2016 at 11:34 am

Hello very cool web site!! and courses and blogs for testers

Sushil Verma

September 15, 2016 at 2:09 pm

Totally agree what you have shared in Agile. Perfect

Pawan

September 17, 2016 at 4:29 am

Thank you for any other magnificent post.

Arundeep

September 19, 2016 at 5:09 am

That is the precise weblog for anyone who desires to seek out out about this topic. 

Misty

December 29, 2016 at 9:20 pm

What a pleasure to find someone who ideitnfies the issues so clearly

Leave a Reply

Your email address will not be published.