Module Based Regression Test Selection Strategy for Web applications Author: Annamariale Chandran Honeywell Technology Solutions For International Conference.

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

Software Quality Assurance Plan
Configuration Management
Automated Software Testing: Test Execution and Review Amritha Muralidharan (axm16u)
Software Quality Assurance Plan
Ch 3: Unified Process CSCI 4320: Software Engineering.
GAI Proprietary Information
Validata Release Coordinator Accelerated application delivery through automated end-to-end release management.
Software Configuration Management
SE 555 Software Requirements & Specification Requirements Management.
MSIS 110: Introduction to Computers; Instructor: S. Mathiyalakan1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Software Testing Prasad G.
Configuration Management
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 11 System Test Design
Software Configuration Management
Change Request Management
© 2006, Cognizant Technology Solutions. All Rights Reserved. The information contained herein is subject to change without notice. Automation – How to.
Release & Deployment ITIL Version 3
United Nations Economic Commission for Europe Statistical Division Applying the GSBPM to Business Register Management Steven Vale UNECE
Overview of Change Management ClearQuest Overview for CORUG January, 2008.
What is Business Analysis Planning & Monitoring?
Complete and Integrated Lifecycle Management. Challenges 1.
S/W Project Management
© Mahindra Satyam 2009 Project Metrics QMS Training.
Software Testing Life Cycle
RUP Implementation and Testing
1 Configuration Management “The Cookbook Approach”
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
Service Transition & Planning Service Validation & Testing
Basic of Project and Project Management Presentation.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
INFO 637Lecture #101 Software Engineering Process II Review INFO 637 Glenn Booker.
© Mahindra Satyam 2009 Configuration Management QMS Training.
Fundamentals of Information Systems, Second Edition 1 Systems Development.
Configuration Management and Change Control Change is inevitable! So it has to be planned for and managed.
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Principles of Information Systems, Sixth Edition 1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
Software Engineering Lecture # 1.
Software Configuration Management SEII-Lecture 21
Test Plan: Introduction o Primary focus: developer testing –Implementation phase –Release testing –Maintenance and enhancement o Secondary focus: formal.
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
SwCDR (Peer) Review 1 UCB MAVEN Particles and Fields Flight Software Critical Design Review Peter R. Harvey.
Software Engineering Lecture 9: Configuration Management.
QC – User Interface QUALITY CENTER. QC – Testing Process QC testing process includes four phases: Specifying Requirements Specifying Requirements Planning.
Software Configuration Management (SCM)
MANAGEMENT INFORMATION SYSTEM
CIS 375 Bruce R. Maxim UM-Dearborn
Introduction for the Implementation of Software Configuration Management I thought I knew it all !
A Review of Software Testing - P. David Coward
Software Configuration Management
Software Project Configuration Management
Regression Testing with its types
Fundamentals of Information Systems, Sixth Edition
Chapter 11: Software Configuration Management
Computer Aided Software Engineering (CASE)
TechStambha PMP Certification Training
Software Requirements
Strategies For Software Test Documentation
Project Ideation Agile Down-to-Earth © 2016.
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
Chapter 11: Software Configuration Management
Software Verification, Validation, and Acceptance Testing
SDLC Phases Systems Design.
Configuration Management
Test Cases, Test Suites and Test Case management systems
Graduate Thesis GRAD 699 (90)
Presentation transcript:

Module Based Regression Test Selection Strategy for Web applications Author: Annamariale Chandran Honeywell Technology Solutions For International Conference on Software Engineering 19 th Dec 2009

Software Life cycle Requirements Specification Document Design Document Implementation Source Code Acceptance Testing Final System Maintenance Software Requirements High Level Design Low Level Design Unit/Integration testing Unit Test cases System testing System Test cases Update Traceability

Testing Vs Regression Testing Testing aided by Requirement spec & design document Regression aided by Collation of available artifacts and proper impact Analysis of new changes In terms of Quality How far test cases and execution are performed in terms of spec Applied testing techniques Depends also on what extent earlier documents are available Analysis on Impacts Regression techniques used to derive test cases

Regression Testing Used to validate software after some modifications are incorporated in the application Aims at validating not only the changes, but also the impacted functionalities due to those changes Process of validating modified software to provide confidence that changed parts of software behave as intended and un-hanged parts of the software have not been adversely affected by the modification

