17 February 2016

SDLC Cont: Agile / Iterative Model

The software development project is divided into mini-projects, each of which is
an iteration that results in an increment.
 Each iteration deals with the most important risks and realizes a group of use
cases that together extend the usability of the product as developed so far.
 In the early phases, a superficial design might be replaced by a more detailed or
sophisticated one
 In later phases, increments are typically additive
 Agile model recognizes testing as an integral part of software development,
along with coding
 Testing and coding are done incrementally and iteratively, building up each
feature until it provides enough value to release to production

Agile Model – Pros & Cons
Pros
 Agile methodology has an adaptive team which is able to respond to the changing
requirements.
 The team does not have to invest time and effort and finally find that by the time they
delivered the product, the requirement of the customer has changed.
 Face to face communication and continuous inputs from customer representative
leaves no space for guesswork.
 The documentation is crisp and to the point to save time.
 The end result is the high quality software in least possible time duration and satisfied
customer.
Cons
 In case of some software deliverables, especially the large ones, it is difficult to assess
the effort required at the beginning of the software development life cycle.
 There is lack of emphasis on necessary design document and documentation.
 The project can easily get taken off track if the customer representative is not clear
what final outcome that they want.
 Only senior programmers are capable of taking the kind of decisions required during
the development process. Hence it has no place for newbie programmers, unless
combined with experienced resources.

Sapient Agile Testing Services
 Risk Mitigation by early integration and providing clients results sooner
 Increased Responsiveness ability to change or adjust course based on
learning from the first few iterations
 Early and continuous delivery of valuable software
 True transparent partnership with our clients

Testing of Stages
User Acceptance Testing
1. It’s when the users of the
application and the business
sponsors and owners have their
turn to test the application
2. The two primary methods of
testing:
• Script execution from a
subset of scripts already
created by the System
Analysts
• “Free Form” test, where
they are free to test the
application without any
scripts or scenario guidance
Who Performs it:
Alpha Testing: is performed by
members of the organization that
developed the software but who
are not directly involved in the
project (Development or
Testing).
Beta Testing: is performed by the
end users of the software. They
can be the customers
themselves or the customers’
customers.
Unit Testing
1. Test Driven Development (TDD)
approach to write the code
2. New functionality code was added in
the system in small chunks by writing
a new test, and then writing the code
to satisfy the test
3. “J-unit” test cases were written to
perform unit test
4. To validate each distinct module of the
application is implemented as per the
technical and functional specification
of the story at the unit level
Integration Testing
System & E2E Testing
1. To validate that different component /
modules of the applications are linked
correctly and are functionally operational
as an integrated unit
2. A dedicated testing team that gets involved
right from the iteration kick off when the
design and functionality to be implemented
is being discussed
3. Based on the story specifications, identified
the functional test scenarios covering
different navigation paths and erroneous
user behavior in order to test the
application in different user situations
4. The Integration tests strategy for the
application had 4 facets:
• Web Application
• Batch Pre-Processor
• Metric Computation/ Limit
Comparison
• Interface

No comments:

Post a Comment