SlideShare a Scribd company logo
1 of 12
AGILE TESTING

Abstract: Software testing is the most
important process to verify the quality of a
product.
Software
testing
in
Agile
development
is
very
complex
and
controversial issue in literature and industry.
Different people have different views about
software testing in Agile methods, because
most of Agile methods do not focus much on
software testing activities. Agile strongly
focus on the close customer collaboration,
short iterations and frequent deliveries. But
when it comes to software testing, then it is
challenging, as Agile do not include many
destructive testing practices, which are
normally required for a quality product. This
thesis covers the area of software testing
process in Agile development.
Agile development processes could be more
beneficial and refined by adding testing
practices and for this purpose; we proposed a
concept of an independent integrated software
testing team. This research also identifies the
practices of Agile development in industry and
the critical issues in industry while practicing
Agile development. The issues of automated
and manual testing, good practices in
automation, and how to manage independent
testing teams in Agile development are also
high lightened. This report highlights every
aspect of software testing process in Agile
development. This research is based on
literature reviews and an industrial survey.

I. INTRODUCTION
“Software Testing is the process of executing a
program or system with the intent of finding
errors. Or, it involves any activity aimed at
evaluating an attribute or capability of a
program or system and determining that it
meets its required results”
Currently Agile is one of the highly practiced
methodologies. Agile is an evolutionary
approach to software development which is
performed in a highly collaborative manner by
self-organizing teams that produces high
quality software in a cost effective and timely
way which also meets the changing needs of
its stakeholders. The software is delivered to
the customer very quickly; customer checks it
for errors and sends some new changes and
requirements to include before the last
iteration. So, user is provided with a chance to
test the product and provide the team with
feedback about the working and the
functionality of the system. Agile development
approach believes in the involvement and
frequent
communication
between
the
developer team and stakeholders, and regular
delivery of functionality. According to Agile
development, people are more important than
processes and tools; and the customer must be
involved in the entire process.

II. AGILE SOFTWARE DEVELOPMENT
Keywords:
Software
testing,
Agile
development process, quality assurance,
development model, software development.

In response to these conventional and rigid
methodologies,
iterative
development
processes were born which are called as Agile.
Agile allows change in the requirements
throughout the development cycle and stresses
on the close coordination between developer
and customer. The central idea is the close
involvement and a frequent communication
between the development team and
stakeholders and delivery of functionality on a
regular base. Agile is a flexible approach to
development.
Agile gives preferences to the individuals and
the interactions among them over processes
and tools. Agile methodologies are formed on
a concept that the individuals working in the
organization are the most important part of the
project.
There
should
be
proper
communication between the team members.
Because, if the communication among the
team members will be regular then they will
be able to overcome some of the important
problems and there will be more chances for
individuals to learn from the experiences of
their senior members. Just because of the close
coordination among them they can make more
efficient systems and can share their issues
with one another. They believe in a piece of
working software instead of a comprehensive
documentation. The working system will be
more beneficial for customer as compare to
that bunch of documentation in order to
provide development team with feedback.
They think that customer collaboration is more
important than contract negotiation because
close coordination of customer is also a quality
assurance and defect detection activity.

Fig 1: The Agile working.
Figure 1 shows the working of Agile process.
In Agile the developers work very closely to
the customers and the most important part of
the process is customer. Developers interact
directly with customers to get feedback and to
deliver a working product. Developer
discusses each and everything with customer
and prioritizes his/her work. The main focus of
Agile is the satisfaction of the customer
through a quick and continuous delivery of
useful and working pieces of software”.

In Agile, customer actively participates in the
whole development process and guides the
team about the system’s requirements.

Agile does not contains huge documentation
of the requirements before starting design,
coding and testing. Each project is divided in
smaller pieces or in iterations, each of which is
handled separately

Agile methodologies prefer a quick response
to change over following some predefined
plan. Because today’s market is dynamic, it is
not a stagnant market, so processes and
projects should be flexible to accommodate a
change.

III. PRINCIPLES OF AGILE


Satisfy the customer through the early and
quick delivery.



Welcome change in requirements even in
the late in the project.



Keep delivery cycle short (weeks).


Business and development people should
work together.



Build project around some motivated
people.



Place emphasis
communication.



Working software is primary measure of
progress.



Promote substantial development pace.



Continuous attention to the good design
and technical excellence.



Simplicity is essential.



Best result come from self organizing
team.



Teams discuss regularly that where and
how to improve.

on

face

to

face

Testers on an agile project need to be able to
work with software products directly; reading
unit tests, exploring a system, analysing a
comprehensive range of output. Testers also
need to be able to interact directly with
designers and coders to understand the
technological imperatives and restrictions that
affect the software and its unit tests.
Conversations and shared understandings will
take the place of some documentation. It
comes as no surprise to testers that working
software is not the same as code – the tester
clearly needs to be involved in not only
assessing the product, but in deciding how the
product is to be assessed. However, with
automated unit tests in the hands of the coders,
and confirmation-focussed acceptance testing
driven by the customer, testers should be
aware that they will not be the sole – or even
the primary – owner of deciding what works,
and what doesn’t.
b. Value individuals and interactions over
processes and tools

IV. AGILE VALUES APPLIED TO
SOFTWARE TESTING.
Testing is a key element of software
development. A product is tested so that it can
be judged; for completeness, for its fitness for
purpose, and for risks. It is vital because it
produces information that feeds back into the
creative process.
Testing differs from the design and creation of
code because:
 it does not directly produce something of
ongoing value to the customer
 it cannot be completed – especially in the
search for surprises
We can work through the values in the Agile
manifesto, and judge how each applies to the
problem of software testing.
.
a. Value
working
software
comprehensive documentation

over

This position has a fundamental effect on
software testing. Many test techniques require
comprehensive documentation to allow
effective test design.

Testing will be driven by what is important to
a user, rather than to fulfil a procedural
requirement. Where a regulator imposes
mandatory testing on a product, that regulator
will be a key customer to the project. Where
such testing is imposed by custom, that custom
will be questioned. It is better to have
communication between tester, customer and
designer than to Maintain independence of the
test team. The test team will have to weigh up
the virtues of independence, and try to reach
them in a different way, or to compensate for
their absence.
Testers should be on their guard for the impact
of test process and test tools, and try to
avoid imposing rigidity or friction that hinders
direct interactions.

c. Value customer collaboration
contract negotiation

over

Testers are key collaborators with the
customer, and on some agile projects will take
on much of the role of the customer in
designing and executing confirmation-driven
acceptance tests. However, although testers
traditionally make good customer advocates,
working closely with a customer is preferable
to becoming a proxy. The tester will
frequently take on the role of extending a
customer’s tests to the limits of the
application, acting in some cases as an
undesirable user or ‘Bad Customer’.
Test strategies which lean heavily on an
unchanging set of requirements (for example:
designing and coding tests to be bought
together with code late in the project;
prioritising tests based on a fixed risk
assessment; testing only what has been agreed
in the contract; reporting bugs only against
fixed requirements) may be considered to be
fatally flawed in the light of this value.
Iterative collaboration is favoured over a
negotiated bill of work.
d. Value responding
following a plan

to

change

over

greater project. It is informative to look at the
practices on an agile project, and to judge how
they affect testing. There are a number of
different ‘Agile’ methodologies, each with its
own combination of practices. None of the
practices of Agile methodologies are unique,
or novel; the strength of a methodology lies in
the ways combinations of good practice are
combined into a framework, rather than in the
individual elements themselves.
Automated testing is at the heart of agility:
The vast majority of tests (by number and
frequency) on an agile project are automated,
and pass every time. Automated confirmatory
tests are so fundamental that, without them, it
is hard to call a project agile at all.
Comprehensive testing, but not by testers: The
code is written within a scaffolding of
automated unit tests, and the functionality is
judged to be complete when it passes the
customer’s confirmatory acceptance tests.

An acceptance of change is at the heart of
agile projects – there is no requirements freeze
before coding starts, and this can cause
substantial problems for testers (and coders)
used to working to a fixed set of requirements.
Large-scale automated unit testing gives a
stability to the code and to the product that
goes some way to reducing the effects of
constant change, and testers need to be able to
give this support where necessary.

Automated unit tests are not written by testers,
but by coders. In Test Driven Development,
the tests are written just before the code,
executed once to fail as a control, then
executed again after coding to show that the
previously-failing test now passes. Typically
tests focus on very small amounts of code –
often one line of code is covered by multiple
tests, written one by one.

