IMPACTED TESTS BASED ON

Slides:



Advertisements
Similar presentations
Initial Requirements and Design. Second stage of development Requirements Document Design Document Quality Assurance(QA)
Advertisements

Prashant Lambat Sr. Manager SQA Engineering Symantec Corporation, Pune Date: 29 th January 2011.
2004 Cross-Platform Automated Regression Test Framework Ramkumar Ramalingam, Rispna Jain IBM Software Labs, India.
Roadmap to Continuous Integration Testing and Benefits Gowri Selka, Walgreens Natalie Koltun, Walgreens May 20th, 2014 ©2013 Walgreen Co. All rights reserved.
Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer Microsoft Corporation.
Mike Azocar Sr. Developer Technical Specialist Microsoft Corporation
System Integration and Build Management Christian Schröder Roman Antonov.
October 15, 2004 – 1 Welcome IPMA and SolutionsIQ Professional Event Testing, Testing, 1…2…3… Improving software quality -- one bug at a time.
From 3 weeks to 30 minutes – a journey through the ups and downs of test automation.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
QWise software engineering – refactored! Testing, testing A first-look at the new testing capabilities in Visual Studio 2010 Mathias Olausson.
When is a Project Ready for Software Automation? Michael Christesen Mat Krueper Ty Henson 1.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Unit Testing.
Validation Metrics. Metrics are Needed to Answer the Following Questions How much time is required to find bugs, fix them, and verify that they are fixed?
Testing in Extreme Programming
TVAC Electronic Call Sheet System Team HeatWave Summer 2007.
Winrunner Usage - Best Practices S.A.Christopher.
May 29 th, 2003 Curtis Anderson Sivaprasad Padisetty.
PHP Features. Features Clean syntax. Object-oriented fundamentals. An extensible architecture that encourages innovation. Support for both current and.
Test Automation For Web-Based Applications Portnov Computer School Presenter: Ellie Skobel.
CS5103 Software Engineering Lecture 02 More on Software Process Models.
Responsive Web & Its impact on Testing World
We Optimize. You Capitalize Software Development Services
Leverage your Business with Selenium Automation Testing
Regression Testing with its types
Extended BDD Automation for Future Agile Applications
Redundancy Control For PostgreSQL
DEFECT PREDICTION : USING MACHINE LEARNING
Effective way to build test Automation strategy in Agile
AI emerging trend in QA Sanjeev Kumar Jha, Senior Consultant
DILV -Data Integrity and Lifecycle Validator
USAGE OF VARIOUS AUTOMATION TOOLS TO ACHIEVE WIDER TEST COVERAGE
Applied Software Implementation & Testing
SYSTEMART, LLC We Optimize. You Capitalize Software Application Development
Some Important Techniques For Regression Testing That You Must Know.
Important Software Performance Testing That Ensure High Quality Solutions.
Product Pipelines Swapnil Gupta – QA Manager
SANJAN BORA (LEAD QA ENGINEER)
X in [Integration, Delivery, Deployment]
Faster delivery using Device Farm
Agility with Component Based Test Design
Main Author - Navaneetha Kowdle (Associate Director)
Workflow-based Automation Framework for Agile Software Development
Jefferson Ridgeway, 2017 NIFS Summer Intern Mentor: Brian Coltin, IRG
Project insights using mining software repositories
Transforming Automation through Artificial Intelligence
Agile Testing Using Virtualization
Enhanced Security Testing- Do Automate Debuggers
Sharing the good, the bad, the ugly & What can we do about it?
How much is Enuf?! – A Risk Based Layered Regression Test Strategy
DevOps - Extreme Automation using Cucumber, Selenium, Ruby
Welcome to the Ericsson journey towards an Agile WoW!
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
Software visualization and analysis tool box
Measure Reliability of Automation – using Machine learning
CSE 303 Concepts and Tools for Software Development
Chapter 7 –Implementation Issues
VIRBank Kristina Naudžiūnaitė Rita Birgelytė
Addressing Test coverage in Continuous Testing
Open Source Tool Based Automation solution with Continuous Integration and end to end BDD Implementation Arun Krishnan - Automation Manager Maria Afzal-
CS 240 – Advanced Programming Concepts
Using Customer feedback for Automated Test-suite
Case Study 1 By : Shweta Agarwal Nikhil Walecha Amit Goyal
SOFTWARE DEVELOPMENT LIFE CYCLE
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Final Review 27th March Final Review 27th March 2019.
Mark Quirk Head of Technology Developer & Platform Group
Open Source Tool Based Automation solution with Continuous Integration and end to end BDD Implementation Arun Krishnan - Automation Manager Maria Afzal-
Presentation transcript:

