SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
Accelerated Test Case Automation Using Rational
               Functional Tester

                  Anish Bhanu
        Manager, Software, Novellus Systems
                Anish.Bhanu@Novellus.com
                 Sriram Chakravarthi
       Sr. Engineer, Software, Novellus Systems
Automation Challenges in today’s environment
                                           Framework running
Automation lags                            on multiple hardware,
development                                OS or platform
                                  Framework                                 Test cases
                                  Extendibility            Building Test    with Data
             Application                                                    Driven or
             Availability                                   Framework       Keyword
                                                                            Driven
                                                                            approach

                                  Automation
           Proper                                               Right
        Documentation                                         Resources
Coding                                                                  Programming
Standards,                         Test Case       Re-usable            knowledge vs
Documentation                     Maintenance      Actions,             System
of test cases and                                  Methods &            knowledge…
modules…                                           Modules

           Modified Chinese saying, “May you automate in interesting times”


                                                                                         2
System level diagram                                        Data collection and
                                                            analysis tool
                         Factory Automation
                                                             Windows 2003 server
  No   vellu
             s           Server
        FA               Windows 2003 server                 JAVA
                               VC++                                                     GUI
                                                                                        Windows XP
                                                                                        VC++
Factory Host
Windows 2000
                                                       System Controller
  VC++
                                                       QNX 4
                                                        C
                                                                                   Module Controller
 Module Controller                                                                 QNX 4
       QNX 4
                                                                                    C
        C



        EIOC                                    EIOC     EIOC                              EIOC
   QNX 6                                       QNX 6    QNX 6                              QNX 6
         C                                      C        C                                  C




                 Valve                         MFC              Robot                       Pump



                                                                                                   3
Challenges for testing semi-conductor tool software
• Around 40 releases a year supporting 14 products
• Manual testing of each release takes about 1200 hours of testing for
  each release
• Software reliability is a key differentiator for tool software
• System is graphic intensive, event driven and interacts with multiple
  other systems
• Every customer uses the tool in a unique way. Customer needs quick
  turnaround on features and fixes




                                                                          4
Test Automation Approaches



  Record and          Functional Test         Data Driven        Keyword Driven
   Playback           Decomposition


Standalone Record    Modular test          Test scripts with     Test scripts with
& Playback Scripts   functions with data   input & output data   input & output data
                     within test script    outside the test      outside the test
                                           script                script along with re-
                                                                 usable keyword
                                                                 libraries




                                                                                         5
Novellus Experience with Automation
• Started automation with Mercury WinRunner in 2003
• Started with the Functional decomposition approach and later moved
  to Data driven approach
• Test case development took us 8 times the manual testing time
• Maintaining the test cases for major releases took us 2 times the
  manual testing time
• By end of 2008, we had only 15% of test cases automated, which is
  around 180 hours of manual testing time
• Maintaining the script data for multiple releases and product was a
  challenge
• WinRunner was not able to recognize the controls and 25% of
  Regression test cases could not be automated




                                                                        6
New Automation Approach using RFT
• Simplify scripting
  – Script should mimic what the user does on the screen.
  – Anyone could write the script
• Modular architecture
  – Common framework that supports multiple products
  – Provide reuse of code and test structure
  – Error recovery system for continuous run
• Parameterize test methods and modules
  – Provides mechanism to create new test cases easily and increase
    coverage
• Documentation
  – Document generation of test methods and modules using JavaDoc
• Use Proxies
  – For custom controls not recognized by RFT
    • Rouge wave Stingray Controls

                                                                      7
Control metrics
               UI Controls    Set    Read    Verify
              Pushbutton              NA      NA
              Edit Box
              Static Text     NA
              Combo Box
              Radio Button
              Check Button
              Menu Item              NA       NA
              List Box
              List Table
              Window                 NA
              Tree List              NA       NA
              Stingray Grid
              Tab                    NA       NA       NA: Not Applicable



•   Basic operation for any UI control
     • Set, Read and Verify
•   UI control class is derived from RationalTestScript Class and the
    basic operations are overridden in the derived class



                                                                            8
“4+1” view Architecture
                                                          Programmers
       End User Functionality                     Software Management




              Test Plans                    Test Modules
              (Logical View)                (Development View)


                                Use Test Cases
                                   (Scenarios)


             Data Tables                    Test Methods
             (Process View)                 (Physical View)


         Scalability                                               Topology

                                          Architectural Blueprints – The “4+1” View Model of Software Architecture
                                                                                              by Philippe Kruchten




                                                                                                              9
Architecture
• Test Plan
 – Represents a collection of test cases that will be executed sequentially.
 – Output is a result sheet indicating whether the selected test cases passed or failed.
• Test cases
 – Consists of a collection of Test Modules and Test Methods which are organized in a
   logical sequence.
 – Output is a result sheet indicating whether the individual Test Modules/Test Methods
   passed or failed.
• Test Modules
 – Readily available entity that performs commonly used operation.
 – Consists of a collection of Test Methods which are organized in a logical sequence.
 – Reused across Test Cases.
• Test Methods
 – One class implemented corresponding to each UI control.
 – Operations that have been implemented in the UI control classes in Java.
 – Makes use of RFT APIs and Java libraries



                                                                                           10