While this idea has clear effects on testing, its
direct application to testing is less clear cut.
Although the test effort will re-prioritise its
work dependent on current values, in practice
the teams on an agile project may expect
testing to follow a plan – especially where one
of the roles of testing is to work apparently
untouched areas of the system to spot
undesirable behaviours arising from recent
changes. Test plans for work within an
iteration (and in sequential iterations), are
valuable to the ongoing stability of the product
itself and can allow testing to give feedback
across the system, rather than simply on
currently-interesting areas.

While this may seem frustratingly slow, it
produces accurate, elegant, modular code that
is, in some sense, documented by its tests.
Code produced with comprehensive unit tests
is tangibly different, from a tester’s point of
view. It typically exhibits far fewer failures in
normal use. Bugs fixed tend to stay fixed, and
fixes themselves introduce fewer new faults.
Test specialists can influence the scope of
these unit tests, using their knowledge to help
the coders consider the effect of conditions
that may have been omitted when thinking
only of the successful path. Testers may add
value by browsing unit tests looking for gaps,
or by introducing test design techniques.

V. TESTING ON AN AGILE PROJECT

The customer is responsible for tests that
confirm that the working system delivers the
desired capability. The test specialist can again
help with these tests, by facilitating
automation and the construction of test data,

While is may be interesting to consider how
the Agile Manifesto might apply to testing in
isolation, testing in practice is always part of a
by improving test design, and by introducing
analysis tools. In some projects, the tester
becomes a substitute for the customer, taking
on the tester’s traditional role of customer
advocate. Although this is common on projects
where the customer is not available, where a
potential customer has not been identified, or
where there are many different customers, it is
not an ideal situation; the tester may not notice
important side-effects of functionality, or may
wrongly assess new risks.

that swathes of functionality are unreachable
behind a bug.

Refactoring: The system is re-structured,
without changing its functionality, to improve
simplicity or flexibility.

a. Metaphor: Development of the product is
helped by a simple, shared set of stories
that describe the system.

Such changes should be invisible to testers
confirming that the system works as before,
and so do not impose maintenance costs.
However, exploratory, bug-focussed testers
will be interested in all such changes, as novel
behaviours can result. For instance, if, after
refactoring, an object behaves in functionally
the same way, but in half the time, it may
expose an otherwise hidden timing issue in
another object. Refactoring relies on
comprehensive automated unit tests. Without
such scaffolding, there can be no confidence
that changes made to the code have indeed left
the code working as before. Manual testing,
whether by a skilled tester or not, is no
substitute; it is not only prone to errors and
omissions; it will not provide the instant
feedback that the coder requires.
Without refactoring, code can become bloated
and inefficient, as the first, simplest solution
becomes accreted with modifications and
special cases. Code that cannot be refactored is
immediately legacy code, and becomes a
hindrance to the ongoing development of the
product.

b. Pair Programming: Two people work on
the same code, at the same time, at the
same machine.

Continuous Integration: The code is built into
a working system very regularly, often daily,
hourly or on each check-in. ‘Breaking the
build’ with your newly checked-in code is a
cardinal sin.

a. The Planning Process:
Swiftly and collectively arrive at at a sketch of
what to do next by combining decisions about
value from the customer and decisions about
cost from the developers. The project is
steered as knowledge arises, rather than
pushed down a path decided when knowledge
was scarce.

For test specialists used to the death-by-athousand-cuts attrition of pervasively-buggy
code, continuous integration seems a distant
dream. When experienced, it is a revelation.
The latest code is always available. It becomes
simpler to set up tests and to trigger events to
observe their consequences. It is rare to find

VI. AVOIDING ERRORS
The following practices have a pervasive
effect on the quality of the product by
avoiding errors. The fewer errors, the fewer
bugs. These practices are often the first to drop
out of an agile project as it becomes clumsy.

c. 40-hour Week: Alert developers make
fewer mistakes; regular late nights / long
weeks are expected to introduce more
trouble than they are worth.
d. Coding Standard: All the programmers
need to write their code in the same way,
using the same data description and code
communication methods.
VII. Speed and communication
Agility is enabled by the following practices
that lead to swiftness and accuracy by taking
many small, confident steps. The following
practices avoid both stagnation and leaps of
faith.

Testers will not be able to develop detailed
plans or automated tests more than one
iteration in advance. As iterations are typically
two weeks long, this can seem an impossible
imposition to some testers. Automated unit
tests and acceptance tests go some way to
relieving the burden, but testers will be greatly
helped by being able to:
 generate and load data as required,
 automate their tests to at least allow
rapid execution of short chains of
common actions
 use exploratory and diagnostic
techniques to observe, trigger and
isolate surprises
b. Small Releases:
Frequently deliver something that is of
practical use to someone. Maintains
momentum, and pleases someone every
release. For testers, this practice tends to lead
to small sets of focussed tests and a clear idea
of whether something is working or not. At
least initially, testing is a lightweight task.
However, if testers are expected (or expecting)
to own the quality of a product, they may be
expected (or expecting) to re-run all the tests
for previous releases at every release. This
ever-increasing requirement is compounded by
the growing complexity and interaction of the
system. This expectation should be modified –
quality should be of core importance to
everyone on the team, rather than the personal
domain of a tester.
c. Simple Design:
Each iteration should deliver its functionality
as simply as possible.
Functionality to support possible later
enhancements often avoided, and simplicity is
maintained by "refactoring", discussed above.
d. Collective Ownership:
Anyone on the team can change any of the
code.
This includes the testers – and it may be that
the testers will fix some of the bugs they find
rather than log them for later attention. This
saves time and effort, but may introduce
longterm trouble if it leads to a skewed
perspective of bugs, or to a test team that
patches code rather than seeks out bugs.
e. On-site Customer:
A real user is part of the development team.
This is a vital practice on an agile project, and
improves speed and communication by
providing fast answers to questions, immediate

feedback on the product,
prioritisation/selection of tasks.

and

vital

VIII. SOFTWARE DEVELOPMENT
METHODOLOGIES IN AGILE
The different methodologies
development are given below:







of

Agile

Scrum
Extreme programming (Xp)
Feature Driven Development (FDD)
Crystal Clear Methodology (CC)
Dynamic
Systems
Development
Method (DSDM)
Adaptive Software Development

a. Scrum
This approach does not concentrate on some
specific software development techniques for
implementation phase. It basically guides the
management that how team members can
function in orders to achieve the system
flexibility in an environment where the
requirements are constantly changing. The
basic idea of Scrum is that; there are several
technical and environmental variables that are
likely to change during the process. These
variables include requirements, resources, time
and technology. This makes the system
development an unpredictable and difficult
process, and if the development team wants to
achieve a useful system at the end then the
process should have a flexibility to
accommodate changes. Scrum can help
organizations to achieve better engineering
activities like software testing, as it has some
frequent activities for management to check
the system regularly for any kind of
deficiencies or impediments.
In this methodology the team simply takes
some overview of the desired application from
the customer. The initial requirements are not
only incomplete but they can also be changed
during the process. Scrum contains both
managerial and also development processes.
So it is helpful for development team and also
for management to handle the whole process
in a better way. When the requirements are
gathered, then the planning takes place. And a
simple design for the system is developed. It is
not that kind of a conventional way of
planning and designing. It is a short meeting
that takes place and they finalize the whole
planning and designing. After the planning and
design phase, the whole project is divided into
small iterations that are called sprints.
According to, each sprint the teams plan
sprints, identify the backlog items and assign it
to different teams. Each sprint consists of
some backlog items. A backlog is the amount
or the work to be done.
During scrum, the teams have daily meetings
of 15 minutes. During the meeting they remain
stand just to make it short. They discuss that
what each of the team member will do on that
day and also if someone is facing any problem
during implementation then he/she can also
discuss it with other senior team members.
They also discuss the blocks that must be
cleared. During the sprints, teams develop,
wrap, review and adjust each backlog item.

Fig 2: The Scrum process
Figure 2 shows that, in Scrum include three
different phases, the pregame phase,
development and the postgame phase. In the
pregame the requirements are gathered from

the customer, and planning for the system is
done. Planning of the system includes;
standards, conventions, technology, resources
and architecture. A huge attention is given to
the high level design and architecture in
Scrum. On the basis of planning a product
backlog list is maintained. This list is regularly
updated. All the tasks are prioritized and on
the basis of prioritization level they are
sending to the sprint backlog items. In the
development phase the team has a sprint
meeting in which they decide the roles and
responsibilities. There is also a daily meeting
for a close coordination and to discuss any
issues in the development.
Quality Assurance Activities in Scrum









Unit testing
Continuous integration
Regular sprint meeting
Regular daily meeting
Strict to coding and design standard
Acceptance testing
Test automation
Exploratory Testing

b. eXtreme Programming (Xp)

