Scenario-based Regression Testing (SRT)

Slides:



Advertisements
Similar presentations
Configuration Management
Advertisements

System Integration Verification and Validation
Software Quality Assurance Plan
Lecture # 2 : Process Models
10 Software Engineering Foundations of Computer Science ã Cengage Learning.
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
Fundamentals of Information Systems, Second Edition
Module Based Regression Test Selection Strategy for Web applications Author: Annamariale Chandran Honeywell Technology Solutions For International Conference.
1 Software Testing Techniques CIS 375 Bruce R. Maxim UM-Dearborn.
S/W Project Management
Extreme Programming Software Development Written by Sanjay Kumar.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Chapter 14 Information System Development
Configuration Management (CM)
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
Lecture 7: Requirements Engineering
Topics Covered Phase 1: Preliminary investigation Phase 1: Preliminary investigation Phase 2: Feasibility Study Phase 2: Feasibility Study Phase 3: System.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
 System Requirement Specification and System Planning.
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
Systems Development Process and Methodologies Dr. T. Ravichandran.
Chapter 1 The Systems Development Environment
Configuration Management
Software Testing.
Software Configuration Management
Software Project Configuration Management
Software Quality Control and Quality Assurance: Introduction
Chapter 1 The Systems Development Environment
Regression Testing with its types
Fundamentals of Information Systems, Sixth Edition
PLM, Document and Workflow Management
Chapter 11: Software Configuration Management
SOFTWARE TESTING OVERVIEW
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Configuration Management
Chapter 1 The Systems Development Environment
The Systems Engineering Context
Recall The Team Skills Analyzing the Problem
IEEE Std 1074: Standard for Software Lifecycle
Systems Analysis and Design
Chapter 1 The Systems Development Environment
Software Life Cycle Models
DEFECT PREDICTION : USING MACHINE LEARNING
FORMAL SYSTEM DEVELOPMENT METHODOLOGIES
De-mystifying Big Data Testing using new generation tools / technology
Quality Strategies In AGILE
Applied Software Implementation & Testing
Big Data - in Performance Engineering
Engineering Processes
MBML_Efficient Testing Methodology for Machine Learning
Model Based Testing Venkata Ramana Bandari, Expert Software Engineer
Chithira Selvan– Project Manager Senthil Kumar S & Associate
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
Baisc Of Software Testing
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
Engineering Processes
Software Development Life Cycle Models
Applying Use Cases (Chapters 25,26)
Applying Use Cases (Chapters 25,26)
Software Testing Lifecycle Practice
CRISP Process Stephen Wyrick.
Chapter 1 The Systems Development Environment
Chapter 13 Building Systems.
Presentation transcript:

Scenario-based Regression Testing (SRT) Chithira Selvan & Project Manager Senthil Kumar S & Associate P Balakrishnan & Associate Professor Cognizant Technology Solutions

Abstract Regression testing is an inevitable phase in any software development lifecycle since its focus is to uncover the defects which are induced by the recent code changes in an existing application. Alternatively, the primary objective of regression testing is to ensure the correctness of the modified software. However, regression testing demands the exhaustive execution of all the test cases in the test suite which is unaffordable in most cases. To avoid this, it is essential to know the dependent modules/components of the modified modules/components which will be used to carefully choose the relevant subset of test cases from the test suite. Further, prioritizing the test cases of this subset will also help to improve the time and cost effectiveness of regression testing. With these objectives, this research work proposes a Scenario-based Regression Testing(SRT) in which the test cases for regression testing are chosen based on the scenarios that are derived from the history of known previous production issues. Here, the Scenario-based Regression scoping is applied over the dependent modules/components to decide their candidature for regression testing. Later, these scenarios are clustered together and are associated with the respective modules. The proposed approach is planned to implement the entire project plan and test plan in a graph database such as, Neo4j for better assessment of dependent modules in deciding their candidature for regression testing. In concise, the proposed methodology achieves early defect identification and eliminates high risk through effective regression testing by executing the most optimal test scenarios which covers an end to end test flow.

