SlideShare una empresa de Scribd logo
1 de 53
Advanced Test Automation Practical Application of Test Automation Frameworks Lee Barnes Founder & Chief Technology Officer Utopia Solutions
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Assumptions ,[object Object],[object Object],[object Object],[object Object],[object Object]
Definitions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Introduction to Automation Frameworks
What is an “Automation Framework” ? ,[object Object],Automation Standards & Guidelines Test Scenario Input Test Scenario Results Test Engine Reusable Scripts/ Modules Utility Functions
Why? ,[object Object],[object Object],[object Object],[object Object]
How? ,[object Object],[object Object],[object Object],[object Object]
Modular & Data-Driven Design ,[object Object],[object Object]
Separation of Test Definition and Execution ,[object Object],[object Object],[object Object]
Separation of Test Definition and Test Execution Test Engine Software Testing and Functional Subject Matter Experts Automation Experts Test Definition Interface Test Scenario Input Test Scenario Results Reusable Scripts/ Modules Utility Functions
Error Detection and Recovery ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Handling Execution Status ,[object Object],[object Object],[object Object],Business Process Module Initialize status to INCOMPLETE … Perform business process … If validation condition = TRUE Set status = PASS Else Set status = FAIL Log execution status Test Scenario Input File
Common Automation Frameworks Business Process Framework Keyword Framework Integrated Framework
Business Process (BP) Framework
Business Process Framework ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],BP Functions ,[object Object],[object Object],[object Object],[object Object],[object Object],Supporting Functions ,[object Object],[object Object],[object Object],[object Object],Standards & Guidelines
Business Process Framework Test Engine Login, test_user_01, password_01 Create_Order, <ord1>,SKU10045,100,… Create_Order, <ord2>,SKU10045,100,… Ship_Order,<ord1>,… Ship_Order,<ord2>,… Verify_Inventory,SKU10045,… Test Scenario Files Test Scenario Results Business Process Scripts Utility  Functions
Business Process Framework ,[object Object],[object Object],[object Object],Advantages Disadvantages ,[object Object],[object Object],[object Object]
Business Process Framework ,[object Object]
Keyword (KW) Framework
Keyword Framework ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Object/Action Functions ,[object Object],[object Object],[object Object],[object Object],[object Object],Supporting Functions ,[object Object],[object Object],[object Object],[object Object],Standards & Guidelines
Keyword-Driven Model Test Engine VerifyState, login_page, EXISTS SetText, user_id, testuser01 SetTextSecure, password, j4ghjs39 ClickButton, submit VerifyState, main_menu, EXISTS … Object/ Action Functions Utility Functions Test Scenario Results Test Scenario Files
Keyword Framework ,[object Object],[object Object],Advantages Disadvantages ,[object Object],[object Object],[object Object]
Keyword Framework ,[object Object],[object Object],[object Object],[object Object],[object Object]
Integrated Business Process / Keyword Framework
Integrated Framework ,[object Object],[object Object]
Integrated BP/KW Framework Test Scenario File VerifyState, login_page, EXISTS SetText, user_id, <user_id> SetTextSecure, password, <pw> ClickButton, submit Test Engine Login, test_user_01, password_01 Create_Order, <ord1>,SKU10045,100,… Create_Order, <ord2>,SKU10045,100,… … Business Process Templates Test Scenario Results Object/ Action Functions Utility Functions
Integrated Framework ,[object Object],s Advantages Disadvantages ,[object Object],[object Object]
Integrated Framework ,[object Object]
Selecting the Right Framework
Aligning Automation Framework with Test Objectives ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Understanding Test Coverage Test Script ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Requirements ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What’s Missing ? Test Script ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Requirements ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Distilling Test Cases Test Cases ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Test Script ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Requirements ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Why Distill? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Manual Testing User Interface Input Validation Business Process User Interface User Interface User Interface User Interface User Interface Input Validation Input Validation Input Validation Input Validation Input Validation Business Process Business Process Business Process Business Process Business Process
Distilled Test Cases Mapped To Frameworks Automated Testing Automated Test Suite Business Process Testing Framework User Interface Testing  Framework Input Validation Testing  Framework Business Process User Interface Input Validation
Case Study Multi-Platform Warehouse Management System
Situation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Multi-Platform Framework Automation Options ,[object Object],[object Object],[object Object],[object Object],What criteria would you use to decide?
Multi-Platform Framework Conceptual Design Test Definition Interface Test Engine Desktop Execution Framework Hand-held Execution Framework Functional SME’s Automation Engineers Test Scenario Input Test Scenario Results
Best Framework Choice? ,[object Object],[object Object]
Integrated BP/KW Framework Test Scenario File VerifyState, login_page, EXISTS SetText, user_id, <user_id> SetTextSecure, password, <pw> ClickButton, submit Test Engine Login, test_user_01, password_01 Create_Order, <ord1>,SKU10045,100,… Create_Order, <ord2>,SKU10045,100,… … Business Process Templates Test Scenario Results Object/ Action Functions Utility Functions
Translate Manual Scenario to Input File ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Test Scenario Test Scenario Input File Login, test01, test01, warehouseA3 Adjust_Inventory, SKU1001, BIN047, 150 Adjust_Inventory, SKU1010, BIN049, 150 Pick_Order, ORD0034 Pick_Order, ORD0046 Verify_Inventory, SKU1001, BIN047, 140 Verify_Inventory, SKU1010, BIN049, 135
Translate BP’s to Keyword Steps Test Scenario Input File Business Process Template
Test Driver  Get BP Instruction Login, test01, test01, warehouse3 Load BP Template Map BP Data to BP Steps Execute BP Steps VerifyState, Login Page, EXISTS SetText, User ID, <user_id> SetText, Password, <pw> SetText, Warehouse, <warehouse> ClickButton, Submit VerifyState, Login Page, EXISTS SetText, User ID,  test01 SetText, Password,  test01 SetText, Warehouse,  warehouse3 ClickButton, Submit
Required Keyword Functions ? ,[object Object],[object Object],[object Object]
Multi-Platform Keyword Functions Function Set_Text, Parameters Object, Value Get execution_platform Select Case execution_platform Case BROWSER status = Set web Object = Value Case RF status = Set RF Object = Value Get debug level If debug level = TRACE log execution detail Return status Multi-Platform Code ,[object Object]
Supporting Functions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Supporting Functions Results Logging ,[object Object],[object Object],[object Object],[object Object],[object Object]
Sample Summary Result File ACCUMULATED TOTALS  PERCENTAGE ------------------------------------------ STEPS EXECUTED:  14 TEST CASES EXECUTED:  5 TEST CASES PASSED:  3  60.0 TEST CASES FAILED:  1  20.0 TEST CASES INCOMPLETE:  1  20.0 SCRIPT/APPLICATION ERRORS:  3 TEST CASE  RESULT --------------------------------------------- TC0001.........................PASS TC0002.........................PASS TC0003.........................PASS TC0004.........................INCOMPLETE TC0005.........................FAIL Summarized Test Case Results Accumulated Execution Metrics
Sample Detail Log File BEGIN STEP:  BP0001 START TIME:  14:46:48 S0001 Verify_State.............OK S0002 Set_Text.................OK  S0003 Set_Text.................OK  S0004 Set_Text.................OK  S0005 Click_Button.............OK BP0001.........................OK END STEP:  BP0001 END TIME:  14:48:04 BEGIN STEP:  BP0002 START TIME:  14:48:06 S0001 TSL error handler invoked S0001 Err: -10011, function: set_window S0001 Verify_State............FAIL One or more script errors were detected BP0002........................FAIL END STEP:  BP0002 END TIME:  14:50:21 Page 1 Page 2
Results Logging/Metrics Functions Test Driver Keyword Functions CreateLogFiles StepBegin StepEnd Writes step start time to log files Writes step status, end time to log files, input file, metric totals & other mediums Creates log files LogMetrics Write accumulated test execution metrics to log files Writes detailed step execution status to log files StepDetail Logs component usage LogUsage
[object Object],Questions… Please direct any future questions to: [email_address]