Test Framework Control flow
Test case script
    Module/Method                                         Argument1                  Argument2        Argument3 Argument4
    #Set-up
    TestModule.LaunchProteusAndLogin                          c2                         c2
    TestModule.LaunchConfigurationEditor
    TestModule.SetConfig                                  argument3
    TestModule.LaunchTelnetWindow
    TestModule.Powercycle                                stop all;auto
    TestModule.CloseTelnetWindow
    #########Step1 Wafer run and nested error recovery ###########
    TestModule.AssignWafers                                 Port1                         1              10      argument5
    TestModule.StartWaferRun
    TestModule.WaitForModuleToExecuteStep                 argument2                  argument6
    TestModule.InduceError                                argument2
    TestModule.VerifyModuleInError                        argument2
    TestModule.OpenErrorRecovery
    TestModule.VerifyVCComboboxExists         errorrecovery_IDC_ER_MODULES_COMBO   Modules in Error   CONTINUE
    TestModule.SelectModuleForErrorRecovery               argument1
    TestModule.VerifyVCRadioButtonExists       errorrecovery_IDC_DYNAMIC_RADIO1        Resume         CONTINUE
    TestModule.VerifyVCEditBoxExists            errorrecovery_IDC_EDIT_DYNAMIC            -           CONTINUE
    #########Step2 ###########
    …
    #Tear-down
    TestModule.ReplaceAllCassettes                           hfkb
    TestModule.DeleteRecipe                               argument5
    TestModule.ExitProteus
Error Recovery System
•   Cascading failures are avoided by using an error recovery that
    brings the system to base state
•   Generic Teardown is executed if the test cases encounter
    exceptions
    –   Take the screenshot
    –   Log the failure details
    –   Close all windows
    –   Restart the application
•   Testcase dependent Setup & Teardown is implemented to make
    each test case independent
Enhanced Logging
    •     Logs are captured using excel sheet and text file.
    •     Every level will have a log with results against each line in an excel sheet.
            –      Test Plan Result, TestCase Result & TestModule Result
    •     A detailed log also will be available in the form of a text file.
    •     Log level is provided by the user at the test plan selection level.
                               Number of Test Cases Selected:                               23
                               PASS                           TestCase.INXT_P1508_TC1_01       InovaxTSamsung
                               PASS                           TestCase.INXT_P1508_TC2_01       InovaxTSamsung
Number of Test   Plans   Selected:
                               PASS                                            7
                                                              TestCase.INXT_P1508_TC2_06       InovaxTSamsung
PASS                           PASS Variable.setLogLevel TestCase.INXT_P1508_TC2_07            InovaxTSamsung
                                                                                               3
                               PASS                           TestCase.INXT_P1508_TC2_08       InovaxTSamsung
PASS                                Variable.setVariableValue                    IP_ADDRESS       192.168.1.10
                               PASS                           TestCase.INXT_P1508_TC7_01       InovaxTSamsung
PASS                           PASS Variable.setVariableValue                    PRODUCT_NAME INOVAxT
                                                              TestCase.INXT_P1508_TC8_02       InovaxTSamsung
PASS                           PASS Variable.setVariableValue                    MACHINE_NAMEInovaxTSamsung
                                                              TestCase.INXT_P1508_TC12_01         swe011qnx
PASS                           PASS TestPlan.INOVAxT_TP_1508  TestCase.INXT_P1508_TC12_02      InovaxTSamsung
PASS                           PASS TestPlan.INOVAxT_TP_INOVAxT_RTP
                                                              TestCase.INXT_P1508_TC12_03      InovaxTSamsung
                               PASS                           TestCase.INXT_P1508_TC11_02      InovaxTSamsungQFA
PASS                                TestPlan.INOVAxT_TP_1833
                               PASS                           TestCase.INXT_P1508_TC11_03      InovaxTSamsungQFA
PASS                           PASS TestPlan.INOVAxT_TP_2049  TestCase.INXT_P1508_TC11_04      InovaxTSamsungQFA
FAIL                           PASS TestPlan.Vector_TP_INOVAxT_RTP
                                                              TestCase.INXT_P1508_TC11_05      InovaxTSamsungQFA
FAIL                           PASS TestPlan.Vector_TP_2049   TestCase.INXT_P1508_TC11_06      InovaxTSamsungQFA
FAIL                           PASS TestPlan.Vector_TP_1508   TestCase.INXT_P1508_TC11_02      InovaxTSamsungAFA
                               PASS                           TestCase.INXT_P1508_TC11_03      InovaxTSamsungAFA
Number of Test   Plans   Executed:
                               PASS
                                                                               7
                                                              TestCase.INXT_P1508_TC11_04      InovaxTSamsungAFA
Number of Test   Plans   PASSED:
                               PASS                                            4
                                                              TestCase.INXT_P1508_TC11_05      InovaxTSamsungAFA
Number of Test   Plans   FAILED:
                               PASS                                            3
                                                              TestCase.INXT_P1508_TC11_06      InovaxTSamsungAFA
                               PASS                           TestCase.INXT_P1508_TC2_02       InovaxTSamsung
                               PASS                           TestCase.INXT_P1508_TC4_02       InovaxTSamsung
                               PASS                           TestCase.INXT_P1508_TC4_04       InovaxTSamsung
                               Number of Test Cases Executed:                               23
                               Number of Test Cases PASSED:                                 23
                               Number of Test Cases FAILED:                                  0
Documentation using Java Doc for Modules and Methods
Benefits with New Automation Approach




•   Saving of 60% on efforts with the new approach.
•   Test cases can be scripted without the application fully developed.
•   Test case scripts are portable across operating systems.
•   Maintenance of the test case scripts is negligible.


               7% coverage achieved using the new framework
