SlideShare uma empresa Scribd logo
1 de 34
Baixar para ler offline
The Design and Implementation
           of a Flexible, Reusable, and
           Maintainable Automation
           Framework
                                                Hung Q. Nguyen
                                                LogiGear® Corporation

© 2001 LogiGear Corporation. All Rights Reserved.
Objectives


• Prepare you to build a successful and
  reusable automation architecture
• Share the keyword approach to creating an
  automation framework
• Share lessons learned in implementing a
  flexible architecture


  © 2001 LogiGear Corporation. All Rights Reserved.
Background: The Evolution


•   The early days
•   Developing an automation framework
•   The table-driven approach
•   The keyword-driven approach




© 2001 LogiGear Corporation. All Rights Reserved.
The Early Days

• Collect acceptance/regression test cases to
  be automated
• Record and script test cases
• Improve reusability
     – Parameterize hard-coded values
     – Separate data from code by moving variables to
       INCLUDE files
     – Create utility functions to be shared
• Train test specialists to run scripts
© 2001 LogiGear Corporation. All Rights Reserved.
The Next Wave:
Creating a Framework

 • Work with test specialists to understand
   their testing needs
 • Go beyond acceptance/regression tests--
   Analyzing user-scenario test cases
 • Recognize the difference between task-
   driven and object-driven test cases


© 2001 LogiGear Corporation. All Rights Reserved.
Object-Driven vs. Task-Driven


• Object-Driven
   –   Click User Name text box
   –   Enter your_ID
   –   Click Password text box
   –   Enter your_password
   –   Click Login button
• Task-Driven
   – Log in using
        • User Name = your_ID
        • Password = your_password




    © 2001 LogiGear Corporation. All Rights Reserved.
The Next Wave:
Creating a Framework
• Pre-separating data and code
  – Start by defining functions to be written
  – Variablize data and keep variables in INCLUDE files
• Pair up a test specialist and an automation
  engineer to improve communication and to
  ensure that the framework design and
  implementation meet the test objectives
• Train test specialists to run test scripts

 © 2001 LogiGear Corporation. All Rights Reserved.
The Table-Driven Approach


• Take advantage of tester’s familiarity with test case
  creation using tables and matrices
• Accommodate localization projects
• Recognize the importance of patterns in test cases
• Enable testers to catalog test cases with Excel
  spreadsheets
• Enable testers to specify expected results in
  spreadsheets
   © 2001 LogiGear Corporation. All Rights Reserved.
A Table-Driven Example




© 2001 LogiGear Corporation. All Rights Reserved.
A Table-Driven Example


• for (i=1; i<= iLastDataSet;                                                                                                PROPERTY
  i++)                                          CONTROL          1                    2                 3                   45678                                                                    9 10 11 12




                                                              quot;UPPERCASEquot; OFF OFF
                                                                                    OFF




                                                                                                                                           OFF OFF
                                                                                                                                                         OFF




                                                                                                                                                                                                   OFF OFF
                                                                                                                                                                                                                 OFF
                                                                                                     quot;UPPERCASEquot; OFF ON
                                                                                                                          ON




                                                                                                                                                                       OFF ON
                                                                                                                                                                                     ON




                                                                                                                                                                                                                               OFF ON
                                                                                                                                                                                                                                             ON
                                                Match case
   – Open the dialog box.




                                                                                    quot;UPPERCASEquot; ON


                                                                                                                          quot;UPPERCASEquot; ON


                                                                                                                                                         ON


                                                                                                                                                                                     ON


                                                                                                                                                                                                                 ON


                                                                                                                                                                                                                                             ON
                                                Match whole
   – Use the data in DataSet[i] (The
     first set is 1 and the last set is




                                                                                                                                                                                                   quot;MixedCasequot;
                                                                                                                                                                                                                 quot;MixedCasequot;
                                                                                                                                                                                                                               quot;MixedCasequot;
                                                                                                                                                                                                                                             quot;MixedCasequot;
                                                                                                                                           quot;lowercasequot;
                                                                                                                                                         quot;lowercasequot;
                                                                                                                                                                       quot;lowercasequot;
                                                                                                                                                                                     quot;lowercasequot;
     12) to set the values of Match
     Case, Match Whole Word and
                                                Find What
     Find What controls.
   – Click Find Next.
   – Verify the results.



    © 2001 LogiGear Corporation. All Rights Reserved.