Application Overview Every minute of every day, our Client create millions of media moments all over the world. Largest broadcaster provides Scalable and Efficient Media Sales Solution, Creates and Delivers Efficient Ad Sales Campaigns for Linear TV and VOD Drives up Ad Revenue through Efficient use of Airtime and Controls Operational Costs in Ad Sales Teams through Automated Tools New State of the Art User Interface Drives Effectiveness Through Usability, Navigation, Notification and Inbuilt Data Analytics in Every Functional Area

Problem Statement Software system is subject to changes through out development, maintenance, and evolution, due to a variety of reasons such as changed requirements (both functional and nonfunctional), update technology, and upgrade hardware or software platform. The changes bring much risk to the software system because change propagations may introduce new bugs, sometimes even fatal errors. Regression testing is the technique to verify the integrality and correctness of the modified system. There exist two strategies for selecting regression test cases: retest-all and selective-retest. In most of situations, it is impossible to retest all the test cases of the system under test. Therefore, the selective testing is necessary. Selecting a right set of regression test cases for antique applications (which has 3000+ test cases) which is very difficult and it requires very precise approach to make this as efficient.

Proposed Approach This research work proposes a Scenario-based Regression Testing(SRT) in which the test cases for regression testing are chosen based on the scenarios that are derived from the history of known previous production issues. Here, the Scenario-based Regression scoping is applied over the dependent modules/components to decide their candidature for regression testing. Later, these scenarios are clustered together and are associated with the respective modules. This approach explains the Test Scenario Model followed in this work

Test Scenario Model This section explains the E2E testing and describes the test scenario model from three perspectives: test scenario specification, the dependencies between test scenarios, and the traceability to other software artifacts E2E Testing: E2E testing is a life cycle process that is made up of following procedures Test planning: specifies the key tasks as well as the associated schedule and resources; Test design: designs an E2E testing, including test specifications, test case generation, risk analysis, usage analysis, and scheduling tests; Test execution: executes the test cases and documents the testing results; Result analysis: analyzes the testing results.

Test Scenario Specification Test scenarios are semi-formal specifications that sit between descriptive system requirements and executable test cases. Test Scenarios are formed by analyzing Previous Production issues, Client Key requirements and Happy Path scenarios. These scenarios will be grouped and sorted by using below template,

Test Scenarios Dependencies Dependence analysis provides the foundation for regression testing to identify dependent components/modules using Impact Analysis. Below are the various dependencies, Functional Dependence Input Dependence Output Dependence Execution Dependence Condition Dependence

Test Scenario Traceability The traceability enables global change impact analysis among software artifacts In Linkage of the temple, attribute Requirement records all the requirements what the test scenario is associated; attribute Test Script stores all the test cases that are generated from the test scenario. In general cases, a requirement can be traced to multiple test scenarios and a test scenario to multiple test cases (test scripts). Each test scenario may cover multiple software components along its execution path;

Implementation of Scenario based Regression Testing Identifying the impacted modules based on the code dependencies and Impact analysis. Using Traceability information, linked scenarios can be identified for efficient scoping. With information from Dependency and Traceability, one can identify all affected scenarios that includes directly or indirectly affected scenarios and thus the set of test cases can be selected for regression testing

Conclusion Regression testing on large integrated software system is hard because the number of test cases is huge and the change impacts may be widely spread. For high-level integration regression testing, the retest-all approach is usually time and resource consuming. To counter this challenge, this paper proposes a Scenario Based Regression Testing approach for functional regression testing. Test scenarios are semi-formal representations of detailed system requirements, with test inputs, outputs, and conditions defined. By using test dependency information and traceability, one can obtain a algorithm to detect the scenarios that are affected and thus they are candidates for regression testing.

Author Biography Co-Author 1 Biography Co-Author 2 Biography Chithira Selvan works as a Project Manager at Cognizant Technology Solution, Chennai and have 10 years of experience in large scale Broadcasting domain, Communications and Data Analysis. She holds a Master’s Degree in Computer Applications. She is certified in ISTQB and CSQA Co-Author 1 Biography Senthilkumar S works as a Associate at Cognizant Technology Solution, Chennai and have 7 years of experience in Broadcasting domain. He holds a Masters Degree in Computer Applications. He is certified in ISTQB and Six Sigma Green Belt Practitioner. Co-Author 2 Biography P Balakrishnan, having around 15 years of experience and worked in overseas in data computing, currently working as Associate Professor

Thank You!!!