1Pratibha Singh, 2Puja Patel
ABSTRACT
Nowadays, most of the companies are adopting the Agile method for developing and introducing the Agile new software product as a per customer needs. In this model or product, the agile testing deals with rapid working and successful in small situations. The other old approaches like waterfall, prototype etc. model where testing are done at the later phase, i.e. after coding but Agile testing are more flexible and adaptable because testing start at early phase of software development life cycle. Scrum is used for that project where automation can be very fruitful at many phases. This paper reviews on the impact of Agile software testing over traditional testing field and how automation beneficial for Agile testing. Thus, this paper gets deep view on automation of agile and their technique which used.
Keywords: – Agile testing, software models, Agile methodologies, traditional testing
1.AIM AND OBJECTIVE:
The main objective of this paper is to present the impact of agile system model on testing, and how agile method cover the software quality.
Also this paper aims to focus on the impact of agile methodology on automation and their tools.
Alongwith also study the deep knowledge of Agile testing methodology and the tools.
- INTRODUCTION:
Software Testing is the method to finding errors from project and product. It is the process of applying validation and verification on the product to make them error prone.
Software Testing is very important part or activities of software engineering because without testing we can’t identify the new activity within them.
Software Testing is very essential for improving the software quality assurance .Various companies used various modules or model for the planning of project or product.
Traditionally, models used for testing is :-
- Waterfall Model
- V-Model
- Spiral Model.
- RAD Model.
But nowadays, the most common model which companies used is AGILE SYSTEM MODEL.
The agile system model mainly focus on the customer satisfaction .In agile system, customer are interact with both developer and tester.THUS, agile testing comes to play a vital role in software testing.
In this research paper, the main aim is to find the importance of testing in agile system and how much agile give impact on automation testing.
A.WATERFALL MODEL TESTING
Waterfall methodologies are traditional approaches which are followed by many companies or industry. Diagramatic view of waterfall model is:-
According to this model testing are done after the coding phases .In this testing customer are not be satisfied.
B. V-MODEL TESTING:-
V-model is a simple variant of the traditional waterfall model of the system development.
V-model works as testing sequential .It is advanced feature of waterfall model testing .But in V-model the distinction between unit, integration, and system testing is not clear.
Diagramatic view of waterfall model is:-
C. SPIRAL MODEL:
The spiral model is mainly used to reduce the project risk i.e. for project risk analysis.
Spiral model is somehow similar to incremental iterative model which controlled the rapid software development processes.
Spiral model has four phases:
- Customer communication
- Risk analysis.
- Construction and release.
- Customer evaluation.
A software project repeatedly passes through these phases in iterations (called Spirals in this model)
Four fundamental questions arise in considering this presentation of the spiral model:
(1) How does the spiral ever get started?
(2) How do you get off the spiral when it is appropriate to terminate a project early?
(3) Why does the spiral end so abruptly?
(4) What happens to software enhancement (or maintenance)?
Diagramatic view of waterfall model is:-
D.RAD MODEL:
RAD model refer to Rapid Application Development is a incremental software development process model that emphasizes an extremely short development cycle.RAD model reduced the development time,Increases re-usability of components,Quick initial reviews occur,Encourages customer feedback.
3.LITERATURE REVIEW :
After study and survey various papers it is concluded that agile methodology’s popularity are increased day by day. Agile methods have proven their effectiveness and are transforming the software industry. Some of the review findings are presented here.
As demonstrated by Andrew et al [1] using a survey based approach, agile methodology is favourable due to improved communication between team members, quick releases and flexibility of designs. Scrum methodology is the most popular; and test driven development and pair programming are the least used practices.
Anfan Zuo et al [2] apply formal methods into agile software development. They applied rCOS an object oriented approach to agile methodology to improve accuracy of the system analysis and facilitating system development with object-oriented ideas.
Jeffrey et al [3] shows that XP is used heavily in the organization. After that in order of decreasing usage, Scrum is used, then feature driven development, dynamic
development methodology, adaptive software development, and then other agile methodologies which are modified as per company are used.
As further demonstrated by A. Ahmed et al [4], scrum is used most commonly, 50% of the projects are done with active stakeholder participation. 66.7% participants were agreeing that productivity has improved and quality is improved by 50%.
Based on a study, Pirjo et al [5] shows that agile methods are good for some programming environments, but not for all. Projects that involve large teams, well-defined requirements, clients needing high assurance and large code-bases, the traditional plan-oriented project profile works well.
Therefore, Agile methods produces best results in case of when the team is small, the requirements are not yet well defined, the project code base is small and the customer is interested in seeing significant progress.
Solo et al [6] show that adoption of agile processes increases with company size. Also the adoption of agile methods in large and distributed environments is being addressed more frequently.
Markus et al [7] highlights the negative impact of change in requirements on customer satisfaction. The main contribution of their paper pertains to the interaction effects between change in requirements and agile methods on customer satisfaction.
Rober Imreh et al [8] concludes that agile software development has a significant impact on quality. They identified some of the major quality impacts of Agile Software Development.
The study performed by Sharifah Syed et al [9] shows that agile methodology is more people-oriented than process oriented in a more volatile environment.
- AGILE METHODOLOGY:
IN Agile testing, testing is done for customer view as early as possible.Agile Testing are very fast because in agile testing automation are used that many tools are used for testing. Such as: JIRA and Serenium tools which are most popular now days.
The most popular agile methodologies technique is
- XP i.e. extreme programming where most coding are tested.
- Crystal method.
- Feature Driven Development (FDD).
Extreme programming
The goal of Extreme programming (XP) is to improve software quality and responsiveness to changing customer requirements.[10]
Extreme Programming improves a software project in five essential ways:a. Planning
- Planning
- Managing
- Coding
- Designing
- Testing
Scrum
Scrum is used for developing the agile model. Scrum lead to empirical feedback team self management and lead to build appropriate test product within short time.
Scrum is a general-purpose project management framework that is applicable to any project with aggressive deadlines with complex requirements and a degree of uniqueness.[11]
Scrum lead to the widely used practice of Agile. Simply, Scrum is the method to work together to develop a product.
Role of Scrum:
1). Product owner
2). Scrum master
3). Team member.
Freature Driven Development
FDD is a client-centric, architecture-centric, and pragmatic software process [8, 28]. There are five main activities in FDD that are performed iteratively.
- An overall model is developed in which the initial result will be a high-level object model and notes.
- A features list is developed; grouping of them is done into related sets.
- Plan by feature, as the end result are a development, the identification of class owners and the identification of feature set owners is done.
- Design by Feature, includes detailed Fifth is build by featurethat includes programming, testing, and packaging of the system.
Crystal Method
Crystal Methods is an agile software development methodology developed by Alistair Cockburn in which people are more emphasized in software development rather than tools or processes [8, 9]. Crystal methods are a toolkit of methodology elements to suit individual projects. With Crystal Methods, organizations only develop and use as much methodology as their business needs demand. Basically this is used for small teams and small projects that are not life critical.
5. COMPARISION BETWEEN AGILE TESTING VS TRADITIONAL TESTING:
Added effects means the effects which are newly used in Agile testing such as flexible, less documentation,creativity,team work etc.
Preserved effects means using the effects which are used in both methodologies like rationality structural concept are used in both Agile and traditional method.
Lost effects means which are not used now days like in traditional method,detailed documents are needed than the Agile. Standardization is followed in early methods which are excluded in agile method testing.
Some general issues of agile testing are as follow:
- Training Requirement
- Culture, People, Communication
- Feedback
- Requirement
- Management
- Test team
- Multiple role for an individual
- Ethical issues
- Testing
- AGILE TESTING: MERITS AND DEMERITS Merits:
- Fast testing.
- Flexible testing.
- Documentation is low priority over the overall working software.
- Customer satisfaction.
- Lower risk.
- More transparency and better visibility.
Demerits:
- Agile testing needs many efforts.
- Must need expertise.
- Lack of long term planning.
- Costly, because it used various tools (automation) for testing.
- CONCLUSION:
This paper highlights, the merits and demerits of agile testing .Agile testing leads change in market and spread all over the world .Agile testing has some challenges for a testers but although they are popular used in many companies because of their beneficial effect on the project and product.
After studying the impact of agile testing of automation and software testing it is concluded that Agile testing has some weak points but they have most beneficial points than their weakness that’s why it has much more future scope.
- FUTURE WORK:
According to this paper, in future may work or study about the implementation of Agile testing code on java based project or product which create difficult for testing. And develop new tools based on Agile through which java code are easily tested.
9. REFERENCE:
- Andrew Begel, Nachiappan Nagappan, “Usage and Perceptions of Agile Software Development in an Industrial Context: An Exploratory Study”, First International symposium on empirical software engineering and measurement, pp. 255-264, 2007.
- Anfan Zuo, Jing Yang, Xiaowen Chen, “Research of Agile Software Development Based on Formal Methods”, InternationalConference on Multimedia Information Networking and Security, pp. 762-766, 2010. .
- Jeffrey A. Livermore, “Factors that impact implementing an Agile Software Development Methodology”, pp. 82-85, IEEE 2007.
- Ahmed, S. Ahmad, Dr. N. Ehsan, E.Mirza, S.Z. Sarwar, “Agile Software Development: Impact on Productivity and Quality”, pp. 287-290, IEEE 2010.
- Pirjo Nakki, Kaisa Koskela, Minna Pikkarainen, “Practical model for user-driven innovation in agile software development”, Proc. Of 17th International Conference on Concurrent Enterprising, pp. 1-8, 2011.
- Salo, P. Abrahamsson, “Agile methods in European embedded software development organisations: a survey on the actual use and usefulness of Extreme Programming and Scrum”, IET Software, pp. 58-64, Vol. 2, No. 1, Feb. 2008.
- Markus Kohlbacher, Ernst Stelzmann, Sabine Maierhofer, “Do Agile Software Development Practices Increase Customer Satisfaction in Systems Engineering Projects?”, IEEE International Systems Conference (SysCon), pp. 168 – 172 IEEE 2011.
-
Robert Imreh, Mahesh S. Raisinghani, “Impact of Agile Software Development on Quality within Information Technology Organizations”, Journal of Emerging Trends in Computing and Information Sciences, Vol. 2, No. 10, pp. 460-475, October 2011. Sharifah Syed-Abdullah & Mike Holcombe & Marian George, “The Impact of an Agile Methodology on the Well Being of Development Teams”, Empire Software Eng, pp. 143-167, Springer 2006.
- Tom Demarco, XP is the most important movement in our field today”, IEEE computing and control engineering, June/July 2003
- Cho, Juyun. Issues and Challenges of agile software development with SCRUM. Issues in Information System. VOL IX, No. 2. 2008.