Proxy Development
• Proxy developed for Novellus Application


   Problem Statement:
     Novellus software use a third party grid application (Rogue Wave Stingray).
     RFT was not able to recognize the GRID Control and recorded script was
     referring to co-ordinates.
     Our requirement was to recognize the cells and their row and column indices
   Solution:
     GRID Control API are exposed by the third party
     Helper DLL was required for getting the window handle for the Grid and in turn
     calling Grid APIs
     We developed a Proxy DLL for the GRID Control by extending the Win.Generic
     proxy class.
     When the RFT recognizes the GRID control, Proxy DLL creates the Grid Test
     Object on the RFT


                                                                                   17
Stingray grid control
                        Stingray grid cells




                                      Stingray grid window




                                                             18
Proxy Development
• Proxy developed for Novellus Application




               AUT                             RFT Script
               Grid




            Helper DLL             Proxy DLL   Test Object




             VC++ 6.0                C#          Java




                                                             19
Summary
• Test cases can be written faster to support quick turnaround.
• Everyone can write test cases, does not require programming skills.
• Framework is used to quickly write test scenarios to re-create
  customer issues
• Enables re-use of test methods and modules since the design is
  modular
• Java Doc helps in easy scripting
• Robust design and error recovery system
• Proxy SDK provides freedom to develop proxies for custom controls




                                                                        20
Helper DLL code snippet




                          22
Proxy DLL code snippet




                         23
Proxy DLL code snippet contd…




                                24
Test Object




              25
RFT script




             26
Proxy Development
• Why Proxy is required?
  – Every test object within RFT framework has a
    corresponding proxy
  – Proxies need to be developed for controls that
    are not recognized by RFT
  – Proxies can also be used to expose hidden
    properties of controls even for controls
    recognized by RFT
• What is a Proxy?
  – Proxies are interface between the UI controls
    and RFT
  – Proxy objects can interface with the UI
    controls using native APIs supported by the UI
    control
  – Test objects interact with proxy objects


                                                     27
Proxy Development

• How is a Proxy developed
 – Proxy Development requires the Proxy SDK provided by RFT.
 – Proxies can be developed either in Java or C#.
 – Decide upon the control for which we need to develop the proxy and the functionalities
   required out of that.
 – Generic proxy class is extended and mapped to the actual class corresponding to control
   object



                                 Generic Proxy Class




                                 Custom Proxy Class




                                                                                             28

Más contenido relacionado

La actualidad más candente

Effect of Procedure Question Group Attributes on Performance of Batch Validation
Effect of Procedure Question Group Attributes on Performance of Batch ValidationEffect of Procedure Question Group Attributes on Performance of Batch Validation
Effect of Procedure Question Group Attributes on Performance of Batch ValidationPerficient
 
Profiler Instrumentation Using Metaprogramming Techniques
Profiler Instrumentation Using Metaprogramming TechniquesProfiler Instrumentation Using Metaprogramming Techniques
Profiler Instrumentation Using Metaprogramming TechniquesRitu Arora
 
A framework for distributed control and building performance simulation
A framework for distributed control and building performance simulationA framework for distributed control and building performance simulation
A framework for distributed control and building performance simulationDaniele Gianni
 
EmployDEX Consulting Services
EmployDEX Consulting ServicesEmployDEX Consulting Services
EmployDEX Consulting Serviceskhandaa
 
Continuous Delivery Overview
Continuous Delivery OverviewContinuous Delivery Overview
Continuous Delivery OverviewWill Iverson
 
Alm 4 Azure with screenshots
Alm 4 Azure with screenshotsAlm 4 Azure with screenshots
Alm 4 Azure with screenshotsClemens Reijnen
 
UFT An advance version of QTP
UFT  An advance version of QTPUFT  An advance version of QTP
UFT An advance version of QTPRita Singh
 
Drupal & Continous Integration - SF State Study Case
Drupal & Continous Integration - SF State Study CaseDrupal & Continous Integration - SF State Study Case
Drupal & Continous Integration - SF State Study CaseEmanuele Quinto
 
IBM Rational Software Conference 2009: Quality Management Track Keynote
IBM Rational Software Conference 2009: Quality Management Track KeynoteIBM Rational Software Conference 2009: Quality Management Track Keynote
IBM Rational Software Conference 2009: Quality Management Track KeynoteKathy (Kat) Mandelstein
 
Data Base Testing Interview Questions
Data Base Testing Interview QuestionsData Base Testing Interview Questions
Data Base Testing Interview QuestionsRita Singh
 
Planning & building scalable test infrastructure
Planning  & building scalable test infrastructurePlanning  & building scalable test infrastructure
Planning & building scalable test infrastructureVijayan Reddy
 
Challenges in Using UVM at SoC Level
Challenges in Using UVM at SoC LevelChallenges in Using UVM at SoC Level
Challenges in Using UVM at SoC LevelDVClub
 
Uvm cookbook-systemverilog-guidelines-verification-academy
Uvm cookbook-systemverilog-guidelines-verification-academyUvm cookbook-systemverilog-guidelines-verification-academy
Uvm cookbook-systemverilog-guidelines-verification-academyRaghavendra Kamath
 

La actualidad más candente (17)

Kanban by Mayur Gupta
Kanban by Mayur GuptaKanban by Mayur Gupta
Kanban by Mayur Gupta
 