Applicable Regression Testing Areas Types of Project Development Project development from Scratch Contracted software Adopting some common Framework Using new trends like SOA, Cloud computing Full Life cycle -> Successive build Iteration releases Maintenance activities Enhancements Any software Migration

General Hurdles Non-availability of updated spec and test artifacts in a single repository Allocation of dedicated test resource Use of specification Vs test case traceability is time consuming when subject under test grows In practice, use of dedicated effort for deriving impacts is rarely possible as agile environment demands things to move faster Testers will be allocated for more than one project, more than one task at the same time

Factors to be considered Should reduce test design time Should reduce application knowledge transfer time Should provide inputs on impact to pre- system phases to improve DRE Quality of derived Impacts Productivity factor in achieving the quality

As-Is techniques & Drawbacks Code Based Re-test All Specification based with activity diagram Risk based Dependency with dev team Adhoc walkthrough Scalability problem when size grows Increase in effort Downturn in updating new spec items Depends on individual skill level Misses in finding Impacts Ineffective review for the derived Impacts

In Nutshell Current Difficulties Expectations In reality changes are validated on independent test document In most cases original test cases (either steps, expected output) will be changed Skill level of resources will not be same in understanding the test cases to know high level functionality To adopt some sort of regression guidelines every time to extract impacts Instant understanding of high level functionalities of derived test cases The module in which it falls Understanding existing scenarios from the extracted test suites The priority & severity of those test cases To provide impacts automatically (needless to use Guideline every time)

Basis -> Adhoc thought process while deriving impact

Module Based Regression Testing What Theory says? Regression analysis aims at measuring the relation of independent variable to its dependent variable's so as to predict the future value of dependent variable Derived concept for Web based application to perform Regression Testing Dependent and independent variables are considered as modules in the existing application. To derive the regression curve between the modules, factors that lead to Interlink the modules is considered. Future value of dependent Variable (any change) is Identified in terms of its related dependent variables

Regression Logic Module relation with primary dependent variables y(m) = f(x(p), β) (1) Where, y(m) -> modules derived in the application under test x(p)->primary dependent variables identified for the derived modules β -> intelligent guessing function that ensures the correctness of mapping the primary dependent variables to the identified modules Final parametric relation between modules Yd(M) = yid(m)f(α) (2) Where Yd(M) ->dependent module that will get impacted another module in the application yid(m) ->independent module referred at that instant α -> derived function from equation (1) to differentiate Yd(M) and yid(m)

Sample Application Employee Request Management System Login Request type1 Request type2 Request type3 Request type.. n User applying for specific request Approval Process Keep track Of records Start End

Step1a: Identify Modules

Step1b: Map High level Functionalities Objective: Derive test scenarios for the specified modules ‘Request Form’ high-level functionality User details should be auto-populated from LDAP for the logged in user Mail Id field should alone be allowed for editing Manager ID should be same as that of user’s portfolio Data requirement validation (Refer to xxx SCM location) Mail should be sent to the primary approver when request is submitted and status change to PA (Pending primary approval)

Step2: Identify primary dependent variable1 (that varies based on the domain nature) Extract dependent variable1-Fields/Sections

Extract dependent variable2-Common functionality Step2: Identify primary dependent variable2

Step3: Module Linkage for dependent variables

Step4: Final regression plot

In Practice…..

Frequency of When Module is changed/removed When identified top level functionality changes When any fields or sections changed No Need of Updating/ linking any user defined test cases Updating any low level changes in requirements Ex: Display format change of user name Any addition of filter fields in reports

Results

MBRT-Effectiveness Deriving primary dependent variables Review on derived impacts -> more similar to Specification/design reviews Knowledge on frequency of updates Use of both functional and structural analysis for impacts Identification In case of support projects, use of agile practices in an efficient way to perform reverse engineering

Derived Benefits Test coverage is high within the limited time frame Does not demand the resource to have complete understanding of the system Analyze the related impacts & come up the priority wise modules and scenarios to be executed Knowledge transfer time is less Provides input to the code-level impacts (Reverse engineering) Estimation to validate the changes becomes more accurate

Future Amendments To roll out an automated selection of impacted modules and scenarios To apply regression logic for deriving impacted code, by providing the code related information to the requirement database as one more primary dependent variable