The Need for Improvement


 • Business issues
 • People and process issues
 • Technology issues




© 2001 LogiGear Corporation. All Rights Reserved.
The Business Issues


 • Need to expand our service offerings and
   share success through our test automation
   expertise
 • Need to have a methodology for quick
   deployment of test automation
 • Need to build a transferable architecture
 • Need a better approach to test automation
   job costing
© 2001 LogiGear Corporation. All Rights Reserved.
The Business Issues

• Need to deliver an automation program that is
  practical, explainable, and trainable
• Need to be more cost effective through
  reusability across projects
• Need to make technology a viable business
  solution
• Need a tangible approach to deciding between
  manual testing and automated testing
 © 2001 LogiGear Corporation. All Rights Reserved.
The People and Process Issues


 • Need to standardize test methodology--
   Enabling testers and automation engineers
   to collaborate
 • Enable testers to better specify their needs
   and automation engineers to better serve
   those needs
 • Need to integrate test automation as part of
   the process of software testing
© 2001 LogiGear Corporation. All Rights Reserved.
The People and Process Issues


 • Need testers to focus on test case design,
   and automation engineers to focus on
   driver script writing
 • Make data more visible and understandable
   from the human perspective
 • Need to incorporate test case design
   techniques with Excel, which test
   specialists are already familiar
© 2001 LogiGear Corporation. All Rights Reserved.
The Technology Issues

• Need to build an architecture that’s tool
  independent as well as application independent
• Need to improve the ability to share code across
  projects and tools
• Need to separate control of task variables, input
  variables, and code
• Need to integrate action keyword into the
  existing data-driven model
 © 2001 LogiGear Corporation. All Rights Reserved.
The Technology Issues


 • Want to focus the development and
   maintenance of test scripts on the
   navigation of the application under test
 • Need to take advantage of Excel features to
   automate test case and test data creation
 • Need to incorporate test case design
   techniques using Excel, any database,
   XML, or other viable data service solutions
© 2001 LogiGear Corporation. All Rights Reserved.
The Integrated Solution


Integrated Testing Solutions =
[Test Specialist’s Domain Expertise] +
[Manual Testing] +
[Automated Testing: Reusable Framework & Application Specific Scripts]




   © 2001 LogiGear Corporation. All Rights Reserved.
The Development Process

•   Research possible solutions and evaluate options
•   Develop requirements
•   Develop the architecture
•   Build the framework
•   Test the framework
•   Develop documentation
•   Deploy the framework on a real project
•   Measure performance and refine the design

    © 2001 LogiGear Corporation. All Rights Reserved.
Research Possible Solutions


•   Learn from past experience
•   Discuss possibilities with software developers
•   Talk to friends
•   Read books
    – Recommend “Software Test Automation” by Graham and
      Fewster, 1999, Addison-Wesley
• Use the Internet
    – Recommend www.QACity.com, the Automated Testing page

    © 2001 LogiGear Corporation. All Rights Reserved.
The Requirements


• Clearly state the business, people/process, and
  technology objectives
• Set expectations through well defined deliverables
  (e.g., requirement and design documents, code
  modules, whitepapers, training materials, etc.)
• Clearly define ways to measure success (e.g.,
  quality of the design and code, budget, schedule,
  customer approval upon deployment, etc.)

 © 2001 LogiGear Corporation. All Rights Reserved.
The Architecture
                       Application Independent
                       Tool/Application Dependent


Keyword Architecture

     Test Designer                   Test Interpreter          Test Driver




                                                                                  Application
      Data Services                   Business Logic       Dispatching Services
                                                                                  Under Test
                                                                                  (AUT)

                                      Driver Scripts




                                 Test Execution Services




    © 2001 LogiGear Corporation. All Rights Reserved.
The Architecture
  Keyword Architecture

       Test Designer                     Test Interpreter                 Test Driver

                                    FileName                     Main()
                                    GetTaskName
                                    GetTaskRows                  RunTestCase
                                    GetTaskParameters
                                    etc.
         Database




         XML

                                          Driver Scripts

                                    testcase Login(parameters)
                                    etc.




© 2001 LogiGear Corporation. All Rights Reserved.
The Architecture                                         testdriver.t




                                                              interpreter.inc




                                                    driverscripts.t