ITS-Fidel
ITS-FidelITS-Fidel
ITS-Fidel
 
Effect of Procedure Question Group Attributes on Performance of Batch Validation
Effect of Procedure Question Group Attributes on Performance of Batch ValidationEffect of Procedure Question Group Attributes on Performance of Batch Validation
Effect of Procedure Question Group Attributes on Performance of Batch Validation
 
Profiler Instrumentation Using Metaprogramming Techniques
Profiler Instrumentation Using Metaprogramming TechniquesProfiler Instrumentation Using Metaprogramming Techniques
Profiler Instrumentation Using Metaprogramming Techniques
 
A framework for distributed control and building performance simulation
A framework for distributed control and building performance simulationA framework for distributed control and building performance simulation
A framework for distributed control and building performance simulation
 
EmployDEX Consulting Services
EmployDEX Consulting ServicesEmployDEX Consulting Services
EmployDEX Consulting Services
 
Continuous Delivery Overview
Continuous Delivery OverviewContinuous Delivery Overview
Continuous Delivery Overview
 
Alm 4 Azure with screenshots
Alm 4 Azure with screenshotsAlm 4 Azure with screenshots
Alm 4 Azure with screenshots
 
UFT An advance version of QTP
UFT  An advance version of QTPUFT  An advance version of QTP
UFT An advance version of QTP
 
Drupal & Continous Integration - SF State Study Case
Drupal & Continous Integration - SF State Study CaseDrupal & Continous Integration - SF State Study Case
Drupal & Continous Integration - SF State Study Case
 
IBM Rational Software Conference 2009: Quality Management Track Keynote
IBM Rational Software Conference 2009: Quality Management Track KeynoteIBM Rational Software Conference 2009: Quality Management Track Keynote
IBM Rational Software Conference 2009: Quality Management Track Keynote
 
Data Base Testing Interview Questions
Data Base Testing Interview QuestionsData Base Testing Interview Questions
Data Base Testing Interview Questions
 
Planning & building scalable test infrastructure
Planning  & building scalable test infrastructurePlanning  & building scalable test infrastructure
Planning & building scalable test infrastructure
 
Ash Maurya, USERcycle
Ash Maurya, USERcycleAsh Maurya, USERcycle
Ash Maurya, USERcycle
 
Challenges in Using UVM at SoC Level
Challenges in Using UVM at SoC LevelChallenges in Using UVM at SoC Level
Challenges in Using UVM at SoC Level
 
Uvm cookbook-systemverilog-guidelines-verification-academy
Uvm cookbook-systemverilog-guidelines-verification-academyUvm cookbook-systemverilog-guidelines-verification-academy
Uvm cookbook-systemverilog-guidelines-verification-academy
 
Lesson2 software process_contd2
Lesson2 software process_contd2Lesson2 software process_contd2
Lesson2 software process_contd2
 

Similar a Accelerated test case - Anish bhanu

Centralized test automation framework implementation
Centralized test automation framework implementationCentralized test automation framework implementation
Centralized test automation framework implementationBharathi Krishnamurthi
 
Agile Open Source Performance Testing Workshop for Business Managers
Agile Open Source Performance Testing Workshop for Business ManagersAgile Open Source Performance Testing Workshop for Business Managers
Agile Open Source Performance Testing Workshop for Business ManagersClever Moe
 
Neil Tompson - SoftTest Ireland
Neil Tompson - SoftTest IrelandNeil Tompson - SoftTest Ireland
Neil Tompson - SoftTest IrelandDavid O'Dowd
 
Psi cgl test_auto_casestudy_v01
Psi cgl test_auto_casestudy_v01Psi cgl test_auto_casestudy_v01
Psi cgl test_auto_casestudy_v01Primesoftinc
 
Непрерывное тестирование для улучшения качества кода
Непрерывное тестирование для улучшения качества кодаНепрерывное тестирование для улучшения качества кода
Непрерывное тестирование для улучшения качества кодаSQALab
 
Testing in an Open Source Middleware Platform Space The WSO2 Way.
Testing in an Open Source Middleware Platform Space  The WSO2 Way.Testing in an Open Source Middleware Platform Space  The WSO2 Way.
Testing in an Open Source Middleware Platform Space The WSO2 Way.WSO2
 
Agile Open Source Performance Test Workshop for Developers, Testers, IT Ops
Agile Open Source Performance Test Workshop for Developers, Testers, IT OpsAgile Open Source Performance Test Workshop for Developers, Testers, IT Ops
Agile Open Source Performance Test Workshop for Developers, Testers, IT OpsClever Moe
 
Постоянное тестирование интеграции
Постоянное тестирование интеграцииПостоянное тестирование интеграции
Постоянное тестирование интеграцииSQALab
 
Modernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-ArchitectModernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-ArchitectDevOps.com
 
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...XebiaLabs
 
HTAF 2.0 - A hybrid test automation framework.
HTAF 2.0 - A hybrid test automation framework.HTAF 2.0 - A hybrid test automation framework.
HTAF 2.0 - A hybrid test automation framework.Mindtree Ltd.
 
Diff between win runner vs and qtp
Diff between win runner vs and qtpDiff between win runner vs and qtp
Diff between win runner vs and qtpRamu Palanki
 
20110812 CyberTAN presentation
20110812 CyberTAN presentation20110812 CyberTAN presentation
20110812 CyberTAN presentationRichard Hsu
 