IMPACTED TESTS BASED ON FUNCTION COVERAGE Shagufta, Software Engineer Shubhi Gupta, Software Engineer Rakesh Jha, Quality Engineering Manager Adobe Systems India Pvt Ltd.

ABSTRACT Rapid Release model of Software Development demands an expeditious shipment of product to market. The continuous integration process in turn requires frequent certification of the product build which necessitates the execution of a large number of tests. An optimization to this can be attained by an intelligent selection of a test suite for execution. Code changes can serve as reliable indicator for identifying the tests which need to be run for a particular build of the product. Assessment of the probability of failure can be done by running only the tests which invokes THE FUNCTIONS THAT HAVE BEEN CHANGED in the code (based on Code Coverage). This leads to a shorter test execution window and saving of computing resources. So, the extent of testing / the set of test cases that are to be chosen for a particular requirement are the ones which have their test requirements impacted by the function changes. In products like Adobe Acrobat that have 8k+ test cases, running the full test suite is a time consuming and redundant process. Executing only a limited set of tests thus reduces the test count significantly which can be run in no time, like in Acrobat test count reduces to approximately 300, and any break caused by code change is immediately caught. Thus, change based automation not only optimizes the test execution but also significantly reduces the turnaround time for the developer to be reported any regression caused by the change. The implementation of “Impacted Tests based on function coverage" in Adobe Acrobat team has proven to be very useful in obtaining accurate results in a short span of time.

CURRENT PROCESS Automation Framework New Build ` Scope of Improvement CL 3: Version bump CL 5: Dummy CL CL 1: Test fix CL 2: Bug Fix CL 4: DLL Change Build System Automation Framework Executes 8K+ Test cases Time: ~24 hours ‘N’ Machines Test results available in 24 hours Entire QE team triages the results New Build Fixes and Changes Turn around time in reporting regressions ~ 30hours. Can we improve this??? Based on triage and testing, new bugs logged.

Component Based Testing (Executing Feature Specific Tests) Create PDF PDF View Security Acrobat Components Acrobat Test Suite Create PDF Tests (500) PDF View Tests (700) Security Tests (300) CONS Tests dependent on other Components are not executed

Function Change Based Testing (Executing Tests invoking the functions changed) Function level coverage Product Build Identify functions being changed F1, F2,…….,F(n) Query DB to get test list {T} that covers the changed functions {F1…F(n)} Execute Tests {T} affected by the changed functions PRO’s Ensures testing of all components impacted by code change. Only required tests executed, so time is reduced.

Architecture of “IMPACTED” Test Tool Creates the Functional Profile of a test which is actually a list of functions covered by a given test. TEST PROFILER PROVIDER IMPACTED TEST TOOL Provides list of tests which covers the functions changed in a given submission.

(TESTS TO FUNCTION MAPPING) TEST PROFILER (TESTS TO FUNCTION MAPPING) Tests C++ Function Name 1. Commenting_Main void comments() 2. Highlight_Text void highligtText() 3.Commenting_TODO int toDoCommenting() 4. CreatePDF_Maker bool makeNewPDF() 5. …. … 8000+ tests Executed on Code Coverage files Code coverage product build Parse code coverage file Database COLLECT DATA Fortnightly Task Determining Functions invoked by a test can be done easily by Code Coverage Tools

TEST PROVIDER New Product Build Parse the files of the new build using Code Difference Tool Identify the lines which have been changed Query DB to get the tests corresponding to functions changed CTAG library determines the Functions Changed . List of Tests to be executed due to function changes

EXAMPLE – TEST RESULTS Before After Implementing Function Based Automation Before

Return of Investment Saves Computing Resources: Runs only the tests impacted by the function change without wastage of computing resources. Stable build available all the time. Enables frequent Beta releases. Reduction in regression turn around time: Shorter Test Execution Window provides quick results to the developer enabling him to promptly fix the issue when the code change context is fresh in his mind. Saves QE hours in isolating the change which caused test failure (Only the failures due to a particular code change are reported).

REFERENCES & APPENDIX https://stackify.com/code-coverage-tools/ https://confluence.atlassian.com/clover/comparison-of-code-coverage-tools-681706101.html https://msdn.microsoft.com/en-IN/library/dd537628.aspx

AUTHOR BIOGRAPHY The author is Shagufta, Software Engineer in Acrobat Team. Involved in Security Testing, Automation Tools, and Feature Testing. The co-author is Shubhi Gupta, Software Engineer in Acrobat Team. Involved into developing Automation Tools and writing Automation Tests. The co-author is Rakesh Jha, Quality Engineering Manager in Acrobat Team. Involved majorly in Acrobat security, commenting and Automation projects. We are collectively responsible for developing Impacted Tests Based On Function Coverage.

THANK YOU!!!