© 2001 LogiGear Corporation. All Rights Reserved.
The Architecture:
The Test Designer
    MyWorksheet.xls = MyTestplan.xls


              Sheet1 = TestSuite1


                       Sheet2 = TestSuite2

                          C1 C2 C3 C4
                       R1 Test Case 1
                       R2 Test Case 2




© 2001 LogiGear Corporation. All Rights Reserved.
The Architecture:
The Test Designer



Test Plan



Test Suite




 © 2001 LogiGear Corporation. All Rights Reserved.
The Architecture: The Report


                                                    Test suite

                                                    Test section
                                                    Test case


                                                    Test line &
                                                    equivalent
                                                    spreadsheet
                                                    row number

© 2001 LogiGear Corporation. All Rights Reserved.
Building the Framework


 • Prototype the components
 • Implement the Test Designer
 • Implement the Test Interpreter
 • Implement AUT specific Test Drivers
 • Add the reporting function to the Test
   Interpreter
 • Test, fix bugs, and write documentation

© 2001 LogiGear Corporation. All Rights Reserved.
Lessons Learned

• Clear requirements help focus the team on the important
  issues.
• Leaving “Fill in the blank” sections in requirements is
  manageable.
• Spending time on designing and prototyping helps flush
  out design issues; making it more scaleable, and helping
  write more maintainable code.
• If the project is overly complex and the schedule is
  aggressive, you may need to scale back. Don’t forget to
  communicate changes in your plan.
  © 2001 LogiGear Corporation. All Rights Reserved.
Lessons Learned


• The necessary information is available! We need a way
  to find and analyze relevant information more quickly
  and effectively.
• Thoroughly research your options. Choose your designs
  wisely by taking business issues, people and process
  issues, and technology issues into consideration.
• Keep in mind that your solution might be used by one
  group, and maintained by another group.


  © 2001 LogiGear Corporation. All Rights Reserved.
Lessons Learned


• Your effort is a serious development project. Treat it as
  such: The key to success is good planning, scheduling
  and budgeting.
• Get feedback! How else can you learn?
• It won’t be perfect! It’s acceptable to learn from
  mistakes and refine the design as you go. Iteration and
  hard work make perfection.
• The keyword approach works!


  © 2001 LogiGear Corporation. All Rights Reserved.
Acknowledgment


Special thanks to Hans Buwalda for sharing his
experience and vision on the action-word approach to
creating test automation framework.




© 2001 LogiGear Corporation. All Rights Reserved.
About Hung Q. Nguyen

Hung Q. Nguyen is Founder, President and CEO of LogiGear Corporation, a Silicon
Valley software testing company whose mission is to help software development
organizations deliver the highest quality products possible while juggling limited
resources and schedule constraints. LogiGear offers many value-added services including
application testing, automated testing and web load/performance testing for e-business
and consumer applications. Nguyen’s company produces and markets TRACKGEAR™,
a web-based defect tracking system. LogiGear also specializes in Web application, hand-
held communication device and consumer electronic product testing, and offers the
software development community a comprehensive “Practical Software Testing Training
Series.” In the past two decades, Nguyen has held leadership roles in business
development, engineering, quality assurance, testing, product development, and
information technology. Nguyen is the author of Testing Applications on the Web (Wiley)
and co-author of the best-selling book, Testing Computer Software (Wiley). He also
develops and teaches software testing courses for UC Berkeley and UC Santa Cruz
Extension, and for LogiGear. He holds a Bachelor of Science in Quality Assurance from
Cogswell Polytechnical College, and is an ASQ-Certified Quality Engineer and active
senior member of American Society for Quality.
  © 2001 LogiGear Corporation. All Rights Reserved.
About LogiGear® Corporation

LogiGear® Corporation is a full service software quality-
engineering firm that provides testing expertise and resources to
software development organizations. Some of our value-added
services include application testing, automated testing, and web
load/performance testing for e-business and consumer applications.
LogiGear specializes in Web application, hand-held
communication device, and consumer electronic product testing.
LogiGear also produces and markets TRACKGEAR™, a Web-
based defect-tracking solution, and offers QA Training through the
Practical Software Testing Training Series.
                              www.logigear.com
 © 2001 LogiGear Corporation. All Rights Reserved.

Mais conteúdo relacionado

Destaque