Extreme programming (Xp) has been
introduced as a result to the long
development cycles of tradition and
conventional development models. It is
one of the known methodologies of Agile
development. It is a collection of different
practices, rules and ides that are inherited
from some previous methodologies. The
main characteristics of Xp are short
iterations with rapid feedback and small
releases, the regular participation of
customer,
continuous
testing
and
integration activities, collective ownership
of the code, not a huge amount of
documentation and pair programming. In
Xp the physical environment is really
important, and Xp is more effective in the
companies with smaller and medium sizes.
According to beck, the team size should be
three to twenty members.
In Xp there are three to ten programmers in a
team, and they work in one room with facing
monitors outward in a circle. There are also
small iterations in Xp. The iteration period is
three week long, and the release period is 2 to
5 iterations. Requirements are gathered from
the customer. Index cards are used to gather
requirements. Customer writes stories on
simple index card. Developers and customers
have regular meetings, in which they discuss
different aspects of the system requirements.
Customers and programmers negotiate on
what they will do in next iteration, and
customer also prioritizes, alters and minimizes
the scope of the work. The programmer
estimates the time it will take to complete each
iteration. He/she writes the task for each story
on wall or on a white board. Developer
discusses each story with customer, and writes
it on story card to know everyone that what’s
going on.
During the development phase, programmer
work in pairs. They follow strict coding and
design standards, and whenever they make any
changes; they test and integrate. They develop
tiny increments of fifteen minutes to few
hours. While the developers are busy with
developing the application and implementing
the story cars, the customer customers are
writing acceptance tests, and also visit
programmers. During the Xp, there regular
meeting of developers and these meeting are
also the same in Scrum, fifteen minutes long
and standing during the whole time. There are
meetings at the end of each iteration. While
the developers are busy in programming, there
are experts who are consistently available at
the site for any kind of help and other
advantages. The planning and development
phase takes two to four weeks. Each release is
one to four months long.

User writes the requirements in the form of
stories on story cards, on the basis of these
user stories; the team plan and design the
system. Then release planning takes place, and
system is divided into different iterations.
After each iteration, the system is send to the
customer for acceptance testing. Any feedback
or further amendments are added to the next
iterations. During the development the
customer keeps on writing stories, which are
added in release planning phase. Integrate
often is an important practice of Xp. Project
velocity means the amount of time that is
completed and the amount of work to be done.
Pair programming is one of the known
practices of Xp, in which two programmers
work combine by sitting in front of one
monitor. They share ideas and add their own
innovation into the design. Refactoring is also
an important practice that means restructuring
the whole system by removing the
duplications, improving communication and
making the system more and more flexible. In
whole of the Xp process, there is a close
coordination with the customer. The
developers argue and negotiate with the
customer on requirements. The developer
estimates the total time of implementing whole
of the story cards, and on the basis of that
customer decides the delivery time.

Fig 3: Xp process
Figure 3 shows that Xp process contains six
different phases. In the exploration phase
requirements are gathered. Customer writes
the stories on index cards. He writes
everything he wants to be implemented. The
project team tries to make them ready in the
mean time. They select tools, technology and
practices for the project. The user stories are
regularly updated. In the planning phase, the
project team along with the customers sets the
priority to the different tasks. Then the
development team estimates the total time
each story card will accommodate. Both the
parties make an agreement on the first delivery
of the small systems‟ part. The first delivery
does not exceed two months time period. The
iteration to release phase consists of several
small iterations before the final release. Te
whole system is divided into small iterations.
Each iteration normally takes two to four
weeks. The first iteration contains the whole
architecture of the system. Customer decides
that which functions to be included in which
iteration and customer also conducts the
functional testing at the end of the each
iteration. In each iteration there are certain
things that include like; analysis, design,
planning for testing and testing of the
application. The next one is the product
ionizing phase, in which a lot more testing and
check of the system is down before its release.
There can be some more changes in the design
and new changes can be a part of the system if
it is the releasing iteration. The system is send
for customer’s approval, if customer has
identified any problems, then the system is
sent to the maintenance department and if he
needs some more changes in the application
then these requirements are sent back to the
user stories to be included in the next iteration.
Then the system is integrated and finally
released in the death phase. During the
iteration they integrate their work regularly
and eliminate the bugs. They also test each
other‟s work and on the basis of the feedback
they update their code.
Quality assurance activities in Xp



Test driven development
Continuous integration









Pair programming
Acceptance testing
Collective code ownership
Coding standards
Simple design and continuous
refactoring
On- site customer
Face to face communication

c. Feature Driven Development (FDD)
“Feature-Driven Development (FDD) is a
client-centric,
architecture-centric,
and
pragmatic software process. The term “client”
in FDD is used to represent what Agile
Modeling refers to as project stakeholders or
eXtreme Programming (Xp) calls customers.
FDD was first introduced to the world in 1999
via the book Java Modeling in Color with
UML, a combination of the software process
followed by Jeff DeLuca’s company and Peter
Coad’s concept of features. FDD was first
applied on a 15 month, 50-person project for a
large Singapore bank in 1997”. Feature driven
development is essentially a software
management method instead a software
engineering life cycle development. FDD is
less Agile because it uses many established
software development methods. FDD involves
planning and up-front modeling and design.
FDD life cycle
There are following five steps of FDD life
cycle:
i. Shape Modeling
ii. Build Feature List
iii. Plan by feature
iv. Design by feature
v. Build by feature
Step 1-3 represents the setup time for a FDD
project while step 4 and 5 represents the
process time.
its criticality as shown in figure. Larger
projects require more coordination and heavier
methodologies than the smaller ones. If the
system will be more critical then it needs more
rigors.

Fig 4: Feature Driven Development Life Cycle

Quality assurance activities in Feature Driven
Development






Unit testing
Regular builds
Design inspection
Code inspection
Individual code ownership