Más contenido relacionado

La actualidad más candente

WSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
WSO2Con Asia 2014 - Effective Test Automation in an Agile EnvironmentWSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
WSO2Con Asia 2014 - Effective Test Automation in an Agile EnvironmentWSO2
 
Selenium Tutorial for Beginners | Automation framework Basics
Selenium Tutorial for Beginners | Automation framework BasicsSelenium Tutorial for Beginners | Automation framework Basics
Selenium Tutorial for Beginners | Automation framework BasicsTechcanvass
 
Designing a Test Automation Framework By Quontra solutions
Designing a Test Automation Framework By Quontra solutionsDesigning a Test Automation Framework By Quontra solutions
Designing a Test Automation Framework By Quontra solutionsQUONTRASOLUTIONS
 
Alm qc 11_training
Alm qc 11_trainingAlm qc 11_training
Alm qc 11_trainingjayant25
 
Final Automation Testing
Final Automation TestingFinal Automation Testing
Final Automation Testingpriya_trivedi
 
Keyword-driven Test Automation Framework
Keyword-driven Test Automation FrameworkKeyword-driven Test Automation Framework
Keyword-driven Test Automation FrameworkMikhail Subach
 
Keyword Driven Testing
Keyword Driven TestingKeyword Driven Testing
Keyword Driven TestingHarish MS
 
