Design of Acceptance Test Process through Comparative Analysis of the Test Automation Technique

Similar documents
Design of Acceptance Test Process with the Application of Agile Development Methodology

Bridging the Gap Between Acceptance Criteria and Definition of Done

Test-Driven Development. SC12 Educator s Session November 13, 2012

ASSURING SOFTWARE QUALITY USING VISUAL STUDIO 2010

Agile Testing and Extreme Programming

Agile Tester Foundation Course Outline

Test Automation: A Project Management Perspective

Agile Software Development Methodologies and Its Quality Assurance

Advanced Test-Driven Development

Comparing Agile Software Processes Based on the Software Development Project Requirements

Design of automatic testing tool for railway signalling systems software safety assessment

Agile Based Software Development Model : Benefits & Challenges

Continuous integration End of the big bang integration era

Learning and Coaching Agile Methods. Görel Hedin Computer Science Lund University, Sweden

A Study on the Influence of Use of Web 2.0 Collaboration Tool Reflecting Agile Practice on the Evaluation of OS Project

An Agile Methodology Based Model for Change- Oriented Software Engineering

University Dedicated Next Generation ERP System

Preface Agile Testing Review

Continuous Integration and Deployment Modern Technique's

Optimization of Software Quality using Management and Technical Review Techniques

Testing in Agile methodologies easier or more difficult?

Software Development Life Cycle at SSPL. An Summary of Methodologies We Offer

Deep Agile Blending Scrum and Extreme Programming. Jeff Sutherland Ron Jeffries

Methodology: Agile development of safety critical systems Annex D1.1.d to deliverable D1.1

Essentials of the Quality Assurance Practice Principles of Testing Test Documentation Techniques. Target Audience: Prerequisites:

Agile Development and Testing Practices highlighted by the case studies as being particularly valuable from a software quality perspective

A Design of Access Control Framework for User Identification Based on Personal Cloud

Test-Driven Approach for Safety-Critical Software Development

Success factors for the implementation of ERP to the Agricultural Products Processing Center

Agile Testing Overview

Workshop on Agile Test Strategies and Experiences. Fran O'Hara, Insight Test Services, Ireland

ICAPRG529A Apply testing techniques for software development

An Intelligent Middleware Platform and Framework for RFID Reverse Logistics

Agile Scrum Workshop

The study on the necessity of online safety education software development for research staff

Extraction of Risk Factors Through VOC Data Analysis for Travel Agencies

Accelerating Time to Market with Agile Testing

Orthogonal Defect Classification in Agile Development

Introduction to Automated Testing

Software Development Under Stringent Hardware Constraints: Do Agile Methods Have a Chance?

Development of an Ignition Interlock Device to Prevent Illegal Driving of a Drunk Driver

Concept Design of Testbed based on Cloud Computing for Security Research

Software Testing Lifecycle

AgileSoftwareDevelopmentandTestingApproachandChallengesinAdvancedDistributedSystems

Engineering. Software. Eric J. Braude. Michael E. Bernstein. Modern Approaches UNIVERSITATSBIBLIOTHEK HANNOVER ' TECHNISCHE INFORM ATIONSBIBLIOTHEK

Design of a Web-Services Based Spam Filtering

Enabling Continuous Delivery by Leveraging the Deployment Pipeline

Life Cycle Models. V. Paúl Pauca. CSC Fall Department of Computer Science Wake Forest University. Object Oriented Software Engineering

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

A study on Standardization of Integrated database for Intelligent water information management

Software Engineering I (02161)

The Role of CM in Agile Development of Safety-Critical Software

Software Quality Assurance in Agile, XP, Waterfall and Spiral A Comparative Study

International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research)

STS Federal Government Consulting Practice IV&V Offering

Atomate Development Process. Quick Guide

Agile Processes and Methodologies: A Conceptual Study

Evolving Agile Testing

Design and Implementation of Automatic Attendance Check System Using BLE Beacon

Code Qualities and Coding Practices

An Appraisal of Agile Software Development Process

Customized Efficient Collection of Big Data for Advertising Services

ICAgile Learning Roadmap Agile Testing Track

A Study on the Dos Prevention System for SPT-based Sync Flooding Protection

Software Development Life Cycle (SDLC)

應 用 測 試 於 軟 體 發 展 生 命 週 期. Testing In The Software Development Life Cycle

Software Quality and Agile Methods

