Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Presentation on Agile
Testing
By - Rahul Kumar
www.1Solutions.biz
What is Agile Testing?
A software testing practice that follow the principle of agile software development
is called Agile Testing.
Agile is an iterative development methodology where requirement evolve through
collaboration between the customer and self-organizing teams and agile aligns
development with customer need.
Agile Testing Graphical Representation
Principles of Agile Testing
Testing is NOT a Phase: Agile team tests continuously and continuous testing is
the only way to ensure continuous progress.
Testing Moves the project Forward:
When following conventional method, testing is considered as quality gate but
agile testing provide feedback on an ongoing basis and the product meets the
business demand.
Everyone Tests: In conventional SDLC only test team test while in agile
including developer and BA's test the application.
Principles of Agile Testing
Shortening Feedback Response Time: In conventional SDLC only during the
acceptance testing the Business team will get to know the product
development while in agile for each and every iteration they are involved and
continuous feedback shorten the feedback response time and cost involved in
fixing is also less.
Advantages of Agile Testing
● Agile Testing Saves Time and Money
● Less Documentation
● Regular feedback from the end user
● Daily meetings can help to determine the issues well in advance
Disadvantages of Agile Model:
In case of some software deliverable especially the large one it is
difficult to assess the effort required at the beginning of the
software development life cycle. There is lack of emphasis on
necessary designing and documentation.The project can easily get
taken off track if the customer representative is not clear what final
outcome that they want.
Understanding The Agile Methodology
You are still wondering what exactly Agile is all about its basic principle can
probably best be explained in comparison to more traditional approaches to
software development such as “waterfall” which Agile adherents believe to be an
archaic holdover from an era when software first became a packaged commodity
to be produced and sold to consumer like other physical good.
SDLC - Agile Model
Agile SDLC model is a combination of iterative and incremental process models
with focus on process adaptability and customer satisfaction by rapid delivery of
working software product. Agile Methods break the product into small incremental
builds. These builds are provided in iterations. Each iteration typically lasts from
about one to three weeks. Every iteration involves cross functional teams working
simultaneously on various areas like
● Planning
● Requirements Analysis
● Design
Agile Vs Traditional SDLC Model
Agile is based on the adaptive software development method, whereas the
traditional SDLC model like the waterfall model is based on a predictive approach.
Predictive teams in the traditional SDLC models usually work with detailed
planning and have a complete forecast of the exact tasks and features to be
delivered in the next few months or during the product life cycle.
Agile Vs Waterfall Method
Agile and Waterfall model are two different method for software development
process. Though they are different in their approach both method are useful at
time depending on the requirement
Agile Model
● Agile method proposes
incremental and iterative
approach to software design
● The agile process is broken into
individual model that designers
work on
Waterfall Model
● Development of the software flows
sequentially from start point to end
point.
● The design process is not broken
into an individual model
● The customer can only see the
product at the end of the project
Agile Testing Methodology
Scrum
SCRUM is an agile development method which concentrates specifically on how
to manage tasks within a team-based development environment. Basically Scrum
is derived from activity that occurs during a rugby match. Scrum believes in
empowering the development team and advocates working in small teams (say- 7
to 9 members) Scrum Master:
Master is responsible for setting up the team sprint meeting and removes
obstacles to progress Product owner:
The Product Owner creates product backlog, prioritizes the backlog and is
responsible for the delivery of the functionality at each iteration
Dynamic Software Development Method ( DSDM
)
DSDM is a Rapid Application Development (RAD) approach to software
development and provides an agile project delivery framework. The important
aspect of DSDM is that the users are required to be involved actively and the
teams are given the power to make decision. Frequent delivery of product become
the active focus with DSDM. The techniques used in
DSDM
Time Boxing
MoSCoW Rules
Extreme Programming (XP)
Extreme Programming technique is very helpful when there is constantly changing
demand or requirement from the customer and when they are not sure about the
functionality of the system. It advocate frequent "releases" of the product in short
development cycles which inherently improve the productivity of the system and
also introduce a checkpoint where any customer requirement can be easily
implement. The XP develop software keeping customer in the target.
Extreme Programming Image Representation
Rapid Application Development
Rapid application development(RAD) is both a general term used to refer to alternatives
to the conventional waterfall model of software development as well as the name for
James Martin's approach to rapid development. In general RAD approaches to software
development put les emphasis on planning and more emphasis on process
RAD Model Design
RAD model distribute the analysis design build and test phase into a series of
short iterative development cycle.
Business Modeling
The business model for the product under development is designed in terms of
flow of information and the distribution of information between various business
channel.
Data Modeling
The information gathered in the Business Modeling phase is reviewed and
analyzed to form sets of data objects vital for the business. The attribute of all data
set is identified and defined. The relation between these data object are
established and defined in detail in relevance to the business model.
Process Modeling
The data object set defined in the Data Modeling phase are converted to establish
the business information flow needed to achieve specific business objectives as
per the business model. The process model for any change or enhancement to
the data object set is defined in this phase.
Application Generation
The actual system is built and coding is done by using automation tool to convert
process and data model into actual prototype.
Testing and Turnover
The overall testing time is reduced in the RAD model as the prototypes are
independently tested during every iteration. However the data flow and the
interfaces between all the component need to be thoroughly tested with complete
test coverage. Since most of the programming components have already been
tested..
Any Questions ?
For any queries contact-
1Solutions
46, Hasanpur Village, IP Extension, Patparganj,
New Delhi- 110092
Website: https://www.1solutions.biz/
Email - info@1solutions.biz
Contact- 011 42471069