Simple, battle proven microservices strategy
Simple, battle proven microservices strategySimple, battle proven microservices strategy
Simple, battle proven microservices strategyErez Lotan
 
Selenium Architecture
Selenium ArchitectureSelenium Architecture
Selenium Architecturerohitnayak
 
Understanding Selenium/RC, Webdriver Architecture and developing the page obj...
Understanding Selenium/RC, Webdriver Architecture and developing the page obj...Understanding Selenium/RC, Webdriver Architecture and developing the page obj...
Understanding Selenium/RC, Webdriver Architecture and developing the page obj...Atirek Gupta
 
Soa Overview
Soa OverviewSoa Overview
Soa OverviewTerry Cho
 
The new GOV.UK vision - March 2016
The new GOV.UK vision - March 2016The new GOV.UK vision - March 2016
The new GOV.UK vision - March 2016Neil Williams
 
User Powershell for Task Automation
User Powershell for Task AutomationUser Powershell for Task Automation
User Powershell for Task AutomationAman Dhally
 
Goto Berlin - Migrating to Microservices (Fast Delivery)
Goto Berlin - Migrating to Microservices (Fast Delivery)Goto Berlin - Migrating to Microservices (Fast Delivery)
Goto Berlin - Migrating to Microservices (Fast Delivery)Adrian Cockcroft
 
Real-world Microservices: Lessons from the Front Line - Zhamak Delghani, Thou...
Real-world Microservices: Lessons from the Front Line - Zhamak Delghani, Thou...Real-world Microservices: Lessons from the Front Line - Zhamak Delghani, Thou...
Real-world Microservices: Lessons from the Front Line - Zhamak Delghani, Thou...Thoughtworks
 
Customer Event Hub - the modern Customer 360° view
Customer Event Hub - the modern Customer 360° viewCustomer Event Hub - the modern Customer 360° view
Customer Event Hub - the modern Customer 360° viewGuido Schmutz
 
GOV.UK - a teardown of the British Government's self-service journey
GOV.UK - a teardown of the British Government's self-service journeyGOV.UK - a teardown of the British Government's self-service journey
GOV.UK - a teardown of the British Government's self-service journeyKayako
 
Microservices and SOA
Microservices and SOAMicroservices and SOA
Microservices and SOACapgemini
 
Keyword-driven Test Automation Framework
Keyword-driven Test Automation FrameworkKeyword-driven Test Automation Framework
Keyword-driven Test Automation FrameworkMikhail Subach
 
QA Automation Solution
QA Automation SolutionQA Automation Solution
QA Automation SolutionDataArt
 

Destaque (14)

Simple, battle proven microservices strategy
Simple, battle proven microservices strategySimple, battle proven microservices strategy
Simple, battle proven microservices strategy
 
Selenium Architecture
Selenium ArchitectureSelenium Architecture
Selenium Architecture
 
Understanding Selenium/RC, Webdriver Architecture and developing the page obj...
Understanding Selenium/RC, Webdriver Architecture and developing the page obj...Understanding Selenium/RC, Webdriver Architecture and developing the page obj...
Understanding Selenium/RC, Webdriver Architecture and developing the page obj...
 
Soa Overview
Soa OverviewSoa Overview
Soa Overview
 
The new GOV.UK vision - March 2016
The new GOV.UK vision - March 2016The new GOV.UK vision - March 2016
The new GOV.UK vision - March 2016
 
User Powershell for Task Automation
User Powershell for Task AutomationUser Powershell for Task Automation
User Powershell for Task Automation
 
Goto Berlin - Migrating to Microservices (Fast Delivery)
Goto Berlin - Migrating to Microservices (Fast Delivery)Goto Berlin - Migrating to Microservices (Fast Delivery)
Goto Berlin - Migrating to Microservices (Fast Delivery)
 
Real-world Microservices: Lessons from the Front Line - Zhamak Delghani, Thou...
Real-world Microservices: Lessons from the Front Line - Zhamak Delghani, Thou...Real-world Microservices: Lessons from the Front Line - Zhamak Delghani, Thou...
Real-world Microservices: Lessons from the Front Line - Zhamak Delghani, Thou...
 
Continuos Delivery
Continuos DeliveryContinuos Delivery
Continuos Delivery
 