Centralized test automation framework implementation
Centralized test automation framework implementationCentralized test automation framework implementation
Centralized test automation framework implementationBharathi Krishnamurthi
 
Test Automation Framework Development Introduction
Test Automation Framework Development IntroductionTest Automation Framework Development Introduction
Test Automation Framework Development IntroductionGanuka Yashantha
 
Keyword Driven Automation
Keyword Driven AutomationKeyword Driven Automation
Keyword Driven AutomationPankaj Goel
 
Framework for Web Automation Testing
Framework for Web Automation TestingFramework for Web Automation Testing
Framework for Web Automation TestingTaras Lytvyn
 
Laws of test automation framework
Laws of test automation frameworkLaws of test automation framework
Laws of test automation frameworkvodqancr
 
Automated software testing
Automated software testingAutomated software testing
Automated software testingMD ISLAM
 
Testware Hierarchy for Test Automation
Testware Hierarchy for Test AutomationTestware Hierarchy for Test Automation
Testware Hierarchy for Test AutomationGregory Solovey
 
Advanced Rational Performance Tester reports
Advanced Rational Performance Tester reportsAdvanced Rational Performance Tester reports
Advanced Rational Performance Tester reportsBill Duncan
 
Hybrid Automation Framework Development introduction
Hybrid Automation Framework Development introductionHybrid Automation Framework Development introduction
Hybrid Automation Framework Development introductionGanuka Yashantha
 
Automation White Paper V2
Automation White Paper V2Automation White Paper V2
Automation White Paper V2Mark Blair
 
M. Holovaty, Концепции автоматизированного тестирования
M. Holovaty, Концепции автоматизированного тестированияM. Holovaty, Концепции автоматизированного тестирования
M. Holovaty, Концепции автоматизированного тестированияAlex
 

La actualidad más candente (20)

WSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
WSO2Con Asia 2014 - Effective Test Automation in an Agile EnvironmentWSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
WSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
 
Selenium Tutorial for Beginners | Automation framework Basics
Selenium Tutorial for Beginners | Automation framework BasicsSelenium Tutorial for Beginners | Automation framework Basics
Selenium Tutorial for Beginners | Automation framework Basics
 
Designing a Test Automation Framework By Quontra solutions
Designing a Test Automation Framework By Quontra solutionsDesigning a Test Automation Framework By Quontra solutions
Designing a Test Automation Framework By Quontra solutions
 
Alm qc 11_training
Alm qc 11_trainingAlm qc 11_training
Alm qc 11_training
 
Final Automation Testing
Final Automation TestingFinal Automation Testing
Final Automation Testing
 
Keyword-driven Test Automation Framework
Keyword-driven Test Automation FrameworkKeyword-driven Test Automation Framework
Keyword-driven Test Automation Framework
 
Automation Framework/QTP Framework
Automation Framework/QTP FrameworkAutomation Framework/QTP Framework
Automation Framework/QTP Framework
 
Keyword Driven Testing
Keyword Driven TestingKeyword Driven Testing
Keyword Driven Testing
 
Centralized test automation framework implementation
Centralized test automation framework implementationCentralized test automation framework implementation
Centralized test automation framework implementation
 
Test Automation Framework Development Introduction
Test Automation Framework Development IntroductionTest Automation Framework Development Introduction
Test Automation Framework Development Introduction
 
Keyword Driven Automation
Keyword Driven AutomationKeyword Driven Automation
Keyword Driven Automation
 