d. Crystal Clear Methodology
Crystal Clear is the smallest of a series of
methodologies for software development, all
created by Alistair Cockburn. An Agile
methodology which is used with small teams
i.e. 2-8 persons. According to Alistair
Cockburn, it attempts to describe a full
methodology of the lightest, most habitable
kind that will still produce good results. It is
prioritized for project safety (delivering a
system in adequate time / budget per the
sponsor's priorities) and for that to be effective
and habitable (meaning the people can live
with it and will actually use it).
Review and analysis by crystal family of
methodologies
includes
different
methodologies. Each number of crystal family
is marked with a color indicating the
„heaviness‟ of the methodology, i.e. the darker
the color the heavier the methodology. Crystal
clear suggests choosing the appropriate color
of methodology for a project based on size and

Fig 5: Dimensions of Crystal methodologies
There are some common features, rules, and
values to all methods in crystal family. In all
the projects always incremental development
cycles are used with the maximum length of
four months, but preferably between one to
three months. But the emphasis is on
cooperation of people and communication.
According to Cockburn, crystal methodologies
do not limit any development practices, tool or
work products, while also allowing the
adoption of, for example Xp and Scrum
practices. In Crystal Clear the main requiring
separate persons are : sponsor, senior designerprogrammer, designer-programmer and user.
These embody multiple sub roles. For
example, the designer-programmer consists of
business class designer, programmer, software
documenter and unit tester. The sub roles are:
coordinator, business expert and requirements
gatherer. The business expert represents a
business view in the project, possessing
knowledge about the specific business context,
He should be able to take care of the business
plan, paying attention to what is stable and
what is changing.
Crystal Clear suggests the following policy
standard:








Incremental delivery on regular basis
Progress tracking by milestone based
on software deliveries and major
decisions
rather
than
written
documents.
Direct user involvement
Automated regression testing of
functionality
Two user viewing per release
Workshops
for
product
and
methodology-tuning at the beginning
and the middle of each increment.

The policy standards of methodology are
mandatory but can, however, be replaced with
equivalent practices of other methodologies
such as Xp and Scrum.
There are following safety
established for crystal clear:

properties

i. Frequent Delivery
ii. Reflective Improvement
iii. Osmotic Communication
iv. Personal Safety
v. Focus
vi. Easy Access to Expert Users
vii. A Technical Environment with Automated
Tests, Configuration
Frequent Integration.

Management,

and

Quality Assurance activities in Crystal clear
During the iteration the development team
itself performs some quality assurance
activities on the product. These activities
include:
 Automated
tests
and
frequent
integration
 Side by side programming
 Osmotic communication
 Easy access to expert users

X. ACKNOWLEDGEMENT
I would like to thank our Prof for giving the
chance to explore oneself

XI. CONCLUSION
As you can see, from the examples above,
many of these practices we perform every day
in our projects actually align with a number of
the principles listed in the 12 principles of
Agile Methods. While the overall software
development method being followed by these
projects examples uses traditional software
development processes, these projects are still
driven by the same business needs of getting
projects to market faster and cheaper in an
effort to stay ahead of the competition.
This global business context is forcing
practitioners to look for more effective ways
of performing their roles and none more so
then an organisations testing team. Of all the
roles in a project, testing has and needs to
follow an iterative styled approach. Whether it
is the requirements review and test design
process which iterates over understanding and
improving the requirements or it’s the iterative
approach to test execution performed against
different release versions of the system or
simply the normal defect fix and test cycles.
Testing has a natural fit with an iterative based
approach. But while being fully agile requires
all parts of the development process to
fundamentally change, testing has the
opportunity to actually employ agile principles
without necessarily needing the entire project
to be actually following an agile process. The
“leap” to agile is therefore not necessarily as
large as you may think and can be
implemented within the team to make some
aspects of the testing process and tasks more
effective and efficient within the context of the
project.
While testing has the potential to use a number
of agile techniques, it doesn’t exist in isolation
from the rest of the project team or the
business. Involving these groups in what your
approach to testing will be is instrumentally to
gaining their support with adopting these
practices across your testing team.

XII. REFERENCES

[1]http://en.wikipedia.org/wiki/Agile_testing
[2]http://agiletesting.com.au/files/2009/11/agil
e_why_the_fear.pdf
[3]http://www.agiletesting.info/what-is-agiletesting-112
[4]http://agiletesting.com.au/
[5]http://www.workroomproductions.com/papers/Testing%20in%20an
%20agile%20environment.pdf

More Related Content

What's hot

Agile testing guide_2021
Agile testing guide_2021Agile testing guide_2021
Agile testing guide_2021QMetry
 
Quality Assurance and mobile applications!
Quality Assurance and mobile applications!Quality Assurance and mobile applications!
Quality Assurance and mobile applications!Bagaria Swati
 
Quality Engineering and Testing with TMAP in DevOps IT delivery
Quality Engineering and Testing with TMAP in DevOps IT deliveryQuality Engineering and Testing with TMAP in DevOps IT delivery
Quality Engineering and Testing with TMAP in DevOps IT deliveryRik Marselis
 
Engineering quality assurance manual
Engineering quality assurance manualEngineering quality assurance manual
Engineering quality assurance manualsimonhackett1
 
Productivity measurement of agile teams (IWSM 2015)
Productivity measurement of agile teams (IWSM 2015)Productivity measurement of agile teams (IWSM 2015)
Productivity measurement of agile teams (IWSM 2015)Harold van Heeringen
 
Software testing objective_types
Software testing objective_typesSoftware testing objective_types
Software testing objective_typessangeeswaran
 
Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...
Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...
Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...IJERA Editor
 
Quality engineering & testing in DevOps IT delivery with TMAP
Quality engineering & testing in DevOps IT delivery with TMAPQuality engineering & testing in DevOps IT delivery with TMAP
Quality engineering & testing in DevOps IT delivery with TMAPRik Marselis
 
A_Brief_Insight_on_Independent_Testing
A_Brief_Insight_on_Independent_TestingA_Brief_Insight_on_Independent_Testing
A_Brief_Insight_on_Independent_TestingAayush Gupta
 
TMAP Quality Engineering workshop on A4Q congress by Rik Marselis
TMAP Quality Engineering workshop on A4Q congress by Rik Marselis TMAP Quality Engineering workshop on A4Q congress by Rik Marselis
TMAP Quality Engineering workshop on A4Q congress by Rik Marselis Rik Marselis
 
Achieving CI Excellence with Quality Engineering
Achieving CI Excellence with Quality EngineeringAchieving CI Excellence with Quality Engineering
Achieving CI Excellence with Quality EngineeringGreg Sypolt
 
SQA V And V Intro & History
SQA V And V Intro & HistorySQA V And V Intro & History
SQA V And V Intro & HistoryDouglas Gabel
 
Quality engineering in the digital age... Why? How? (ASQF Keynote by Rik Mars...
Quality engineering in the digital age... Why? How? (ASQF Keynote by Rik Mars...Quality engineering in the digital age... Why? How? (ASQF Keynote by Rik Mars...
Quality engineering in the digital age... Why? How? (ASQF Keynote by Rik Mars...Rik Marselis
 
Sqa V And V Share
Sqa V And V ShareSqa V And V Share
Sqa V And V Shareguest0b67e9
 
Test Process Transformation Protects Product Development Investment
Test Process Transformation Protects Product Development InvestmentTest Process Transformation Protects Product Development Investment
Test Process Transformation Protects Product Development InvestmentSTAG Software Private Limited
 

What's hot (20)

Agile testing guide_2021
Agile testing guide_2021Agile testing guide_2021
Agile testing guide_2021
 
Quality Assurance and mobile applications!
Quality Assurance and mobile applications!Quality Assurance and mobile applications!
Quality Assurance and mobile applications!
 
Quality Engineering and Testing with TMAP in DevOps IT delivery
Quality Engineering and Testing with TMAP in DevOps IT deliveryQuality Engineering and Testing with TMAP in DevOps IT delivery
Quality Engineering and Testing with TMAP in DevOps IT delivery
 
Engineering quality assurance manual
Engineering quality assurance manualEngineering quality assurance manual
Engineering quality assurance manual
 
Productivity measurement of agile teams (IWSM 2015)
Productivity measurement of agile teams (IWSM 2015)Productivity measurement of agile teams (IWSM 2015)
Productivity measurement of agile teams (IWSM 2015)
 
Software testing objective_types
Software testing objective_typesSoftware testing objective_types
Software testing objective_types
 
quality
qualityquality
quality
 
Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...
Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...
Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...
 
Quality engineering & testing in DevOps IT delivery with TMAP
Quality engineering & testing in DevOps IT delivery with TMAPQuality engineering & testing in DevOps IT delivery with TMAP
Quality engineering & testing in DevOps IT delivery with TMAP
 
A_Brief_Insight_on_Independent_Testing
A_Brief_Insight_on_Independent_TestingA_Brief_Insight_on_Independent_Testing
A_Brief_Insight_on_Independent_Testing
 
TMAP Quality Engineering workshop on A4Q congress by Rik Marselis
TMAP Quality Engineering workshop on A4Q congress by Rik Marselis TMAP Quality Engineering workshop on A4Q congress by Rik Marselis
TMAP Quality Engineering workshop on A4Q congress by Rik Marselis
 
ST&PFinalArticle
ST&PFinalArticleST&PFinalArticle
ST&PFinalArticle
 
Achieving CI Excellence with Quality Engineering
Achieving CI Excellence with Quality EngineeringAchieving CI Excellence with Quality Engineering
Achieving CI Excellence with Quality Engineering
 
SQA V And V Intro & History
SQA V And V Intro & HistorySQA V And V Intro & History
SQA V And V Intro & History
 
Quality engineering in the digital age... Why? How? (ASQF Keynote by Rik Mars...
Quality engineering in the digital age... Why? How? (ASQF Keynote by Rik Mars...Quality engineering in the digital age... Why? How? (ASQF Keynote by Rik Mars...
Quality engineering in the digital age... Why? How? (ASQF Keynote by Rik Mars...
 
Sqa V And V Share
Sqa V And V ShareSqa V And V Share
Sqa V And V Share
 
Test Process Transformation Protects Product Development Investment
Test Process Transformation Protects Product Development InvestmentTest Process Transformation Protects Product Development Investment
Test Process Transformation Protects Product Development Investment
 
Introduction to Software Quality & its' Challenges
Introduction to Software Quality & its' ChallengesIntroduction to Software Quality & its' Challenges
Introduction to Software Quality & its' Challenges
 
Manual Testing
Manual TestingManual Testing
Manual Testing
 
Agile case studies
Agile case studiesAgile case studies
Agile case studies
 

Similar to Agile testing

Acknowledging The Common Good of Agile
Acknowledging The Common Good of AgileAcknowledging The Common Good of Agile
Acknowledging The Common Good of AgileLogapps LLC
 
Testing in an agile environment
Testing in an agile environmentTesting in an agile environment
Testing in an agile environmentCristiano Caetano
 
! Testing for agile teams
! Testing for agile teams! Testing for agile teams
! Testing for agile teamsDennis Popov
 
Lesson 8...Question Part 2
Lesson 8...Question Part 2Lesson 8...Question Part 2
Lesson 8...Question Part 2bhushan Nehete
 
Chapter -5 Agile Testing types and its examples.pptx
Chapter -5 Agile Testing types and its examples.pptxChapter -5 Agile Testing types and its examples.pptx
Chapter -5 Agile Testing types and its examples.pptxManishaPatil932723
 
Presentation by meghna jadhav
Presentation by meghna jadhavPresentation by meghna jadhav
Presentation by meghna jadhavPMI_IREP_TP
 
Managing Business Analysis for Agile Development
Managing Business Analysis for Agile DevelopmentManaging Business Analysis for Agile Development
Managing Business Analysis for Agile DevelopmentIJMER
 
Implementing a testing strategy
Implementing a testing strategyImplementing a testing strategy
Implementing a testing strategyDaniel Giraldo
 
Taking the first step to agile digital services
Taking the first step to agile digital servicesTaking the first step to agile digital services
Taking the first step to agile digital servicesindeuppal
 
Top 50 Agile Interview Questions and Answers.pdf
Top 50 Agile Interview Questions and Answers.pdfTop 50 Agile Interview Questions and Answers.pdf
Top 50 Agile Interview Questions and Answers.pdfJazmine Brown
 
Tackling software testing challenges in the agile era
Tackling software testing challenges in the agile eraTackling software testing challenges in the agile era
Tackling software testing challenges in the agile eraQASymphony
 
Quality at the speed of digital
Quality   at the speed of digitalQuality   at the speed of digital
Quality at the speed of digitalrajni singh
 
Agile model in software testing
Agile model in software testingAgile model in software testing
Agile model in software testingpooja deshmukh
 
Presentation by lavika upadhyay
Presentation by lavika upadhyayPresentation by lavika upadhyay
Presentation by lavika upadhyayPMI_IREP_TP
 
Quality assurance and testing _ H2kinfosys.pdf
Quality assurance and testing _ H2kinfosys.pdfQuality assurance and testing _ H2kinfosys.pdf
Quality assurance and testing _ H2kinfosys.pdfsharontims
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurancelokareminakshi
 

Similar to Agile testing (20)

Acknowledging The Common Good of Agile
Acknowledging The Common Good of AgileAcknowledging The Common Good of Agile
Acknowledging The Common Good of Agile
 
Testing in an agile environment
Testing in an agile environmentTesting in an agile environment
Testing in an agile environment
 
! Testing for agile teams
! Testing for agile teams! Testing for agile teams
! Testing for agile teams
 
Lesson 8...Question Part 2
Lesson 8...Question Part 2Lesson 8...Question Part 2
Lesson 8...Question Part 2
 
Chapter -5 Agile Testing types and its examples.pptx
Chapter -5 Agile Testing types and its examples.pptxChapter -5 Agile Testing types and its examples.pptx
Chapter -5 Agile Testing types and its examples.pptx
 
Presentation by meghna jadhav
Presentation by meghna jadhavPresentation by meghna jadhav
Presentation by meghna jadhav
 
Adopting Agile Testing
Adopting Agile TestingAdopting Agile Testing
Adopting Agile Testing
 
Managing Business Analysis for Agile Development
Managing Business Analysis for Agile DevelopmentManaging Business Analysis for Agile Development
Managing Business Analysis for Agile Development
 
Implementing a testing strategy
Implementing a testing strategyImplementing a testing strategy
Implementing a testing strategy
 
Taking the first step to agile digital services
Taking the first step to agile digital servicesTaking the first step to agile digital services
Taking the first step to agile digital services
 
Top 50 Agile Interview Questions and Answers.pdf
Top 50 Agile Interview Questions and Answers.pdfTop 50 Agile Interview Questions and Answers.pdf
Top 50 Agile Interview Questions and Answers.pdf
 
Agile Testing
Agile Testing Agile Testing
Agile Testing
 
Tackling software testing challenges in the agile era
Tackling software testing challenges in the agile eraTackling software testing challenges in the agile era
Tackling software testing challenges in the agile era
 
Quality at the speed of digital
Quality   at the speed of digitalQuality   at the speed of digital
Quality at the speed of digital
 
Agile model in software testing
Agile model in software testingAgile model in software testing
Agile model in software testing
 
Presentation by lavika upadhyay
Presentation by lavika upadhyayPresentation by lavika upadhyay
Presentation by lavika upadhyay
 
Agile
AgileAgile
Agile
 
Agile testing
Agile  testingAgile  testing
Agile testing
 
Quality assurance and testing _ H2kinfosys.pdf
Quality assurance and testing _ H2kinfosys.pdfQuality assurance and testing _ H2kinfosys.pdf
Quality assurance and testing _ H2kinfosys.pdf
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 

More from Sonali Parab

Forensic laboratory setup requirements
Forensic laboratory setup requirementsForensic laboratory setup requirements
Forensic laboratory setup requirementsSonali Parab
 
Forensic laboratory setup requirements
Forensic laboratory setup  requirements Forensic laboratory setup  requirements
Forensic laboratory setup requirements Sonali Parab
 
Distributed systems
Distributed systemsDistributed systems
Distributed systemsSonali Parab
 
Advance Database Management Systems -Object Oriented Principles In Database
Advance Database Management Systems -Object Oriented Principles In DatabaseAdvance Database Management Systems -Object Oriented Principles In Database
Advance Database Management Systems -Object Oriented Principles In DatabaseSonali Parab
 
Cloud and Ubiquitous Computing manual
Cloud and Ubiquitous Computing manual Cloud and Ubiquitous Computing manual
Cloud and Ubiquitous Computing manual Sonali Parab
 
Advance Database Management Systems -Object Oriented Principles In Database
Advance Database Management Systems -Object Oriented Principles In DatabaseAdvance Database Management Systems -Object Oriented Principles In Database
Advance Database Management Systems -Object Oriented Principles In DatabaseSonali Parab
 
Default and On demand routing - Advance Computer Networks
Default and On demand routing - Advance Computer NetworksDefault and On demand routing - Advance Computer Networks
Default and On demand routing - Advance Computer NetworksSonali Parab
 
Cloud Computing And Virtualization
Cloud Computing And VirtualizationCloud Computing And Virtualization
Cloud Computing And VirtualizationSonali Parab
 
Protocols in Bluetooth
Protocols in BluetoothProtocols in Bluetooth
Protocols in BluetoothSonali Parab
 
Protols used in bluetooth
Protols used in bluetoothProtols used in bluetooth
Protols used in bluetoothSonali Parab
 
Public Cloud Provider
Public Cloud ProviderPublic Cloud Provider
Public Cloud ProviderSonali Parab
 
Public Cloud Provider
Public Cloud ProviderPublic Cloud Provider
Public Cloud ProviderSonali Parab
 
Remote Method Invocation
Remote Method InvocationRemote Method Invocation
Remote Method InvocationSonali Parab
 
Remote Method Invocation (Java RMI)
Remote Method Invocation (Java RMI)Remote Method Invocation (Java RMI)
Remote Method Invocation (Java RMI)Sonali Parab
 

More from Sonali Parab (19)

Forensic laboratory setup requirements
Forensic laboratory setup requirementsForensic laboratory setup requirements
Forensic laboratory setup requirements
 
Forensic laboratory setup requirements
Forensic laboratory setup  requirements Forensic laboratory setup  requirements
Forensic laboratory setup requirements
 
Distributed systems
Distributed systemsDistributed systems
Distributed systems
 
Data Mining
Data MiningData Mining
Data Mining
 
Firewalls
FirewallsFirewalls
Firewalls
 
Embedded System
Embedded System Embedded System
Embedded System
 
Advance Database Management Systems -Object Oriented Principles In Database
Advance Database Management Systems -Object Oriented Principles In DatabaseAdvance Database Management Systems -Object Oriented Principles In Database
Advance Database Management Systems -Object Oriented Principles In Database
 
Cloud and Ubiquitous Computing manual
Cloud and Ubiquitous Computing manual Cloud and Ubiquitous Computing manual
Cloud and Ubiquitous Computing manual
 
Advance Database Management Systems -Object Oriented Principles In Database
Advance Database Management Systems -Object Oriented Principles In DatabaseAdvance Database Management Systems -Object Oriented Principles In Database
Advance Database Management Systems -Object Oriented Principles In Database
 
Default and On demand routing - Advance Computer Networks
Default and On demand routing - Advance Computer NetworksDefault and On demand routing - Advance Computer Networks
Default and On demand routing - Advance Computer Networks
 
Cloud Computing And Virtualization
Cloud Computing And VirtualizationCloud Computing And Virtualization
Cloud Computing And Virtualization
 
Protocols in Bluetooth
Protocols in BluetoothProtocols in Bluetooth
Protocols in Bluetooth
 
Protols used in bluetooth
Protols used in bluetoothProtols used in bluetooth
Protols used in bluetooth
 
Public Cloud Provider
Public Cloud ProviderPublic Cloud Provider
Public Cloud Provider
 
Public Cloud Provider
Public Cloud ProviderPublic Cloud Provider
Public Cloud Provider
 
Minning www
Minning wwwMinning www
Minning www
 
Remote Method Invocation
Remote Method InvocationRemote Method Invocation
Remote Method Invocation
 
Minning WWW
Minning WWWMinning WWW
Minning WWW
 
Remote Method Invocation (Java RMI)
Remote Method Invocation (Java RMI)Remote Method Invocation (Java RMI)
Remote Method Invocation (Java RMI)
 

Recently uploaded

HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfSpandanaRallapalli
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxMaryGraceBautista27
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxDr.Ibrahim Hassaan
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxChelloAnnAsuncion2
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 

Recently uploaded (20)

HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdf
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptx
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptx
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 

Agile testing

  • 1. AGILE TESTING Abstract: Software testing is the most important process to verify the quality of a product. Software testing in Agile development is very complex and controversial issue in literature and industry. Different people have different views about software testing in Agile methods, because most of Agile methods do not focus much on software testing activities. Agile strongly focus on the close customer collaboration, short iterations and frequent deliveries. But when it comes to software testing, then it is challenging, as Agile do not include many destructive testing practices, which are normally required for a quality product. This thesis covers the area of software testing process in Agile development. Agile development processes could be more beneficial and refined by adding testing practices and for this purpose; we proposed a concept of an independent integrated software testing team. This research also identifies the practices of Agile development in industry and the critical issues in industry while practicing Agile development. The issues of automated and manual testing, good practices in automation, and how to manage independent testing teams in Agile development are also high lightened. This report highlights every aspect of software testing process in Agile development. This research is based on literature reviews and an industrial survey. I. INTRODUCTION “Software Testing is the process of executing a program or system with the intent of finding errors. Or, it involves any activity aimed at evaluating an attribute or capability of a program or system and determining that it meets its required results” Currently Agile is one of the highly practiced methodologies. Agile is an evolutionary approach to software development which is performed in a highly collaborative manner by self-organizing teams that produces high quality software in a cost effective and timely way which also meets the changing needs of its stakeholders. The software is delivered to the customer very quickly; customer checks it for errors and sends some new changes and requirements to include before the last iteration. So, user is provided with a chance to test the product and provide the team with feedback about the working and the functionality of the system. Agile development approach believes in the involvement and frequent communication between the developer team and stakeholders, and regular delivery of functionality. According to Agile development, people are more important than processes and tools; and the customer must be involved in the entire process. II. AGILE SOFTWARE DEVELOPMENT Keywords: Software testing, Agile development process, quality assurance, development model, software development. In response to these conventional and rigid methodologies, iterative development processes were born which are called as Agile. Agile allows change in the requirements throughout the development cycle and stresses on the close coordination between developer
  • 2. and customer. The central idea is the close involvement and a frequent communication between the development team and stakeholders and delivery of functionality on a regular base. Agile is a flexible approach to development. Agile gives preferences to the individuals and the interactions among them over processes and tools. Agile methodologies are formed on a concept that the individuals working in the organization are the most important part of the project. There should be proper communication between the team members. Because, if the communication among the team members will be regular then they will be able to overcome some of the important problems and there will be more chances for individuals to learn from the experiences of their senior members. Just because of the close coordination among them they can make more efficient systems and can share their issues with one another. They believe in a piece of working software instead of a comprehensive documentation. The working system will be more beneficial for customer as compare to that bunch of documentation in order to provide development team with feedback. They think that customer collaboration is more important than contract negotiation because close coordination of customer is also a quality assurance and defect detection activity. Fig 1: The Agile working. Figure 1 shows the working of Agile process. In Agile the developers work very closely to the customers and the most important part of the process is customer. Developers interact directly with customers to get feedback and to deliver a working product. Developer discusses each and everything with customer and prioritizes his/her work. The main focus of Agile is the satisfaction of the customer through a quick and continuous delivery of useful and working pieces of software”. In Agile, customer actively participates in the whole development process and guides the team about the system’s requirements. Agile does not contains huge documentation of the requirements before starting design, coding and testing. Each project is divided in smaller pieces or in iterations, each of which is handled separately Agile methodologies prefer a quick response to change over following some predefined plan. Because today’s market is dynamic, it is not a stagnant market, so processes and projects should be flexible to accommodate a change. III. PRINCIPLES OF AGILE  Satisfy the customer through the early and quick delivery.  Welcome change in requirements even in the late in the project.  Keep delivery cycle short (weeks).
  • 3.  Business and development people should work together.  Build project around some motivated people.  Place emphasis communication.  Working software is primary measure of progress.  Promote substantial development pace.  Continuous attention to the good design and technical excellence.  Simplicity is essential.  Best result come from self organizing team.  Teams discuss regularly that where and how to improve. on face to face Testers on an agile project need to be able to work with software products directly; reading unit tests, exploring a system, analysing a comprehensive range of output. Testers also need to be able to interact directly with designers and coders to understand the technological imperatives and restrictions that affect the software and its unit tests. Conversations and shared understandings will take the place of some documentation. It comes as no surprise to testers that working software is not the same as code – the tester clearly needs to be involved in not only assessing the product, but in deciding how the product is to be assessed. However, with automated unit tests in the hands of the coders, and confirmation-focussed acceptance testing driven by the customer, testers should be aware that they will not be the sole – or even the primary – owner of deciding what works, and what doesn’t. b. Value individuals and interactions over processes and tools IV. AGILE VALUES APPLIED TO SOFTWARE TESTING. Testing is a key element of software development. A product is tested so that it can be judged; for completeness, for its fitness for purpose, and for risks. It is vital because it produces information that feeds back into the creative process. Testing differs from the design and creation of code because:  it does not directly produce something of ongoing value to the customer  it cannot be completed – especially in the search for surprises We can work through the values in the Agile manifesto, and judge how each applies to the problem of software testing. . a. Value working software comprehensive documentation over This position has a fundamental effect on software testing. Many test techniques require comprehensive documentation to allow effective test design. Testing will be driven by what is important to a user, rather than to fulfil a procedural requirement. Where a regulator imposes mandatory testing on a product, that regulator will be a key customer to the project. Where such testing is imposed by custom, that custom will be questioned. It is better to have communication between tester, customer and designer than to Maintain independence of the test team. The test team will have to weigh up the virtues of independence, and try to reach them in a different way, or to compensate for their absence. Testers should be on their guard for the impact of test process and test tools, and try to avoid imposing rigidity or friction that hinders direct interactions. c. Value customer collaboration contract negotiation over Testers are key collaborators with the customer, and on some agile projects will take on much of the role of the customer in designing and executing confirmation-driven acceptance tests. However, although testers traditionally make good customer advocates,
  • 4. working closely with a customer is preferable to becoming a proxy. The tester will frequently take on the role of extending a customer’s tests to the limits of the application, acting in some cases as an undesirable user or ‘Bad Customer’. Test strategies which lean heavily on an unchanging set of requirements (for example: designing and coding tests to be bought together with code late in the project; prioritising tests based on a fixed risk assessment; testing only what has been agreed in the contract; reporting bugs only against fixed requirements) may be considered to be fatally flawed in the light of this value. Iterative collaboration is favoured over a negotiated bill of work. d. Value responding following a plan to change over greater project. It is informative to look at the practices on an agile project, and to judge how they affect testing. There are a number of different ‘Agile’ methodologies, each with its own combination of practices. None of the practices of Agile methodologies are unique, or novel; the strength of a methodology lies in the ways combinations of good practice are combined into a framework, rather than in the individual elements themselves. Automated testing is at the heart of agility: The vast majority of tests (by number and frequency) on an agile project are automated, and pass every time. Automated confirmatory tests are so fundamental that, without them, it is hard to call a project agile at all. Comprehensive testing, but not by testers: The code is written within a scaffolding of automated unit tests, and the functionality is judged to be complete when it passes the customer’s confirmatory acceptance tests. An acceptance of change is at the heart of agile projects – there is no requirements freeze before coding starts, and this can cause substantial problems for testers (and coders) used to working to a fixed set of requirements. Large-scale automated unit testing gives a stability to the code and to the product that goes some way to reducing the effects of constant change, and testers need to be able to give this support where necessary. Automated unit tests are not written by testers, but by coders. In Test Driven Development, the tests are written just before the code, executed once to fail as a control, then executed again after coding to show that the previously-failing test now passes. Typically tests focus on very small amounts of code – often one line of code is covered by multiple tests, written one by one. While this idea has clear effects on testing, its direct application to testing is less clear cut. Although the test effort will re-prioritise its work dependent on current values, in practice the teams on an agile project may expect testing to follow a plan – especially where one of the roles of testing is to work apparently untouched areas of the system to spot undesirable behaviours arising from recent changes. Test plans for work within an iteration (and in sequential iterations), are valuable to the ongoing stability of the product itself and can allow testing to give feedback across the system, rather than simply on currently-interesting areas. While this may seem frustratingly slow, it produces accurate, elegant, modular code that is, in some sense, documented by its tests. Code produced with comprehensive unit tests is tangibly different, from a tester’s point of view. It typically exhibits far fewer failures in normal use. Bugs fixed tend to stay fixed, and fixes themselves introduce fewer new faults. Test specialists can influence the scope of these unit tests, using their knowledge to help the coders consider the effect of conditions that may have been omitted when thinking only of the successful path. Testers may add value by browsing unit tests looking for gaps, or by introducing test design techniques. V. TESTING ON AN AGILE PROJECT The customer is responsible for tests that confirm that the working system delivers the desired capability. The test specialist can again help with these tests, by facilitating automation and the construction of test data, While is may be interesting to consider how the Agile Manifesto might apply to testing in isolation, testing in practice is always part of a
  • 5. by improving test design, and by introducing analysis tools. In some projects, the tester becomes a substitute for the customer, taking on the tester’s traditional role of customer advocate. Although this is common on projects where the customer is not available, where a potential customer has not been identified, or where there are many different customers, it is not an ideal situation; the tester may not notice important side-effects of functionality, or may wrongly assess new risks. that swathes of functionality are unreachable behind a bug. Refactoring: The system is re-structured, without changing its functionality, to improve simplicity or flexibility. a. Metaphor: Development of the product is helped by a simple, shared set of stories that describe the system. Such changes should be invisible to testers confirming that the system works as before, and so do not impose maintenance costs. However, exploratory, bug-focussed testers will be interested in all such changes, as novel behaviours can result. For instance, if, after refactoring, an object behaves in functionally the same way, but in half the time, it may expose an otherwise hidden timing issue in another object. Refactoring relies on comprehensive automated unit tests. Without such scaffolding, there can be no confidence that changes made to the code have indeed left the code working as before. Manual testing, whether by a skilled tester or not, is no substitute; it is not only prone to errors and omissions; it will not provide the instant feedback that the coder requires. Without refactoring, code can become bloated and inefficient, as the first, simplest solution becomes accreted with modifications and special cases. Code that cannot be refactored is immediately legacy code, and becomes a hindrance to the ongoing development of the product. b. Pair Programming: Two people work on the same code, at the same time, at the same machine. Continuous Integration: The code is built into a working system very regularly, often daily, hourly or on each check-in. ‘Breaking the build’ with your newly checked-in code is a cardinal sin. a. The Planning Process: Swiftly and collectively arrive at at a sketch of what to do next by combining decisions about value from the customer and decisions about cost from the developers. The project is steered as knowledge arises, rather than pushed down a path decided when knowledge was scarce. For test specialists used to the death-by-athousand-cuts attrition of pervasively-buggy code, continuous integration seems a distant dream. When experienced, it is a revelation. The latest code is always available. It becomes simpler to set up tests and to trigger events to observe their consequences. It is rare to find VI. AVOIDING ERRORS The following practices have a pervasive effect on the quality of the product by avoiding errors. The fewer errors, the fewer bugs. These practices are often the first to drop out of an agile project as it becomes clumsy. c. 40-hour Week: Alert developers make fewer mistakes; regular late nights / long weeks are expected to introduce more trouble than they are worth. d. Coding Standard: All the programmers need to write their code in the same way, using the same data description and code communication methods. VII. Speed and communication Agility is enabled by the following practices that lead to swiftness and accuracy by taking many small, confident steps. The following practices avoid both stagnation and leaps of faith. Testers will not be able to develop detailed plans or automated tests more than one iteration in advance. As iterations are typically two weeks long, this can seem an impossible
  • 6. imposition to some testers. Automated unit tests and acceptance tests go some way to relieving the burden, but testers will be greatly helped by being able to:  generate and load data as required,  automate their tests to at least allow rapid execution of short chains of common actions  use exploratory and diagnostic techniques to observe, trigger and isolate surprises b. Small Releases: Frequently deliver something that is of practical use to someone. Maintains momentum, and pleases someone every release. For testers, this practice tends to lead to small sets of focussed tests and a clear idea of whether something is working or not. At least initially, testing is a lightweight task. However, if testers are expected (or expecting) to own the quality of a product, they may be expected (or expecting) to re-run all the tests for previous releases at every release. This ever-increasing requirement is compounded by the growing complexity and interaction of the system. This expectation should be modified – quality should be of core importance to everyone on the team, rather than the personal domain of a tester. c. Simple Design: Each iteration should deliver its functionality as simply as possible. Functionality to support possible later enhancements often avoided, and simplicity is maintained by "refactoring", discussed above. d. Collective Ownership: Anyone on the team can change any of the code. This includes the testers – and it may be that the testers will fix some of the bugs they find rather than log them for later attention. This saves time and effort, but may introduce longterm trouble if it leads to a skewed perspective of bugs, or to a test team that patches code rather than seeks out bugs. e. On-site Customer: A real user is part of the development team. This is a vital practice on an agile project, and improves speed and communication by providing fast answers to questions, immediate feedback on the product, prioritisation/selection of tasks. and vital VIII. SOFTWARE DEVELOPMENT METHODOLOGIES IN AGILE The different methodologies development are given below:       of Agile Scrum Extreme programming (Xp) Feature Driven Development (FDD) Crystal Clear Methodology (CC) Dynamic Systems Development Method (DSDM) Adaptive Software Development a. Scrum This approach does not concentrate on some specific software development techniques for implementation phase. It basically guides the management that how team members can function in orders to achieve the system flexibility in an environment where the requirements are constantly changing. The basic idea of Scrum is that; there are several technical and environmental variables that are likely to change during the process. These variables include requirements, resources, time and technology. This makes the system development an unpredictable and difficult process, and if the development team wants to achieve a useful system at the end then the process should have a flexibility to accommodate changes. Scrum can help organizations to achieve better engineering activities like software testing, as it has some frequent activities for management to check the system regularly for any kind of deficiencies or impediments. In this methodology the team simply takes some overview of the desired application from the customer. The initial requirements are not only incomplete but they can also be changed during the process. Scrum contains both
  • 7. managerial and also development processes. So it is helpful for development team and also for management to handle the whole process in a better way. When the requirements are gathered, then the planning takes place. And a simple design for the system is developed. It is not that kind of a conventional way of planning and designing. It is a short meeting that takes place and they finalize the whole planning and designing. After the planning and design phase, the whole project is divided into small iterations that are called sprints. According to, each sprint the teams plan sprints, identify the backlog items and assign it to different teams. Each sprint consists of some backlog items. A backlog is the amount or the work to be done. During scrum, the teams have daily meetings of 15 minutes. During the meeting they remain stand just to make it short. They discuss that what each of the team member will do on that day and also if someone is facing any problem during implementation then he/she can also discuss it with other senior team members. They also discuss the blocks that must be cleared. During the sprints, teams develop, wrap, review and adjust each backlog item. Fig 2: The Scrum process Figure 2 shows that, in Scrum include three different phases, the pregame phase, development and the postgame phase. In the pregame the requirements are gathered from the customer, and planning for the system is done. Planning of the system includes; standards, conventions, technology, resources and architecture. A huge attention is given to the high level design and architecture in Scrum. On the basis of planning a product backlog list is maintained. This list is regularly updated. All the tasks are prioritized and on the basis of prioritization level they are sending to the sprint backlog items. In the development phase the team has a sprint meeting in which they decide the roles and responsibilities. There is also a daily meeting for a close coordination and to discuss any issues in the development. Quality Assurance Activities in Scrum         Unit testing Continuous integration Regular sprint meeting Regular daily meeting Strict to coding and design standard Acceptance testing Test automation Exploratory Testing b. eXtreme Programming (Xp) Extreme programming (Xp) has been introduced as a result to the long development cycles of tradition and conventional development models. It is one of the known methodologies of Agile development. It is a collection of different practices, rules and ides that are inherited from some previous methodologies. The main characteristics of Xp are short iterations with rapid feedback and small releases, the regular participation of customer, continuous testing and integration activities, collective ownership of the code, not a huge amount of documentation and pair programming. In Xp the physical environment is really important, and Xp is more effective in the
  • 8. companies with smaller and medium sizes. According to beck, the team size should be three to twenty members. In Xp there are three to ten programmers in a team, and they work in one room with facing monitors outward in a circle. There are also small iterations in Xp. The iteration period is three week long, and the release period is 2 to 5 iterations. Requirements are gathered from the customer. Index cards are used to gather requirements. Customer writes stories on simple index card. Developers and customers have regular meetings, in which they discuss different aspects of the system requirements. Customers and programmers negotiate on what they will do in next iteration, and customer also prioritizes, alters and minimizes the scope of the work. The programmer estimates the time it will take to complete each iteration. He/she writes the task for each story on wall or on a white board. Developer discusses each story with customer, and writes it on story card to know everyone that what’s going on. During the development phase, programmer work in pairs. They follow strict coding and design standards, and whenever they make any changes; they test and integrate. They develop tiny increments of fifteen minutes to few hours. While the developers are busy with developing the application and implementing the story cars, the customer customers are writing acceptance tests, and also visit programmers. During the Xp, there regular meeting of developers and these meeting are also the same in Scrum, fifteen minutes long and standing during the whole time. There are meetings at the end of each iteration. While the developers are busy in programming, there are experts who are consistently available at the site for any kind of help and other advantages. The planning and development phase takes two to four weeks. Each release is one to four months long. User writes the requirements in the form of stories on story cards, on the basis of these user stories; the team plan and design the system. Then release planning takes place, and system is divided into different iterations. After each iteration, the system is send to the customer for acceptance testing. Any feedback or further amendments are added to the next iterations. During the development the customer keeps on writing stories, which are added in release planning phase. Integrate often is an important practice of Xp. Project velocity means the amount of time that is completed and the amount of work to be done. Pair programming is one of the known practices of Xp, in which two programmers work combine by sitting in front of one monitor. They share ideas and add their own innovation into the design. Refactoring is also an important practice that means restructuring the whole system by removing the duplications, improving communication and making the system more and more flexible. In whole of the Xp process, there is a close coordination with the customer. The developers argue and negotiate with the customer on requirements. The developer estimates the total time of implementing whole of the story cards, and on the basis of that customer decides the delivery time. Fig 3: Xp process Figure 3 shows that Xp process contains six different phases. In the exploration phase requirements are gathered. Customer writes
  • 9. the stories on index cards. He writes everything he wants to be implemented. The project team tries to make them ready in the mean time. They select tools, technology and practices for the project. The user stories are regularly updated. In the planning phase, the project team along with the customers sets the priority to the different tasks. Then the development team estimates the total time each story card will accommodate. Both the parties make an agreement on the first delivery of the small systems‟ part. The first delivery does not exceed two months time period. The iteration to release phase consists of several small iterations before the final release. Te whole system is divided into small iterations. Each iteration normally takes two to four weeks. The first iteration contains the whole architecture of the system. Customer decides that which functions to be included in which iteration and customer also conducts the functional testing at the end of the each iteration. In each iteration there are certain things that include like; analysis, design, planning for testing and testing of the application. The next one is the product ionizing phase, in which a lot more testing and check of the system is down before its release. There can be some more changes in the design and new changes can be a part of the system if it is the releasing iteration. The system is send for customer’s approval, if customer has identified any problems, then the system is sent to the maintenance department and if he needs some more changes in the application then these requirements are sent back to the user stories to be included in the next iteration. Then the system is integrated and finally released in the death phase. During the iteration they integrate their work regularly and eliminate the bugs. They also test each other‟s work and on the basis of the feedback they update their code. Quality assurance activities in Xp   Test driven development Continuous integration        Pair programming Acceptance testing Collective code ownership Coding standards Simple design and continuous refactoring On- site customer Face to face communication c. Feature Driven Development (FDD) “Feature-Driven Development (FDD) is a client-centric, architecture-centric, and pragmatic software process. The term “client” in FDD is used to represent what Agile Modeling refers to as project stakeholders or eXtreme Programming (Xp) calls customers. FDD was first introduced to the world in 1999 via the book Java Modeling in Color with UML, a combination of the software process followed by Jeff DeLuca’s company and Peter Coad’s concept of features. FDD was first applied on a 15 month, 50-person project for a large Singapore bank in 1997”. Feature driven development is essentially a software management method instead a software engineering life cycle development. FDD is less Agile because it uses many established software development methods. FDD involves planning and up-front modeling and design. FDD life cycle There are following five steps of FDD life cycle: i. Shape Modeling ii. Build Feature List iii. Plan by feature iv. Design by feature v. Build by feature Step 1-3 represents the setup time for a FDD project while step 4 and 5 represents the process time.
  • 10. its criticality as shown in figure. Larger projects require more coordination and heavier methodologies than the smaller ones. If the system will be more critical then it needs more rigors. Fig 4: Feature Driven Development Life Cycle Quality assurance activities in Feature Driven Development      Unit testing Regular builds Design inspection Code inspection Individual code ownership d. Crystal Clear Methodology Crystal Clear is the smallest of a series of methodologies for software development, all created by Alistair Cockburn. An Agile methodology which is used with small teams i.e. 2-8 persons. According to Alistair Cockburn, it attempts to describe a full methodology of the lightest, most habitable kind that will still produce good results. It is prioritized for project safety (delivering a system in adequate time / budget per the sponsor's priorities) and for that to be effective and habitable (meaning the people can live with it and will actually use it). Review and analysis by crystal family of methodologies includes different methodologies. Each number of crystal family is marked with a color indicating the „heaviness‟ of the methodology, i.e. the darker the color the heavier the methodology. Crystal clear suggests choosing the appropriate color of methodology for a project based on size and Fig 5: Dimensions of Crystal methodologies There are some common features, rules, and values to all methods in crystal family. In all the projects always incremental development cycles are used with the maximum length of four months, but preferably between one to three months. But the emphasis is on cooperation of people and communication. According to Cockburn, crystal methodologies do not limit any development practices, tool or work products, while also allowing the adoption of, for example Xp and Scrum practices. In Crystal Clear the main requiring separate persons are : sponsor, senior designerprogrammer, designer-programmer and user. These embody multiple sub roles. For example, the designer-programmer consists of business class designer, programmer, software documenter and unit tester. The sub roles are: coordinator, business expert and requirements gatherer. The business expert represents a business view in the project, possessing knowledge about the specific business context, He should be able to take care of the business plan, paying attention to what is stable and what is changing.
  • 11. Crystal Clear suggests the following policy standard:       Incremental delivery on regular basis Progress tracking by milestone based on software deliveries and major decisions rather than written documents. Direct user involvement Automated regression testing of functionality Two user viewing per release Workshops for product and methodology-tuning at the beginning and the middle of each increment. The policy standards of methodology are mandatory but can, however, be replaced with equivalent practices of other methodologies such as Xp and Scrum. There are following safety established for crystal clear: properties i. Frequent Delivery ii. Reflective Improvement iii. Osmotic Communication iv. Personal Safety v. Focus vi. Easy Access to Expert Users vii. A Technical Environment with Automated Tests, Configuration Frequent Integration. Management, and Quality Assurance activities in Crystal clear During the iteration the development team itself performs some quality assurance activities on the product. These activities include:  Automated tests and frequent integration  Side by side programming  Osmotic communication  Easy access to expert users X. ACKNOWLEDGEMENT I would like to thank our Prof for giving the chance to explore oneself XI. CONCLUSION As you can see, from the examples above, many of these practices we perform every day in our projects actually align with a number of the principles listed in the 12 principles of Agile Methods. While the overall software development method being followed by these projects examples uses traditional software development processes, these projects are still driven by the same business needs of getting projects to market faster and cheaper in an effort to stay ahead of the competition. This global business context is forcing practitioners to look for more effective ways of performing their roles and none more so then an organisations testing team. Of all the roles in a project, testing has and needs to follow an iterative styled approach. Whether it is the requirements review and test design process which iterates over understanding and improving the requirements or it’s the iterative approach to test execution performed against different release versions of the system or simply the normal defect fix and test cycles. Testing has a natural fit with an iterative based approach. But while being fully agile requires all parts of the development process to fundamentally change, testing has the opportunity to actually employ agile principles without necessarily needing the entire project to be actually following an agile process. The “leap” to agile is therefore not necessarily as large as you may think and can be implemented within the team to make some aspects of the testing process and tasks more effective and efficient within the context of the project.
  • 12. While testing has the potential to use a number of agile techniques, it doesn’t exist in isolation from the rest of the project team or the business. Involving these groups in what your approach to testing will be is instrumentally to gaining their support with adopting these practices across your testing team. XII. REFERENCES [1]http://en.wikipedia.org/wiki/Agile_testing [2]http://agiletesting.com.au/files/2009/11/agil e_why_the_fear.pdf [3]http://www.agiletesting.info/what-is-agiletesting-112 [4]http://agiletesting.com.au/ [5]http://www.workroomproductions.com/papers/Testing%20in%20an %20agile%20environment.pdf