Customer Event Hub - the modern Customer 360° view
Customer Event Hub - the modern Customer 360° viewCustomer Event Hub - the modern Customer 360° view
Customer Event Hub - the modern Customer 360° view
 
GOV.UK - a teardown of the British Government's self-service journey
GOV.UK - a teardown of the British Government's self-service journeyGOV.UK - a teardown of the British Government's self-service journey
GOV.UK - a teardown of the British Government's self-service journey
 
Microservices and SOA
Microservices and SOAMicroservices and SOA
Microservices and SOA
 
Keyword-driven Test Automation Framework
Keyword-driven Test Automation FrameworkKeyword-driven Test Automation Framework
Keyword-driven Test Automation Framework
 
QA Automation Solution
QA Automation SolutionQA Automation Solution
QA Automation Solution
 

Último

7.pdf This presentation captures many uses and the significance of the number...
7.pdf This presentation captures many uses and the significance of the number...7.pdf This presentation captures many uses and the significance of the number...
7.pdf This presentation captures many uses and the significance of the number...Paul Menig
 
KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...
KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...
KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...Any kyc Account
 
VIP Call Girls In Saharaganj ( Lucknow ) 🔝 8923113531 🔝 Cash Payment (COD) 👒
VIP Call Girls In Saharaganj ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment (COD) 👒VIP Call Girls In Saharaganj ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment (COD) 👒
VIP Call Girls In Saharaganj ( Lucknow ) 🔝 8923113531 🔝 Cash Payment (COD) 👒anilsa9823
 
Monthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptxMonthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptxAndy Lambert
 
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best ServicesMysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best ServicesDipal Arora
 
Regression analysis: Simple Linear Regression Multiple Linear Regression
Regression analysis:  Simple Linear Regression Multiple Linear RegressionRegression analysis:  Simple Linear Regression Multiple Linear Regression
Regression analysis: Simple Linear Regression Multiple Linear RegressionRavindra Nath Shukla
 
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service AvailableCall Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service AvailableDipal Arora
 
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...lizamodels9
 
VIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service Jamshedpur
VIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service JamshedpurVIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service Jamshedpur
VIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service JamshedpurSuhani Kapoor
 
M.C Lodges -- Guest House in Jhang.
M.C Lodges --  Guest House in Jhang.M.C Lodges --  Guest House in Jhang.
M.C Lodges -- Guest House in Jhang.Aaiza Hassan
 
Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023Neil Kimberley
 
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...Dipal Arora
 
Pharma Works Profile of Karan Communications
Pharma Works Profile of Karan CommunicationsPharma Works Profile of Karan Communications
Pharma Works Profile of Karan Communicationskarancommunications
 
Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...Roland Driesen
 
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRLMONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRLSeo
 
Call Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine ServiceCall Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine Serviceritikaroy0888
 
BEST ✨ Call Girls In Indirapuram Ghaziabad ✔️ 9871031762 ✔️ Escorts Service...
BEST ✨ Call Girls In  Indirapuram Ghaziabad  ✔️ 9871031762 ✔️ Escorts Service...BEST ✨ Call Girls In  Indirapuram Ghaziabad  ✔️ 9871031762 ✔️ Escorts Service...
BEST ✨ Call Girls In Indirapuram Ghaziabad ✔️ 9871031762 ✔️ Escorts Service...noida100girls
 
Call Girls in Gomti Nagar - 7388211116 - With room Service
Call Girls in Gomti Nagar - 7388211116  - With room ServiceCall Girls in Gomti Nagar - 7388211116  - With room Service
Call Girls in Gomti Nagar - 7388211116 - With room Servicediscovermytutordmt
 

Último (20)

7.pdf This presentation captures many uses and the significance of the number...
7.pdf This presentation captures many uses and the significance of the number...7.pdf This presentation captures many uses and the significance of the number...
7.pdf This presentation captures many uses and the significance of the number...
 
KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...
KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...
KYC-Verified Accounts: Helping Companies Handle Challenging Regulatory Enviro...
 
VIP Call Girls In Saharaganj ( Lucknow ) 🔝 8923113531 🔝 Cash Payment (COD) 👒
VIP Call Girls In Saharaganj ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment (COD) 👒VIP Call Girls In Saharaganj ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment (COD) 👒
VIP Call Girls In Saharaganj ( Lucknow ) 🔝 8923113531 🔝 Cash Payment (COD) 👒
 
Monthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptxMonthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptx
 
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best ServicesMysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
 
Regression analysis: Simple Linear Regression Multiple Linear Regression
Regression analysis:  Simple Linear Regression Multiple Linear RegressionRegression analysis:  Simple Linear Regression Multiple Linear Regression
Regression analysis: Simple Linear Regression Multiple Linear Regression
 
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service AvailableCall Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
 
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
 
VIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service Jamshedpur
VIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service JamshedpurVIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service Jamshedpur
VIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service Jamshedpur
 
M.C Lodges -- Guest House in Jhang.
M.C Lodges --  Guest House in Jhang.M.C Lodges --  Guest House in Jhang.
M.C Lodges -- Guest House in Jhang.
 
Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023
 
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
 
Pharma Works Profile of Karan Communications
Pharma Works Profile of Karan CommunicationsPharma Works Profile of Karan Communications
Pharma Works Profile of Karan Communications
 
Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...
 
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRLMONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
 
VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
 
Call Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine ServiceCall Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine Service
 
BEST ✨ Call Girls In Indirapuram Ghaziabad ✔️ 9871031762 ✔️ Escorts Service...
BEST ✨ Call Girls In  Indirapuram Ghaziabad  ✔️ 9871031762 ✔️ Escorts Service...BEST ✨ Call Girls In  Indirapuram Ghaziabad  ✔️ 9871031762 ✔️ Escorts Service...
BEST ✨ Call Girls In Indirapuram Ghaziabad ✔️ 9871031762 ✔️ Escorts Service...
 
Forklift Operations: Safety through Cartoons
Forklift Operations: Safety through CartoonsForklift Operations: Safety through Cartoons
Forklift Operations: Safety through Cartoons
 
Call Girls in Gomti Nagar - 7388211116 - With room Service
Call Girls in Gomti Nagar - 7388211116  - With room ServiceCall Girls in Gomti Nagar - 7388211116  - With room Service
Call Girls in Gomti Nagar - 7388211116 - With room Service
 