Framework for Web Automation Testing
Framework for Web Automation TestingFramework for Web Automation Testing
Framework for Web Automation Testing
 
Laws of test automation framework
Laws of test automation frameworkLaws of test automation framework
Laws of test automation framework
 
Automated software testing
Automated software testingAutomated software testing
Automated software testing
 
Testware Hierarchy for Test Automation
Testware Hierarchy for Test AutomationTestware Hierarchy for Test Automation
Testware Hierarchy for Test Automation
 
Advanced Rational Performance Tester reports
Advanced Rational Performance Tester reportsAdvanced Rational Performance Tester reports
Advanced Rational Performance Tester reports
 
Salesforce testing best_practices
Salesforce testing best_practicesSalesforce testing best_practices
Salesforce testing best_practices
 
Hybrid Automation Framework Development introduction
Hybrid Automation Framework Development introductionHybrid Automation Framework Development introduction
Hybrid Automation Framework Development introduction
 
Automation White Paper V2
Automation White Paper V2Automation White Paper V2
Automation White Paper V2
 
M. Holovaty, Концепции автоматизированного тестирования
M. Holovaty, Концепции автоматизированного тестированияM. Holovaty, Концепции автоматизированного тестирования
M. Holovaty, Концепции автоматизированного тестирования
 

Similar a Test Automation Frameworks Final

Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Leonard Fingerman
 
Lightning Talks by Globant - Automation (This app runs by itself )
Lightning Talks by Globant -  Automation (This app runs by itself ) Lightning Talks by Globant -  Automation (This app runs by itself )
Lightning Talks by Globant - Automation (This app runs by itself ) Globant
 
Aspires Testing Services Presentation
Aspires Testing Services PresentationAspires Testing Services Presentation
Aspires Testing Services PresentationVasanthmusic
 
Automation Framework Presentation
Automation Framework PresentationAutomation Framework Presentation
Automation Framework PresentationBen Ngo
 
04 test controlling and tracking
04   test controlling and tracking04   test controlling and tracking
04 test controlling and trackingClemens Reijnen
 
Netserv Software Testing
Netserv Software TestingNetserv Software Testing
Netserv Software Testingsthicks14
 
Susan windsor soft test 16th november 2005
Susan windsor soft test   16th november 2005Susan windsor soft test   16th november 2005
Susan windsor soft test 16th november 2005David O'Dowd
 
SAP Test automation - fully automatic test of complex business processes incl...
SAP Test automation - fully automatic test of complex business processes incl...SAP Test automation - fully automatic test of complex business processes incl...
SAP Test automation - fully automatic test of complex business processes incl...Tobias Trapp
 
Automation Best Practices.pptx
Automation Best Practices.pptxAutomation Best Practices.pptx
Automation Best Practices.pptxpavelpopov43
 
SAP Testing Services
SAP Testing ServicesSAP Testing Services
SAP Testing Servicesr_shanki
 
Coml Psg Automation Approach
Coml Psg Automation ApproachComl Psg Automation Approach
Coml Psg Automation Approachroopavani
 
Getting Started With QA Automation
Getting Started With QA AutomationGetting Started With QA Automation
Getting Started With QA AutomationGiovanni Scerra ☃
 

Similar a Test Automation Frameworks Final (20)

Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)
 
Lightning Talks by Globant - Automation (This app runs by itself )
Lightning Talks by Globant -  Automation (This app runs by itself ) Lightning Talks by Globant -  Automation (This app runs by itself )
Lightning Talks by Globant - Automation (This app runs by itself )
 
Aspires Testing Services Presentation
Aspires Testing Services PresentationAspires Testing Services Presentation
Aspires Testing Services Presentation
 
Test Automation for QTP
Test Automation for QTPTest Automation for QTP
Test Automation for QTP
 
Test Automation
Test AutomationTest Automation
Test Automation
 
Automation Framework Presentation
Automation Framework PresentationAutomation Framework Presentation
Automation Framework Presentation
 
04 test controlling and tracking
04   test controlling and tracking04   test controlling and tracking
04 test controlling and tracking
 
Netserv Software Testing
Netserv Software TestingNetserv Software Testing
Netserv Software Testing
 
Susan windsor soft test 16th november 2005
Susan windsor soft test   16th november 2005Susan windsor soft test   16th november 2005
Susan windsor soft test 16th november 2005
 