Ahesanali Vijapura - QA Manager
Ahesanali Vijapura - QA ManagerAhesanali Vijapura - QA Manager
Ahesanali Vijapura - QA Managerahesanvijapura
 
Test Automation
Test AutomationTest Automation
Test Automationnikatmalik
 
Track and Trace Solution Details
Track and Trace Solution DetailsTrack and Trace Solution Details
Track and Trace Solution DetailsPropix Technologies
 

Similar a Accelerated test case - Anish bhanu (20)

Centralized test automation framework implementation
Centralized test automation framework implementationCentralized test automation framework implementation
Centralized test automation framework implementation
 
Agile Open Source Performance Testing Workshop for Business Managers
Agile Open Source Performance Testing Workshop for Business ManagersAgile Open Source Performance Testing Workshop for Business Managers
Agile Open Source Performance Testing Workshop for Business Managers
 
Neil Tompson - SoftTest Ireland
Neil Tompson - SoftTest IrelandNeil Tompson - SoftTest Ireland
Neil Tompson - SoftTest Ireland
 
Psi cgl test_auto_casestudy_v01
Psi cgl test_auto_casestudy_v01Psi cgl test_auto_casestudy_v01
Psi cgl test_auto_casestudy_v01
 
Непрерывное тестирование для улучшения качества кода
Непрерывное тестирование для улучшения качества кодаНепрерывное тестирование для улучшения качества кода
Непрерывное тестирование для улучшения качества кода
 
Testing in an Open Source Middleware Platform Space The WSO2 Way.
Testing in an Open Source Middleware Platform Space  The WSO2 Way.Testing in an Open Source Middleware Platform Space  The WSO2 Way.
Testing in an Open Source Middleware Platform Space The WSO2 Way.
 
Agile Open Source Performance Test Workshop for Developers, Testers, IT Ops
Agile Open Source Performance Test Workshop for Developers, Testers, IT OpsAgile Open Source Performance Test Workshop for Developers, Testers, IT Ops
Agile Open Source Performance Test Workshop for Developers, Testers, IT Ops
 
Постоянное тестирование интеграции
Постоянное тестирование интеграцииПостоянное тестирование интеграции
Постоянное тестирование интеграции
 
Modernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-ArchitectModernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-Architect
 
Web Based Reporting
Web Based ReportingWeb Based Reporting
Web Based Reporting
 
NAGESH B KALAL
NAGESH B KALALNAGESH B KALAL
NAGESH B KALAL
 
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
 
HTAF 2.0 - A hybrid test automation framework.
HTAF 2.0 - A hybrid test automation framework.HTAF 2.0 - A hybrid test automation framework.
HTAF 2.0 - A hybrid test automation framework.
 
Diff between win runner vs and qtp
Diff between win runner vs and qtpDiff between win runner vs and qtp
Diff between win runner vs and qtp
 
20110812 CyberTAN presentation
20110812 CyberTAN presentation20110812 CyberTAN presentation
20110812 CyberTAN presentation
 
Selenium Camp 2012
Selenium Camp 2012Selenium Camp 2012
Selenium Camp 2012
 
Electric Cloud
Electric CloudElectric Cloud
Electric Cloud
 
Ahesanali Vijapura - QA Manager
Ahesanali Vijapura - QA ManagerAhesanali Vijapura - QA Manager
Ahesanali Vijapura - QA Manager
 
Test Automation
Test AutomationTest Automation
Test Automation
 
Track and Trace Solution Details
Track and Trace Solution DetailsTrack and Trace Solution Details
Track and Trace Solution Details
 

Más de Roopa Nadkarni

New integrations for synergy and change - Sean Innes
New integrations for synergy and change - Sean InnesNew integrations for synergy and change - Sean Innes
New integrations for synergy and change - Sean InnesRoopa Nadkarni
 
Best practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini PatilBest practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini PatilRoopa Nadkarni
 
web 2. 0 performance testing - Dave chadwick
web 2. 0 performance testing - Dave chadwickweb 2. 0 performance testing - Dave chadwick
web 2. 0 performance testing - Dave chadwickRoopa Nadkarni
 
Solving the enterprise security challenge - Derek holt
Solving the enterprise security challenge - Derek holtSolving the enterprise security challenge - Derek holt
Solving the enterprise security challenge - Derek holtRoopa Nadkarni
 
RQM in scrum agile testing - Raj kumar
RQM in scrum agile testing - Raj kumarRQM in scrum agile testing - Raj kumar
RQM in scrum agile testing - Raj kumarRoopa Nadkarni
 
Req Pro - Andreas gschwind
Req Pro - Andreas gschwindReq Pro - Andreas gschwind
Req Pro - Andreas gschwindRoopa Nadkarni
 
Extending Rhapsody -Rick boldt
Extending Rhapsody -Rick boldtExtending Rhapsody -Rick boldt
Extending Rhapsody -Rick boldtRoopa Nadkarni
 
EM overview- - Hayden lindsey
EM overview- - Hayden lindseyEM overview- - Hayden lindsey
EM overview- - Hayden lindseyRoopa Nadkarni
 
Application security vision - John b
Application security vision - John bApplication security vision - John b
Application security vision - John bRoopa Nadkarni
 
Smarter Products For A Smarter PLanet - Neeraj Chandra
Smarter Products For A Smarter PLanet - Neeraj ChandraSmarter Products For A Smarter PLanet - Neeraj Chandra
Smarter Products For A Smarter PLanet - Neeraj ChandraRoopa Nadkarni
 