Keywords document, agile documentation, documentation, Techno functional expert, Team Collaboration, document selection;

The Educational Status of College-level Photography-related Courses

Product Development Best Practices

The Agile Manifesto is based on 12 principles:

Testing in Scrum Projects

A Study on Data Analysis Process Management System in MapReduce using BPM

Agile Software Engineering Practice to Improve Project Success

A Mobile Application for Information Sharing and Collaboration among Co-located People

ISTQB Agile Tester in a Nutshell ISTQB Marketing Working Group

A Study on the Secure Software Development Life Cycle for Common Criteria (CC) Certification

Benefits and Challenges of Agile in a Distributed Environment

A Survey of Software Development Process Models in Software Engineering

Impact of Agile Methodology on Software Development

An Overview of Quality Assurance Practices in Agile Methodologies

Software Verification and Validation

XP & Scrum. extreme Programming. XP Roles, cont!d. XP Roles. Functional Tests. project stays on course. about the stories

PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL

Modern Accounting Information System Security (AISS) Research Based on IT Technology

Agile Methodologies and Its Processes

A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.

Agile Systems Engineering: What is it and What Have We Learned?

REDEFINING QUALITY ASSURANCE

Introduction to Agile Software Development Process. Software Development Life Cycles

A Study of Key management Protocol for Secure Communication in Personal Cloud Environment

Advanced Test Manager E-learning Course Outline

An Agile Project Management Model

Agile in a Safety Critical world

Basic Testing Concepts and Terminology

Development of CEP System based on Big Data Analysis Techniques and Its Application

Modeling Software Maintainability and Quality Assurance in the Agile Environment

Standard Glossary of Terms Used in Software Testing. Version 3.01

Test-Driven Automation: Adopting Test-First Development to Improve Automation Systems Engineering Processes

Transcription:

, pp.170-174 http://dx.doi.org/10.14257/astl.2015. Design of Acceptance Test Process through Comparative Analysis of the Test Technique Jung-Ah Shim 1, Hyun-Jung Kwon 2,Hyun-ju Jung 3 and Moon-Sung Hwang 4* 1,2,3,4* Department of IT Policy and Management, Soongsil University, Seoul 156-743, Korea 1 rosapoodle@naver.com, 2 musehjkwon@gmail.com, 3 hyunju@hashtag.co.kr, 4* ms_hwang@nate.com Abstract. An acceptance test refers to a test that confirms whether the specified requirements are met. Recent studies on acceptance test automation appear to focus only on easy and simple test automation, while the importance of living documentation for the general application life cycle, which is the ultimate goal, is overlooked. Compared to traditional development methodologies, it points to marked absence of systematic planning and prediction, overhead due to the application of new process and s, and in turn, a decline in development productivity. This study designed an architecture that can be used repeatedly through the common application of the Agile software. Concrete action plans for automating the acceptance test are presented. Keywords: Acceptance Test, QA, ATDD, FitNesse 1 Introduction Though the test is clearly defined, the term acceptance test seems to cause some confusion. Wikipedia defines the term in various contexts, while the definition by XP (Extreme Programming) is closest to what is used in this study. An acceptance test represents the agile software development, especially the function test by the development team at the XP-implementation level, based on the user stories.[1] Unlike the Unit Test, the purpose of acceptance test is to validate business functions, not unit functions. As each business function is likely to be implemented in separate teams and separate environments, the interaction between these business functions is also subjected to an acceptance test. For example, when the business functions are implemented in separate servers, an acceptance test confirms whether those functions interact properly. ISSN: 2287-1233 ASTL Copyright 2015 SERSC

2 Related Research The market share of agile methodology has increased as many companies and developers consider or prepare importing this technique. It includes Extreme Programming, Scrum, and test-driven development as a core process of Extreme Programming. [7] The biggest benefits of test-driven development involve a flexible and practical program development process and the availability to develop high quality programs. In general software methodologies, such pressure for a test is why the transition to test-driven development is difficult. Therefore, it can be concluded that unit test s suitable for test-driven development are required to minimize the pressure of test on developers. This would also allow more flexible response to changes in test cases. Since a unit test is at a low level, once it detects and corrects low-leveled errors, they need to be combined to conduct an integration test in a module group unit. An acceptance test is discriminated from a unit test when it is conducted not only by the programmer or the tester but also by various interested parties including the customers. Table 1 shows the difference between the two tests. Table 1. Difference between Unit Test and Acceptance Test Unit Test Acceptance Test Subject Validated Unit functions Business functions (requirements) Conductor Programmer Various interested parties such as programmer, tester, and customers Traditionally, acceptance test was performed directly by the QA (Quality Assurance) team, but the cost increased because too much manpower was inputted to the passive tests. To address this problem, the need for the introduction of test automation s was raised. Test automation s are classified by phase in Table 2 below. Table 2. Test automation s are classified by phase. SDLC Tools Description Design Phase Specification-based test design Code-based test design Test-based management Test processes, data, drivers, etc. are generated from software specifications. Test processes, data, drivers, etc. are generated from source codes. Supports planning, requirements, and bug tracking management. Copyright 2015 SERSC 171