SAP Test automation - fully automatic test of complex business processes incl...
SAP Test automation - fully automatic test of complex business processes incl...SAP Test automation - fully automatic test of complex business processes incl...
SAP Test automation - fully automatic test of complex business processes incl...
 
About QTP 9.2
About QTP 9.2About QTP 9.2
About QTP 9.2
 
About Qtp_1 92
About Qtp_1 92About Qtp_1 92
About Qtp_1 92
 
About Qtp 92
About Qtp 92About Qtp 92
About Qtp 92
 
Automation Best Practices.pptx
Automation Best Practices.pptxAutomation Best Practices.pptx
Automation Best Practices.pptx
 
SAP Testing Services
SAP Testing ServicesSAP Testing Services
SAP Testing Services
 
Coml Psg Automation Approach
Coml Psg Automation ApproachComl Psg Automation Approach
Coml Psg Automation Approach
 
Getting Started With QA Automation
Getting Started With QA AutomationGetting Started With QA Automation
Getting Started With QA Automation
 
Front Cover:
Front Cover:Front Cover:
Front Cover:
 
Front Cover:
Front Cover:Front Cover:
Front Cover:
 
Front Cover:
Front Cover:Front Cover:
Front Cover:
 

Test Automation Frameworks Final

  • 1. Advanced Test Automation Practical Application of Test Automation Frameworks Lee Barnes Founder & Chief Technology Officer Utopia Solutions
  • 2.
  • 3.
  • 4.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11. Separation of Test Definition and Test Execution Test Engine Software Testing and Functional Subject Matter Experts Automation Experts Test Definition Interface Test Scenario Input Test Scenario Results Reusable Scripts/ Modules Utility Functions
  • 12.
  • 13.
  • 14. Common Automation Frameworks Business Process Framework Keyword Framework Integrated Framework
  • 16.
  • 17. Business Process Framework Test Engine Login, test_user_01, password_01 Create_Order, <ord1>,SKU10045,100,… Create_Order, <ord2>,SKU10045,100,… Ship_Order,<ord1>,… Ship_Order,<ord2>,… Verify_Inventory,SKU10045,… Test Scenario Files Test Scenario Results Business Process Scripts Utility Functions
  • 18.
  • 19.
  • 21.
  • 22. Keyword-Driven Model Test Engine VerifyState, login_page, EXISTS SetText, user_id, testuser01 SetTextSecure, password, j4ghjs39 ClickButton, submit VerifyState, main_menu, EXISTS … Object/ Action Functions Utility Functions Test Scenario Results Test Scenario Files
  • 23.
  • 24.
  • 25. Integrated Business Process / Keyword Framework
  • 26.
  • 27. Integrated BP/KW Framework Test Scenario File VerifyState, login_page, EXISTS SetText, user_id, <user_id> SetTextSecure, password, <pw> ClickButton, submit Test Engine Login, test_user_01, password_01 Create_Order, <ord1>,SKU10045,100,… Create_Order, <ord2>,SKU10045,100,… … Business Process Templates Test Scenario Results Object/ Action Functions Utility Functions
  • 28.
  • 29.
  • 30. Selecting the Right Framework
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36. Distilled Test Cases Mapped To Frameworks Automated Testing Automated Test Suite Business Process Testing Framework User Interface Testing Framework Input Validation Testing Framework Business Process User Interface Input Validation
  • 37. Case Study Multi-Platform Warehouse Management System
  • 38.
  • 39.
  • 40. Multi-Platform Framework Conceptual Design Test Definition Interface Test Engine Desktop Execution Framework Hand-held Execution Framework Functional SME’s Automation Engineers Test Scenario Input Test Scenario Results
  • 41.
  • 42. Integrated BP/KW Framework Test Scenario File VerifyState, login_page, EXISTS SetText, user_id, <user_id> SetTextSecure, password, <pw> ClickButton, submit Test Engine Login, test_user_01, password_01 Create_Order, <ord1>,SKU10045,100,… Create_Order, <ord2>,SKU10045,100,… … Business Process Templates Test Scenario Results Object/ Action Functions Utility Functions
  • 43.
  • 44. Translate BP’s to Keyword Steps Test Scenario Input File Business Process Template
  • 45. Test Driver Get BP Instruction Login, test01, test01, warehouse3 Load BP Template Map BP Data to BP Steps Execute BP Steps VerifyState, Login Page, EXISTS SetText, User ID, <user_id> SetText, Password, <pw> SetText, Warehouse, <warehouse> ClickButton, Submit VerifyState, Login Page, EXISTS SetText, User ID, test01 SetText, Password, test01 SetText, Warehouse, warehouse3 ClickButton, Submit
  • 46.
  • 47.
  • 48.
  • 49.
  • 50. Sample Summary Result File ACCUMULATED TOTALS PERCENTAGE ------------------------------------------ STEPS EXECUTED: 14 TEST CASES EXECUTED: 5 TEST CASES PASSED: 3 60.0 TEST CASES FAILED: 1 20.0 TEST CASES INCOMPLETE: 1 20.0 SCRIPT/APPLICATION ERRORS: 3 TEST CASE RESULT --------------------------------------------- TC0001.........................PASS TC0002.........................PASS TC0003.........................PASS TC0004.........................INCOMPLETE TC0005.........................FAIL Summarized Test Case Results Accumulated Execution Metrics
  • 51. Sample Detail Log File BEGIN STEP: BP0001 START TIME: 14:46:48 S0001 Verify_State.............OK S0002 Set_Text.................OK S0003 Set_Text.................OK S0004 Set_Text.................OK S0005 Click_Button.............OK BP0001.........................OK END STEP: BP0001 END TIME: 14:48:04 BEGIN STEP: BP0002 START TIME: 14:48:06 S0001 TSL error handler invoked S0001 Err: -10011, function: set_window S0001 Verify_State............FAIL One or more script errors were detected BP0002........................FAIL END STEP: BP0002 END TIME: 14:50:21 Page 1 Page 2
  • 52. Results Logging/Metrics Functions Test Driver Keyword Functions CreateLogFiles StepBegin StepEnd Writes step start time to log files Writes step status, end time to log files, input file, metric totals & other mediums Creates log files LogMetrics Write accumulated test execution metrics to log files Writes detailed step execution status to log files StepDetail Logs component usage LogUsage
  • 53.