Real Insights Real Results - Steve Robinson
Real Insights Real Results - Steve RobinsonReal Insights Real Results - Steve Robinson
Real Insights Real Results - Steve RobinsonRoopa Nadkarni
 
Overcoming Contradictions - Mike O Rourke
Overcoming Contradictions - Mike O RourkeOvercoming Contradictions - Mike O Rourke
Overcoming Contradictions - Mike O RourkeRoopa Nadkarni
 
Opportunities In Challenging Times - Steve Robinson
Opportunities In Challenging Times - Steve RobinsonOpportunities In Challenging Times - Steve Robinson
Opportunities In Challenging Times - Steve RobinsonRoopa Nadkarni
 
How To Make It Real - Hayden Lindsey
How To Make It Real - Hayden LindseyHow To Make It Real - Hayden Lindsey
How To Make It Real - Hayden LindseyRoopa Nadkarni
 
Achieving Agility At Scale - Martin Nally
Achieving Agility At Scale - Martin NallyAchieving Agility At Scale - Martin Nally
Achieving Agility At Scale - Martin NallyRoopa Nadkarni
 
RPT Oracle Plugin - Anitha Krishnamurthy
RPT Oracle Plugin - Anitha KrishnamurthyRPT Oracle Plugin - Anitha Krishnamurthy
RPT Oracle Plugin - Anitha KrishnamurthyRoopa Nadkarni
 

Más de Roopa Nadkarni (20)

Agile - Monojit basu
Agile - Monojit basuAgile - Monojit basu
Agile - Monojit basu
 
New integrations for synergy and change - Sean Innes
New integrations for synergy and change - Sean InnesNew integrations for synergy and change - Sean Innes
New integrations for synergy and change - Sean Innes
 
Best practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini PatilBest practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini Patil
 
Agile - Monojit Basu
Agile - Monojit BasuAgile - Monojit Basu
Agile - Monojit Basu
 
web 2. 0 performance testing - Dave chadwick
web 2. 0 performance testing - Dave chadwickweb 2. 0 performance testing - Dave chadwick
web 2. 0 performance testing - Dave chadwick
 
Solving the enterprise security challenge - Derek holt
Solving the enterprise security challenge - Derek holtSolving the enterprise security challenge - Derek holt
Solving the enterprise security challenge - Derek holt
 
RTF - Prasad bhatt
RTF - Prasad bhattRTF - Prasad bhatt
RTF - Prasad bhatt
 
RQM in scrum agile testing - Raj kumar
RQM in scrum agile testing - Raj kumarRQM in scrum agile testing - Raj kumar
RQM in scrum agile testing - Raj kumar
 
Req Pro - Andreas gschwind
Req Pro - Andreas gschwindReq Pro - Andreas gschwind
Req Pro - Andreas gschwind
 
RFT - Ashish Mathur
RFT - Ashish MathurRFT - Ashish Mathur
RFT - Ashish Mathur
 
Extending Rhapsody -Rick boldt
Extending Rhapsody -Rick boldtExtending Rhapsody -Rick boldt
Extending Rhapsody -Rick boldt
 
EM overview- - Hayden lindsey
EM overview- - Hayden lindseyEM overview- - Hayden lindsey
EM overview- - Hayden lindsey
 
Application security vision - John b
Application security vision - John bApplication security vision - John b
Application security vision - John b
 
Smarter Products For A Smarter PLanet - Neeraj Chandra
Smarter Products For A Smarter PLanet - Neeraj ChandraSmarter Products For A Smarter PLanet - Neeraj Chandra
Smarter Products For A Smarter PLanet - Neeraj Chandra
 
Real Insights Real Results - Steve Robinson
Real Insights Real Results - Steve RobinsonReal Insights Real Results - Steve Robinson
Real Insights Real Results - Steve Robinson
 
Overcoming Contradictions - Mike O Rourke
Overcoming Contradictions - Mike O RourkeOvercoming Contradictions - Mike O Rourke
Overcoming Contradictions - Mike O Rourke
 
Opportunities In Challenging Times - Steve Robinson
Opportunities In Challenging Times - Steve RobinsonOpportunities In Challenging Times - Steve Robinson
Opportunities In Challenging Times - Steve Robinson
 
How To Make It Real - Hayden Lindsey
How To Make It Real - Hayden LindseyHow To Make It Real - Hayden Lindsey
How To Make It Real - Hayden Lindsey
 
Achieving Agility At Scale - Martin Nally
Achieving Agility At Scale - Martin NallyAchieving Agility At Scale - Martin Nally
Achieving Agility At Scale - Martin Nally
 
RPT Oracle Plugin - Anitha Krishnamurthy
RPT Oracle Plugin - Anitha KrishnamurthyRPT Oracle Plugin - Anitha Krishnamurthy
RPT Oracle Plugin - Anitha Krishnamurthy
 

Último

Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 

Último (20)

Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 

