Future of Testing: Agile Testing Pooja Desai ,Parth Desai ,

advertisement
International Journal of Engineering Trends and Technology (IJETT) – Volume 15 Number 2 – Sep 2014
Future of Testing: Agile Testing
Pooja Desai1 ,Parth Desai1 , Sharyu Mahale1
1.
U.G. student at the department of electronic and telecommunication, DJSCE, Mumbai University India.
Abstract
Agile methodology is the trending software development
lifecycle which promises early to market and enable
competition between different products in market. In this
document we will see what agile methodology, challenges
faced during testing are and how we can overcome those
challenges to leverage best of it.
1.3 Testing in Agile Methodology
Agile methodology follow test driven approach, enhancements
are made in each iteration and are tested, products are
modified and updated to meet the requirements.
1. INTRODUCTION
1.1 What is SDLC?
SDLC (Software Development Life Cycle) is the process or
method which is used to create or update software projects.
Each of these methodologies defines unique way to create a
new software module or program.
1.2 What is Agile Methodology?
Agile software development methodology is a group of
software development methods which is based on iterative and
incremental development, where requirements and solutions
evolve through collaboration between self-organizing, crossfunctional teams. It uses adaptive planning, evolutionary
development and delivery, a time-boxed iterative approach,
and encourages rapid and flexible response to change. It is a
conceptual framework that promotes foreseen interactions
throughout the development cycle.
Features/Enhancements are added in each iteration to create
software products/modules. Each iteration has definite
timeframe called as Sprint Cycle. Products and requirements
are reviewed after each iteration to make and adapt changes
which helps to create market compatible products.
Fig.2 Testing in Agile Methodology for each sprints
1.4 Challenges with Agile Methodology – In Term of Testing
Challenges which are generally faced during testing in agile
methodology:
1.
2.
3.
4.
Systems are still under developments.
System requirements, system under test and test
scenarios may change very frequently.
Testing is done very rigoursly and repeatedly, and
regression is the biggest component of it. Short
duration is provided for testing, it should be quick
and efficient.
Testing and development phases are short and
overlapping so synch between both is required.
Fig.1 Agile methodology
ISSN: 2231-5381
http://www.ijettjournal.org
Page 68
International Journal of Engineering Trends and Technology (IJETT) – Volume 15 Number 2 – Sep 2014
2. TESTING APPROACH FOR AGILE METHODOLOGY
System R eq uirements
Update System
System Under Test
Invoke
Mock/Drivers
(U navailable
Systems)
T estNG
(Integration
Testing)
Junit
(Unit Testing)
T est C ase Repository
Track Changes
(Requirement
T raceability and
change control)
Selenium
(W ebUI testing)
Jmeter
(Performance
Testing)
Test Data Repository
Shared T est Repository
Environment Properties
R epository
Execution C ontroller
Test Automation F ramework
Fig.3 Agile Test Approach
2.1Tools selected for the approach
In the approach shown in Figure 3, we have used Junit,
TestNG, selenium and Jmeter for implementing.
Reason for selecting these tools
1. Open source (Free License)
2. Can be configured and used with stubs and mocks
3. Can be used to create automated regression suites and
maintenance is very efficient
4. Support all major defect, test and change
management tools
5. Support all major browsers and technologies (Java)



2.2 Test Approach and Solution to challenges:
We can use below approaches to track major challenges faced
with agile methodology.

Unavailable/Underdevelopment System:
Stubs/Mocks will be created to emulate behavior of
unavailable or under development systems.


WebUI:
Selenium will be used to record events on webUI and
those scripts will be exported to TestNG to make
integration test cases and suites.

ISSN: 2231-5381
Data dependencies:
Data dependencies issues with test cases will be
recovered by separating test data from the test cases,
test data will be stored in separate sheets/XMLs so
that it can be changed without impacting test cases.
Environment dependencies:
Environment/target URL may change after iterations
and has major impact on test case execution, it can be
separated from target test cases by storing and
retirieving it from external files(properties files).
Integration Testing:
Integration testing will be done using TestNG, test
cases and test suites will be created for each scenario
and there will be an controller to execute those test
cases, controller will be able to invoke test cases
related to different framework.
Regression Suite;
Regression test cases and suites will be created after
each iteration/sprint and will be executed in next
iterations.
Tracking changes in the system and requirements:
We can create change tracking system to track
changes in UI, application, requirements and its
impact on the test cases.
http://www.ijettjournal.org
Page 69
International Journal of Engineering Trends and Technology (IJETT) – Volume 15 Number 2 – Sep 2014
3. BENEFITS
3.3 Value delivered & Risk Assessment
3.1Quick Comparison
SDLC approach
Waterfall Model
1. Waterfall is release driven,
with a defined critical path
and sequence for delivery
2. Estimates are based on the
work required to meet the
requirements
3. Requires clearly defined
requirements upfront
4. Success is measured by the
IT organization
5. It is persepective
development.
V Model
1. It follows verification
and validation approach
2. Phase containment
3. The testing gets
“squished” because
coding takes longer than
expected, and because
teams get into a codeand-fix cycle at the end.
4. It is perspective
development.
Agile Methodology
1. Agile is based on short
iterative delivery cycles
usually 2-4 weeks in duration
2. Estimates are done based on
the amount of work the team
can accomplish in a set period
of time
3. Requirements are expected to
evolve and changes are
embraced
4. Success is measured by
business value delivered
5. Team can see and feel
development
6. Time to market is low
7. It is adaptive development.
3.2 Success Rate
*Based on CHAOS Manifesto 2011
ISSN: 2231-5381
4. CONCLUSION
 Agile methodology is one of the trending software
development approaches.
 Testing in agile methodology faces several
challenges and risks.
 Risks and challenges can be resolved using test
automation approach.
 Success rate in agile method is very higher if
compared with other software development
approaches e.g. waterfall model.
http://www.ijettjournal.org
Page 70
International Journal of Engineering Trends and Technology (IJETT) – Volume 15 Number 2 – Sep 2014


Value generated from the software product or
module is visible from early test iterations.
Risks reduce drastically with the iterations.
5. ACKNOWLEDGEMENT
We would like to thank the respected principal Dr. Hari
Vasudevan of D. J. Sanghvi College of Engineering and
Head
of
Department
of
Electronics
and
Telecommunication, Dr. Amit Deshmukh for giving us
facilities and providing a propitious environment for
working in the college. We would also like to thank
S.V.K.M. for encouraging us in such co-curricular
activities
6.REFERENCES
Sabah Nouri Mohammed Hussian,2009.Agile Method
Implementation-Gupea
University
of
Technology,Department of Computer Science and
Engineering.
[2] Samireh Jalali,Gobal Software Engineering and Agile
Practise Systematic Review Journal of Software
Maintenance and Evolution Research 2010 5th
International Conference.
[1]
international Software Testing Qualifications Board,
www.istqb.org.
[4] Agile Software Testing in Large Scale project, IEEE
[3]
publication, July/Aug 2006, David Talby and Arie Keren,
Orit Hazzan and Yael Dubinsky
[5] http://cs.anu.edu.au/courses/COMP3120/public_docs/uTe
st_Whitepaper_Agile_Testing.pdf
[6]
[7]
http://www.satisfice.com/articles/agileauto-paper.pdf
“Testers Should Embrace Agile Programming“, Bret
Pettichord , Quality Week, September 2002, San
Francisco.QFS, www.qftest.com
ISSN: 2231-5381
http://www.ijettjournal.org
Page 71
Download