More Related Content

Presentation on Agile Testing

  • 1. Presentation on Agile Testing By - Rahul Kumar www.1Solutions.biz
  • 2. What is Agile Testing? A software testing practice that follow the principle of agile software development is called Agile Testing. Agile is an iterative development methodology where requirement evolve through collaboration between the customer and self-organizing teams and agile aligns development with customer need.
  • 3. Agile Testing Graphical Representation
  • 4. Principles of Agile Testing Testing is NOT a Phase: Agile team tests continuously and continuous testing is the only way to ensure continuous progress. Testing Moves the project Forward: When following conventional method, testing is considered as quality gate but agile testing provide feedback on an ongoing basis and the product meets the business demand. Everyone Tests: In conventional SDLC only test team test while in agile including developer and BA's test the application.
  • 5. Principles of Agile Testing Shortening Feedback Response Time: In conventional SDLC only during the acceptance testing the Business team will get to know the product development while in agile for each and every iteration they are involved and continuous feedback shorten the feedback response time and cost involved in fixing is also less.
  • 6. Advantages of Agile Testing ● Agile Testing Saves Time and Money ● Less Documentation ● Regular feedback from the end user ● Daily meetings can help to determine the issues well in advance
  • 7. Disadvantages of Agile Model: In case of some software deliverable especially the large one it is difficult to assess the effort required at the beginning of the software development life cycle. There is lack of emphasis on necessary designing and documentation.The project can easily get taken off track if the customer representative is not clear what final outcome that they want.
  • 9. You are still wondering what exactly Agile is all about its basic principle can probably best be explained in comparison to more traditional approaches to software development such as “waterfall” which Agile adherents believe to be an archaic holdover from an era when software first became a packaged commodity to be produced and sold to consumer like other physical good.
  • 10. SDLC - Agile Model Agile SDLC model is a combination of iterative and incremental process models with focus on process adaptability and customer satisfaction by rapid delivery of working software product. Agile Methods break the product into small incremental builds. These builds are provided in iterations. Each iteration typically lasts from about one to three weeks. Every iteration involves cross functional teams working simultaneously on various areas like ● Planning ● Requirements Analysis ● Design
  • 11. Agile Vs Traditional SDLC Model Agile is based on the adaptive software development method, whereas the traditional SDLC model like the waterfall model is based on a predictive approach. Predictive teams in the traditional SDLC models usually work with detailed planning and have a complete forecast of the exact tasks and features to be delivered in the next few months or during the product life cycle.
  • 12. Agile Vs Waterfall Method Agile and Waterfall model are two different method for software development process. Though they are different in their approach both method are useful at time depending on the requirement Agile Model ● Agile method proposes incremental and iterative approach to software design ● The agile process is broken into individual model that designers work on Waterfall Model ● Development of the software flows sequentially from start point to end point. ● The design process is not broken into an individual model ● The customer can only see the product at the end of the project
  • 14. Scrum SCRUM is an agile development method which concentrates specifically on how to manage tasks within a team-based development environment. Basically Scrum is derived from activity that occurs during a rugby match. Scrum believes in empowering the development team and advocates working in small teams (say- 7 to 9 members) Scrum Master: Master is responsible for setting up the team sprint meeting and removes obstacles to progress Product owner: The Product Owner creates product backlog, prioritizes the backlog and is responsible for the delivery of the functionality at each iteration
  • 15. Dynamic Software Development Method ( DSDM ) DSDM is a Rapid Application Development (RAD) approach to software development and provides an agile project delivery framework. The important aspect of DSDM is that the users are required to be involved actively and the teams are given the power to make decision. Frequent delivery of product become the active focus with DSDM. The techniques used in DSDM Time Boxing MoSCoW Rules
  • 16. Extreme Programming (XP) Extreme Programming technique is very helpful when there is constantly changing demand or requirement from the customer and when they are not sure about the functionality of the system. It advocate frequent "releases" of the product in short development cycles which inherently improve the productivity of the system and also introduce a checkpoint where any customer requirement can be easily implement. The XP develop software keeping customer in the target.
  • 17. Extreme Programming Image Representation
  • 18. Rapid Application Development Rapid application development(RAD) is both a general term used to refer to alternatives to the conventional waterfall model of software development as well as the name for James Martin's approach to rapid development. In general RAD approaches to software development put les emphasis on planning and more emphasis on process
  • 19. RAD Model Design RAD model distribute the analysis design build and test phase into a series of short iterative development cycle. Business Modeling The business model for the product under development is designed in terms of flow of information and the distribution of information between various business channel. Data Modeling The information gathered in the Business Modeling phase is reviewed and analyzed to form sets of data objects vital for the business. The attribute of all data set is identified and defined. The relation between these data object are established and defined in detail in relevance to the business model.
  • 20. Process Modeling The data object set defined in the Data Modeling phase are converted to establish the business information flow needed to achieve specific business objectives as per the business model. The process model for any change or enhancement to the data object set is defined in this phase. Application Generation The actual system is built and coding is done by using automation tool to convert process and data model into actual prototype. Testing and Turnover The overall testing time is reduced in the RAD model as the prototypes are independently tested during every iteration. However the data flow and the interfaces between all the component need to be thoroughly tested with complete test coverage. Since most of the programming components have already been tested..
  • 21. Any Questions ? For any queries contact- 1Solutions 46, Hasanpur Village, IP Extension, Patparganj, New Delhi- 110092 Website: https://www.1solutions.biz/ Email - info@1solutions.biz Contact- 011 42471069