Accelerated test case - Anish bhanu

  • 1. Accelerated Test Case Automation Using Rational Functional Tester Anish Bhanu Manager, Software, Novellus Systems Anish.Bhanu@Novellus.com Sriram Chakravarthi Sr. Engineer, Software, Novellus Systems
  • 2. Automation Challenges in today’s environment Framework running Automation lags on multiple hardware, development OS or platform Framework Test cases Extendibility Building Test with Data Application Driven or Availability Framework Keyword Driven approach Automation Proper Right Documentation Resources Coding Programming Standards, Test Case Re-usable knowledge vs Documentation Maintenance Actions, System of test cases and Methods & knowledge… modules… Modules Modified Chinese saying, “May you automate in interesting times” 2
  • 3. System level diagram Data collection and analysis tool Factory Automation Windows 2003 server No vellu s Server FA Windows 2003 server JAVA VC++ GUI Windows XP VC++ Factory Host Windows 2000 System Controller VC++ QNX 4 C Module Controller Module Controller QNX 4 QNX 4 C C EIOC EIOC EIOC EIOC QNX 6 QNX 6 QNX 6 QNX 6 C C C C Valve MFC Robot Pump 3
  • 4. Challenges for testing semi-conductor tool software • Around 40 releases a year supporting 14 products • Manual testing of each release takes about 1200 hours of testing for each release • Software reliability is a key differentiator for tool software • System is graphic intensive, event driven and interacts with multiple other systems • Every customer uses the tool in a unique way. Customer needs quick turnaround on features and fixes 4
  • 5. Test Automation Approaches Record and Functional Test Data Driven Keyword Driven Playback Decomposition Standalone Record Modular test Test scripts with Test scripts with & Playback Scripts functions with data input & output data input & output data within test script outside the test outside the test script script along with re- usable keyword libraries 5
  • 6. Novellus Experience with Automation • Started automation with Mercury WinRunner in 2003 • Started with the Functional decomposition approach and later moved to Data driven approach • Test case development took us 8 times the manual testing time • Maintaining the test cases for major releases took us 2 times the manual testing time • By end of 2008, we had only 15% of test cases automated, which is around 180 hours of manual testing time • Maintaining the script data for multiple releases and product was a challenge • WinRunner was not able to recognize the controls and 25% of Regression test cases could not be automated 6
  • 7. New Automation Approach using RFT • Simplify scripting – Script should mimic what the user does on the screen. – Anyone could write the script • Modular architecture – Common framework that supports multiple products – Provide reuse of code and test structure – Error recovery system for continuous run • Parameterize test methods and modules – Provides mechanism to create new test cases easily and increase coverage • Documentation – Document generation of test methods and modules using JavaDoc • Use Proxies – For custom controls not recognized by RFT • Rouge wave Stingray Controls 7
  • 8. Control metrics UI Controls Set Read Verify Pushbutton NA NA Edit Box Static Text NA Combo Box Radio Button Check Button Menu Item NA NA List Box List Table Window NA Tree List NA NA Stingray Grid Tab NA NA NA: Not Applicable • Basic operation for any UI control • Set, Read and Verify • UI control class is derived from RationalTestScript Class and the basic operations are overridden in the derived class 8
  • 9. “4+1” view Architecture Programmers End User Functionality Software Management Test Plans Test Modules (Logical View) (Development View) Use Test Cases (Scenarios) Data Tables Test Methods (Process View) (Physical View) Scalability Topology Architectural Blueprints – The “4+1” View Model of Software Architecture by Philippe Kruchten 9
  • 10. Architecture • Test Plan – Represents a collection of test cases that will be executed sequentially. – Output is a result sheet indicating whether the selected test cases passed or failed. • Test cases – Consists of a collection of Test Modules and Test Methods which are organized in a logical sequence. – Output is a result sheet indicating whether the individual Test Modules/Test Methods passed or failed. • Test Modules – Readily available entity that performs commonly used operation. – Consists of a collection of Test Methods which are organized in a logical sequence. – Reused across Test Cases. • Test Methods – One class implemented corresponding to each UI control. – Operations that have been implemented in the UI control classes in Java. – Makes use of RFT APIs and Java libraries 10
  • 12. Test case script Module/Method Argument1 Argument2 Argument3 Argument4 #Set-up TestModule.LaunchProteusAndLogin c2 c2 TestModule.LaunchConfigurationEditor TestModule.SetConfig argument3 TestModule.LaunchTelnetWindow TestModule.Powercycle stop all;auto TestModule.CloseTelnetWindow #########Step1 Wafer run and nested error recovery ########### TestModule.AssignWafers Port1 1 10 argument5 TestModule.StartWaferRun TestModule.WaitForModuleToExecuteStep argument2 argument6 TestModule.InduceError argument2 TestModule.VerifyModuleInError argument2 TestModule.OpenErrorRecovery TestModule.VerifyVCComboboxExists errorrecovery_IDC_ER_MODULES_COMBO Modules in Error CONTINUE TestModule.SelectModuleForErrorRecovery argument1 TestModule.VerifyVCRadioButtonExists errorrecovery_IDC_DYNAMIC_RADIO1 Resume CONTINUE TestModule.VerifyVCEditBoxExists errorrecovery_IDC_EDIT_DYNAMIC - CONTINUE #########Step2 ########### … #Tear-down TestModule.ReplaceAllCassettes hfkb TestModule.DeleteRecipe argument5 TestModule.ExitProteus
  • 13. Error Recovery System • Cascading failures are avoided by using an error recovery that brings the system to base state • Generic Teardown is executed if the test cases encounter exceptions – Take the screenshot – Log the failure details – Close all windows – Restart the application • Testcase dependent Setup & Teardown is implemented to make each test case independent
  • 14. Enhanced Logging • Logs are captured using excel sheet and text file. • Every level will have a log with results against each line in an excel sheet. – Test Plan Result, TestCase Result & TestModule Result • A detailed log also will be available in the form of a text file. • Log level is provided by the user at the test plan selection level. Number of Test Cases Selected: 23 PASS TestCase.INXT_P1508_TC1_01 InovaxTSamsung PASS TestCase.INXT_P1508_TC2_01 InovaxTSamsung Number of Test Plans Selected: PASS 7 TestCase.INXT_P1508_TC2_06 InovaxTSamsung PASS PASS Variable.setLogLevel TestCase.INXT_P1508_TC2_07 InovaxTSamsung 3 PASS TestCase.INXT_P1508_TC2_08 InovaxTSamsung PASS Variable.setVariableValue IP_ADDRESS 192.168.1.10 PASS TestCase.INXT_P1508_TC7_01 InovaxTSamsung PASS PASS Variable.setVariableValue PRODUCT_NAME INOVAxT TestCase.INXT_P1508_TC8_02 InovaxTSamsung PASS PASS Variable.setVariableValue MACHINE_NAMEInovaxTSamsung TestCase.INXT_P1508_TC12_01 swe011qnx PASS PASS TestPlan.INOVAxT_TP_1508 TestCase.INXT_P1508_TC12_02 InovaxTSamsung PASS PASS TestPlan.INOVAxT_TP_INOVAxT_RTP TestCase.INXT_P1508_TC12_03 InovaxTSamsung PASS TestCase.INXT_P1508_TC11_02 InovaxTSamsungQFA PASS TestPlan.INOVAxT_TP_1833 PASS TestCase.INXT_P1508_TC11_03 InovaxTSamsungQFA PASS PASS TestPlan.INOVAxT_TP_2049 TestCase.INXT_P1508_TC11_04 InovaxTSamsungQFA FAIL PASS TestPlan.Vector_TP_INOVAxT_RTP TestCase.INXT_P1508_TC11_05 InovaxTSamsungQFA FAIL PASS TestPlan.Vector_TP_2049 TestCase.INXT_P1508_TC11_06 InovaxTSamsungQFA FAIL PASS TestPlan.Vector_TP_1508 TestCase.INXT_P1508_TC11_02 InovaxTSamsungAFA PASS TestCase.INXT_P1508_TC11_03 InovaxTSamsungAFA Number of Test Plans Executed: PASS 7 TestCase.INXT_P1508_TC11_04 InovaxTSamsungAFA Number of Test Plans PASSED: PASS 4 TestCase.INXT_P1508_TC11_05 InovaxTSamsungAFA Number of Test Plans FAILED: PASS 3 TestCase.INXT_P1508_TC11_06 InovaxTSamsungAFA PASS TestCase.INXT_P1508_TC2_02 InovaxTSamsung PASS TestCase.INXT_P1508_TC4_02 InovaxTSamsung PASS TestCase.INXT_P1508_TC4_04 InovaxTSamsung Number of Test Cases Executed: 23 Number of Test Cases PASSED: 23 Number of Test Cases FAILED: 0
  • 15. Documentation using Java Doc for Modules and Methods
  • 16. Benefits with New Automation Approach • Saving of 60% on efforts with the new approach. • Test cases can be scripted without the application fully developed. • Test case scripts are portable across operating systems. • Maintenance of the test case scripts is negligible. 7% coverage achieved using the new framework
  • 17. Proxy Development • Proxy developed for Novellus Application Problem Statement: Novellus software use a third party grid application (Rogue Wave Stingray). RFT was not able to recognize the GRID Control and recorded script was referring to co-ordinates. Our requirement was to recognize the cells and their row and column indices Solution: GRID Control API are exposed by the third party Helper DLL was required for getting the window handle for the Grid and in turn calling Grid APIs We developed a Proxy DLL for the GRID Control by extending the Win.Generic proxy class. When the RFT recognizes the GRID control, Proxy DLL creates the Grid Test Object on the RFT 17
  • 18. Stingray grid control Stingray grid cells Stingray grid window 18
  • 19. Proxy Development • Proxy developed for Novellus Application AUT RFT Script Grid Helper DLL Proxy DLL Test Object VC++ 6.0 C# Java 19
  • 20. Summary • Test cases can be written faster to support quick turnaround. • Everyone can write test cases, does not require programming skills. • Framework is used to quickly write test scenarios to re-create customer issues • Enables re-use of test methods and modules since the design is modular • Java Doc helps in easy scripting • Robust design and error recovery system • Proxy SDK provides freedom to develop proxies for custom controls 20
  • 21.
  • 22. Helper DLL code snippet 22
  • 23. Proxy DLL code snippet 23
  • 24. Proxy DLL code snippet contd… 24
  • 27. Proxy Development • Why Proxy is required? – Every test object within RFT framework has a corresponding proxy – Proxies need to be developed for controls that are not recognized by RFT – Proxies can also be used to expose hidden properties of controls even for controls recognized by RFT • What is a Proxy? – Proxies are interface between the UI controls and RFT – Proxy objects can interface with the UI controls using native APIs supported by the UI control – Test objects interact with proxy objects 27
  • 28. Proxy Development • How is a Proxy developed – Proxy Development requires the Proxy SDK provided by RFT. – Proxies can be developed either in Java or C#. – Decide upon the control for which we need to develop the proxy and the functionalities required out of that. – Generic proxy class is extended and mapped to the actual class corresponding to control object Generic Proxy Class Custom Proxy Class 28