Notas del editor

  1. Structured testing experience: Created test plans, strategies, scripts, manual testing, results analysis, etc. Exposure to test tool: Has worked with (or at least seen) one of the contemporary tools and is familiar with their high-level capabilities such as object recognition, programming capabilities, etc.
  2. Also called – architecture Used the word “code” intentionally. The test engine can be built utilizing one of the commercially available tools, or purchased via one of the
  3. Or another way of saying “Can’t I just hit the record button?” Reliable (executes to completion with accurate results) Maintainable (test suite maintenance can be performed within available time windows while maintaining positive ROI) Scalable (test coverage can be expanded efficiently – with existing test resources while maintaining positive ROI)
  4. This is pretty well accepted – whatever your approach, it better be modular and data-driven (which is a general term for test suite execution being governed at some level by an external data source)
  5. In my experience the leading cause of automation failure is attempting to implement with resources that don’t have the skills and background. What’s more, you end up taking focus away from their strengths – software testing and domain expertise. Separating these two functions allows everyone involved to focus on their strengths If test def &amp; execution are all rolled up into the same code, additional test cases must be added by the automation engineers. Your framework should have a simple test definition interface that testers can use to create their tests and scenarios.
  6. The primary goal of building an automation architecture, rather than defaulting to record and playback, is to separate the process of test definition and test execution. This eliminates that need for a “super tester” that has both subject matter expertise AND automation expertise. If done correctly, the SME’s can define their test scenarios using a simplified instruction set (stored in an Excel spreadsheet or some other external data source). The test engine, built and maintained by a core group of automation experts, executes the scenarios and reports the results In this example, the test engine consists of reusable scripts and functions that “know how” to perform a common set of test actions such as logging in, navigation, data input, verification, etc. The definition of the tests which contains which actions to perform and what specific data should be used is built in an external data source.
  7. Consistent means that if I have a “Create Order” business process – each time I execute that process as part of my testing I go through pretty much the same steps each time. Finite means I know how many and what the BP’s are before I start. End-to-end means I’m concerned with the result of the BP, not incremental, lower-level test cases like screen navigation, user interface state, etc.
  8. Consistent means that if I have a “Create Order” business process – each time I execute that process as part of my testing I go through pretty much the same steps each time. Finite means I know how many and what the BP’s are before I start. End-to-end means I’m concerned with the result of the BP, not incremental, lower-level test cases like screen navigation, user interface state, etc.
  9. Consistent means that if I have a “Create Order” business process – each time I execute that process as part of my testing I go through pretty much the same steps each time. Finite means I know how many and what the BP’s are before I start. End-to-end means I’m concerned with the result of the BP, not incremental, lower-level test cases like screen navigation, user interface state, etc.
  10. Many times we see test scripts that were created directly from requirements – any analysis of the test conditions (i.e. things to be tested) is often treated as work product and not kept. However, because we have different types of requirements (e.g. functional, security, user interface, etc.) we have different types of test cases. These varying types of test cases are often jammed together in manual test scripts because we want to spend as little time as possible performing manual tests. &lt;CLICK&gt; Why go through a particular set of screens multiple times, when you can jam all of your testing related to a particular process into just one pass? There’s nothing wrong with that – it’s just efficient manual testing. However, it’s not structured very well for automation. Why? Because as we’ll discuss in more detail later, successful automation requires some type of reusable, data-driven architecture. This manual test script is not reusable for other testing purposes. &lt;CLICK&gt; However, if we extract the test cases from the test scripts and look at them as a whole, we can start to visualize what our automation approach might be. Why, because we start to see types of test cases that are similar and repetitive – a good indication of an automation candidate. Let’s look at this a little deeper on the next slide.
  11. Many times we see test scripts that were created directly from requirements – any analysis of the test conditions (i.e. things to be tested) is often treated as work product and not kept. However, because we have different types of requirements (e.g. functional, security, user interface, etc.) we have different types of test cases. These varying types of test cases are often jammed together in manual test scripts because we want to spend as little time as possible performing manual tests. &lt;CLICK&gt; Why go through a particular set of screens multiple times, when you can jam all of your testing related to a particular process into just one pass? There’s nothing wrong with that – it’s just efficient manual testing. However, it’s not structured very well for automation. Why? Because as we’ll discuss in more detail later, successful automation requires some type of reusable, data-driven architecture. This manual test script is not reusable for other testing purposes. &lt;CLICK&gt; However, if we extract the test cases from the test scripts and look at them as a whole, we can start to visualize what our automation approach might be. Why, because we start to see types of test cases that are similar and repetitive – a good indication of an automation candidate. Let’s look at this a little deeper on the next slide.
  12. Many times we see test scripts that were created directly from requirements – any analysis of the test conditions (i.e. things to be tested) is often treated as work product and not kept. However, because we have different types of requirements (e.g. functional, security, user interface, etc.) we have different types of test cases. These varying types of test cases are often jammed together in manual test scripts because we want to spend as little time as possible performing manual tests. &lt;CLICK&gt; Why go through a particular set of screens multiple times, when you can jam all of your testing related to a particular process into just one pass? There’s nothing wrong with that – it’s just efficient manual testing. However, it’s not structured very well for automation. Why? Because as we’ll discuss in more detail later, successful automation requires some type of reusable, data-driven architecture. This manual test script is not reusable for other testing purposes. &lt;CLICK&gt; However, if we extract the test cases from the test scripts and look at them as a whole, we can start to visualize what our automation approach might be. Why, because we start to see types of test cases that are similar and repetitive – a good indication of an automation candidate. Let’s look at this a little deeper on the next slide.
  13. To highlight the importance of the capturing and tracking test cases separately I want to take a look at a typical manual test script. As I’ve highlighted, we often see that manual test scripts often contain many types of test cases. CLICK If we look at the manual steps we see that we have some business process level test case, user interface, input validation, etc. This doesn’t seem too bad from automation perspective, but we’re not looking at the big picture. CLICK If we take into consideration that we have dozens, hundreds, or even thousands of manual scripts – we quickly see that we’re going to have mess in terms of understanding how to approach automation. So how do we begin to untangle this mess? As we saw in the last slide, we need to extract, or “distill” our test cases into similar levels and types. CLICK Once we have grouped our test cases into similar levels and types, we can start to envision what automation approaches (i.e. architectures) we might want to use. CLICK As the slide indicates, you likely won’t use the same automation approach for all types of testing – most successful automation functions that we have seen have specific architectures adapted to specific testing needs. We’ll discuss automation architectures in a little more detail later in the presentation
  14. Actual implementation specifics will depend on the capabilities of your test tool