Automation Framework

  • 1. The Design and Implementation of a Flexible, Reusable, and Maintainable Automation Framework Hung Q. Nguyen LogiGear® Corporation © 2001 LogiGear Corporation. All Rights Reserved.
  • 2. Objectives • Prepare you to build a successful and reusable automation architecture • Share the keyword approach to creating an automation framework • Share lessons learned in implementing a flexible architecture © 2001 LogiGear Corporation. All Rights Reserved.
  • 3. Background: The Evolution • The early days • Developing an automation framework • The table-driven approach • The keyword-driven approach © 2001 LogiGear Corporation. All Rights Reserved.
  • 4. The Early Days • Collect acceptance/regression test cases to be automated • Record and script test cases • Improve reusability – Parameterize hard-coded values – Separate data from code by moving variables to INCLUDE files – Create utility functions to be shared • Train test specialists to run scripts © 2001 LogiGear Corporation. All Rights Reserved.
  • 5. The Next Wave: Creating a Framework • Work with test specialists to understand their testing needs • Go beyond acceptance/regression tests-- Analyzing user-scenario test cases • Recognize the difference between task- driven and object-driven test cases © 2001 LogiGear Corporation. All Rights Reserved.
  • 6. Object-Driven vs. Task-Driven • Object-Driven – Click User Name text box – Enter your_ID – Click Password text box – Enter your_password – Click Login button • Task-Driven – Log in using • User Name = your_ID • Password = your_password © 2001 LogiGear Corporation. All Rights Reserved.
  • 7. The Next Wave: Creating a Framework • Pre-separating data and code – Start by defining functions to be written – Variablize data and keep variables in INCLUDE files • Pair up a test specialist and an automation engineer to improve communication and to ensure that the framework design and implementation meet the test objectives • Train test specialists to run test scripts © 2001 LogiGear Corporation. All Rights Reserved.
  • 8. The Table-Driven Approach • Take advantage of tester’s familiarity with test case creation using tables and matrices • Accommodate localization projects • Recognize the importance of patterns in test cases • Enable testers to catalog test cases with Excel spreadsheets • Enable testers to specify expected results in spreadsheets © 2001 LogiGear Corporation. All Rights Reserved.
  • 9. A Table-Driven Example © 2001 LogiGear Corporation. All Rights Reserved.
  • 10. A Table-Driven Example • for (i=1; i<= iLastDataSet; PROPERTY i++) CONTROL 1 2 3 45678 9 10 11 12 quot;UPPERCASEquot; OFF OFF OFF OFF OFF OFF OFF OFF OFF quot;UPPERCASEquot; OFF ON ON OFF ON ON OFF ON ON Match case – Open the dialog box. quot;UPPERCASEquot; ON quot;UPPERCASEquot; ON ON ON ON ON Match whole – Use the data in DataSet[i] (The first set is 1 and the last set is quot;MixedCasequot; quot;MixedCasequot; quot;MixedCasequot; quot;MixedCasequot; quot;lowercasequot; quot;lowercasequot; quot;lowercasequot; quot;lowercasequot; 12) to set the values of Match Case, Match Whole Word and Find What Find What controls. – Click Find Next. – Verify the results. © 2001 LogiGear Corporation. All Rights Reserved.
  • 11. The Need for Improvement • Business issues • People and process issues • Technology issues © 2001 LogiGear Corporation. All Rights Reserved.
  • 12. The Business Issues • Need to expand our service offerings and share success through our test automation expertise • Need to have a methodology for quick deployment of test automation • Need to build a transferable architecture • Need a better approach to test automation job costing © 2001 LogiGear Corporation. All Rights Reserved.
  • 13. The Business Issues • Need to deliver an automation program that is practical, explainable, and trainable • Need to be more cost effective through reusability across projects • Need to make technology a viable business solution • Need a tangible approach to deciding between manual testing and automated testing © 2001 LogiGear Corporation. All Rights Reserved.
  • 14. The People and Process Issues • Need to standardize test methodology-- Enabling testers and automation engineers to collaborate • Enable testers to better specify their needs and automation engineers to better serve those needs • Need to integrate test automation as part of the process of software testing © 2001 LogiGear Corporation. All Rights Reserved.
  • 15. The People and Process Issues • Need testers to focus on test case design, and automation engineers to focus on driver script writing • Make data more visible and understandable from the human perspective • Need to incorporate test case design techniques with Excel, which test specialists are already familiar © 2001 LogiGear Corporation. All Rights Reserved.
  • 16. The Technology Issues • Need to build an architecture that’s tool independent as well as application independent • Need to improve the ability to share code across projects and tools • Need to separate control of task variables, input variables, and code • Need to integrate action keyword into the existing data-driven model © 2001 LogiGear Corporation. All Rights Reserved.
  • 17. The Technology Issues • Want to focus the development and maintenance of test scripts on the navigation of the application under test • Need to take advantage of Excel features to automate test case and test data creation • Need to incorporate test case design techniques using Excel, any database, XML, or other viable data service solutions © 2001 LogiGear Corporation. All Rights Reserved.
  • 18. The Integrated Solution Integrated Testing Solutions = [Test Specialist’s Domain Expertise] + [Manual Testing] + [Automated Testing: Reusable Framework & Application Specific Scripts] © 2001 LogiGear Corporation. All Rights Reserved.
  • 19. The Development Process • Research possible solutions and evaluate options • Develop requirements • Develop the architecture • Build the framework • Test the framework • Develop documentation • Deploy the framework on a real project • Measure performance and refine the design © 2001 LogiGear Corporation. All Rights Reserved.
  • 20. Research Possible Solutions • Learn from past experience • Discuss possibilities with software developers • Talk to friends • Read books – Recommend “Software Test Automation” by Graham and Fewster, 1999, Addison-Wesley • Use the Internet – Recommend www.QACity.com, the Automated Testing page © 2001 LogiGear Corporation. All Rights Reserved.
  • 21. The Requirements • Clearly state the business, people/process, and technology objectives • Set expectations through well defined deliverables (e.g., requirement and design documents, code modules, whitepapers, training materials, etc.) • Clearly define ways to measure success (e.g., quality of the design and code, budget, schedule, customer approval upon deployment, etc.) © 2001 LogiGear Corporation. All Rights Reserved.
  • 22. The Architecture Application Independent Tool/Application Dependent Keyword Architecture Test Designer Test Interpreter Test Driver Application Data Services Business Logic Dispatching Services Under Test (AUT) Driver Scripts Test Execution Services © 2001 LogiGear Corporation. All Rights Reserved.
  • 23. The Architecture Keyword Architecture Test Designer Test Interpreter Test Driver FileName Main() GetTaskName GetTaskRows RunTestCase GetTaskParameters etc. Database XML Driver Scripts testcase Login(parameters) etc. © 2001 LogiGear Corporation. All Rights Reserved.
  • 24. The Architecture testdriver.t interpreter.inc driverscripts.t © 2001 LogiGear Corporation. All Rights Reserved.
  • 25. The Architecture: The Test Designer MyWorksheet.xls = MyTestplan.xls Sheet1 = TestSuite1 Sheet2 = TestSuite2 C1 C2 C3 C4 R1 Test Case 1 R2 Test Case 2 © 2001 LogiGear Corporation. All Rights Reserved.
  • 26. The Architecture: The Test Designer Test Plan Test Suite © 2001 LogiGear Corporation. All Rights Reserved.
  • 27. The Architecture: The Report Test suite Test section Test case Test line & equivalent spreadsheet row number © 2001 LogiGear Corporation. All Rights Reserved.
  • 28. Building the Framework • Prototype the components • Implement the Test Designer • Implement the Test Interpreter • Implement AUT specific Test Drivers • Add the reporting function to the Test Interpreter • Test, fix bugs, and write documentation © 2001 LogiGear Corporation. All Rights Reserved.
  • 29. Lessons Learned • Clear requirements help focus the team on the important issues. • Leaving “Fill in the blank” sections in requirements is manageable. • Spending time on designing and prototyping helps flush out design issues; making it more scaleable, and helping write more maintainable code. • If the project is overly complex and the schedule is aggressive, you may need to scale back. Don’t forget to communicate changes in your plan. © 2001 LogiGear Corporation. All Rights Reserved.
  • 30. Lessons Learned • The necessary information is available! We need a way to find and analyze relevant information more quickly and effectively. • Thoroughly research your options. Choose your designs wisely by taking business issues, people and process issues, and technology issues into consideration. • Keep in mind that your solution might be used by one group, and maintained by another group. © 2001 LogiGear Corporation. All Rights Reserved.
  • 31. Lessons Learned • Your effort is a serious development project. Treat it as such: The key to success is good planning, scheduling and budgeting. • Get feedback! How else can you learn? • It won’t be perfect! It’s acceptable to learn from mistakes and refine the design as you go. Iteration and hard work make perfection. • The keyword approach works! © 2001 LogiGear Corporation. All Rights Reserved.
  • 32. Acknowledgment Special thanks to Hans Buwalda for sharing his experience and vision on the action-word approach to creating test automation framework. © 2001 LogiGear Corporation. All Rights Reserved.
  • 33. About Hung Q. Nguyen Hung Q. Nguyen is Founder, President and CEO of LogiGear Corporation, a Silicon Valley software testing company whose mission is to help software development organizations deliver the highest quality products possible while juggling limited resources and schedule constraints. LogiGear offers many value-added services including application testing, automated testing and web load/performance testing for e-business and consumer applications. Nguyen’s company produces and markets TRACKGEAR™, a web-based defect tracking system. LogiGear also specializes in Web application, hand- held communication device and consumer electronic product testing, and offers the software development community a comprehensive “Practical Software Testing Training Series.” In the past two decades, Nguyen has held leadership roles in business development, engineering, quality assurance, testing, product development, and information technology. Nguyen is the author of Testing Applications on the Web (Wiley) and co-author of the best-selling book, Testing Computer Software (Wiley). He also develops and teaches software testing courses for UC Berkeley and UC Santa Cruz Extension, and for LogiGear. He holds a Bachelor of Science in Quality Assurance from Cogswell Polytechnical College, and is an ASQ-Certified Quality Engineer and active senior member of American Society for Quality. © 2001 LogiGear Corporation. All Rights Reserved.
  • 34. About LogiGear® Corporation LogiGear® Corporation is a full service software quality- engineering firm that provides testing expertise and resources to software development organizations. Some of our value-added services include application testing, automated testing, and web load/performance testing for e-business and consumer applications. LogiGear specializes in Web application, hand-held communication device, and consumer electronic product testing. LogiGear also produces and markets TRACKGEAR™, a Web- based defect-tracking solution, and offers QA Training through the Practical Software Testing Training Series. www.logigear.com © 2001 LogiGear Corporation. All Rights Reserved.