Implementation Phase Static analysis Dynamic analysis Review and inspection A for analyzing without running programs. Analysis of complexity System status is examined while the program is running. Guidelines and rules are inspected by analyzing source codes and design documents. Coverage measurement Degree of completion of test case performance Post- Implementation Unit Test Phase Performance and load simulation Test performance Number of transactions per second is calculated after the occurrence of a system performance load. Performs unit and total system tests before acceptance test The Agile Software Development process that requires frequent performance of acceptance tests due to short development cycles has a greater need for automating acceptance tests to reduce manpower input and costs. 3 Designing Acceptance Test Architecture 3.1 Concluding Architecture Driver Non-functional requirements are reviewed through the main process in the concept of specifics using examples, which is the ideal model of acceptance test-driven development. 172 Copyright 2015 SERSC

Business goals.draw the scope from goals.describe using the examples.create specifics through collaboration.refine specifics.automate specifics verification Automated part.iterate verification.establish documentation system Living documentation Fig. 1. Main process of the specifics using examples 3.2 Designing and Applying the Process for Constructing the A process for constructing acceptance test automation was conducted in four stages: establish the strategies, draw requirements, write requirement specifics and test cases, and construct test automation. On stages 2 (draw requirements) and 3 (write requirement specifics and acceptance test cases to validate them), iteration was applied to repeatedly supplement the process through mutual verification. Such repetitive supplement was continued until the specifics clearly form three stages as proposed here: user story, step definition, and example. In addition, iteration was applied in implementing the test code at the test automation construction level through four stages; fixture writing, fixture refactoring, composing test suites, and conducting test. Through such fixture refactoring process, method/class extraction was repeated until it formed the proposed architecture: custom fixture, test utilities, and application driver. Copyright 2015 SERSC 173

Establish the Strategies Drawing Requirements Writing Requirement Test Cases Constructing Test Identification of Stakeholders Analysis Methodology Planning Establishment of Resolution Method Requirement Derivation Consultation Requirements Requirement Confirmation Case Definition Case Derivation Writing Case Complementary Requirements Specification Acceptance Test Supplements Education Environment Establishment Suites Test Configuration Running Test Verification Results Recall Iterations Confirmation Scope of Test Fig. 2. Requirements / acceptance test automation process for rebuilding 4 Conclusion Modern software testing methods are designed to define features and functions that business experts desire, growing out of past automation tests to verify development product and find faults at the end of the development cycle [2]. However, such core value is conceptual and lacks in practical application and instances. With many supporting automation s, this pattern was flooded with application methods in many different dimensions. It was even altered as a simple UI-based acceptance test method. This study proposed an acceptance test automation method for specifics using example based on establishing an architecture. The results can serve as a practical basis for typical and repetitive execution of the conceptual Agile acceptance test-driven development methodology to secure fundamental quality. References 1. https://en.wikipedia.org/wiki/acceptance_testing 2. Lisa Crispin, Janet Gregory: Agile Testing: A Practical Guide for Testers and Agile team: pp. 47--51 (2012) 3. David Janzen and Hossein Saiedian: Test-Driven Development: Concepts, Taxonomy, and Future Direction: The flagship publication of the IEEE Computer Society, Vol.38, No.9, pp. 1--3 (2005) 4. Hans Wasmus and Hans-Gerhard Gross: Evaluationof Test-Driven Development Delft University of Technology Software Engineering Research Group Technical Report Series.(2007) 5. Charles D. Allison: The simplest unit test that could possibly work: Journal of Computing Sciences in Colleges, Vol.23, Issue.1, pp.183-189 (2007) 174 Copyright 2015 SERSC