SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
Katalon Studio
Free Test Automation IDE
Hai Nguyen
About me
 github.com/minhhai2209
 Software Architect @ QASymphony.
 Software Testing & OSS junkie.
Introduction
 Modern Web & Mobile Applications are getting more complex.
 Functional test automation (FTA) is key for quality and in-time releases.
 A usable FTA needs to be both effective and efficient.
 The divide between Developers’ and Testers’ practices prevent FTA
implementation to be both effective and efficient.
 The challenge is not to implement FTA but usable FTA.
The Great Divide of Functional Test
Automation
 Commercial tools heavily focus on Testers (e.g. UFT, TestComplete).
 Comfortable Record/Playback functions.
 Limited options for Page Object Pattern, Parameterization, Data Generation etc.
 Plain scripting editor with ancient programming languages (VBScript).
 Limited extension points to fit organizations’ specific demands.
 Open source frameworks (e.g. Watir, Protractor) heavily focus on programming
capabilities for Developers.
 Powerful APIs for popular programming languages.
 Supported by sophisticated modern IDEs.
 Multiple do-one-thing components, architectural design is needed to glue them together.
 Setting up is complicated for Testers, involving different runtimes/tools, the use of
command lines, and environment variable configuration.
Functional Test Automation is Vietnam
War for Record/Playback tools
 Same approach, many attempts, same failures.
 Still unsolved problems:
 Wait detection: Heavy AJAX and HTML generation prevent page objects available in
time.
 Replay-able actions: Complex widgets with many layer of markup make it difficult
to detect the correct elements under actions.
 Reliable XPath/CSS selectors: Generated selectors are inefficient and lack invariant
factors to be immune with future changes.
 Complex fixture set up cannot be done elegantly.
 At the end, a programmable FTA framework is still necessary.
Modern FTA frameworks are not for
Testers
 Modern FTA leverages mainstream programming languages with advanced
concepts.
 Testers can only work on simple languages with limited power, resulting in low
maintainability.
 Time and energy end up being spent on coding rather than doing
Exploratory/Acceptance Testing.
 Still needs Developers to solve the problems of replay-able actions and
reliable XPath/CSS selectors.
Developers cannot write tests alone
 Developers are good at building robust testing frameworks.
 But time tends to be devoted on perfecting the architecture, and beautifying
the code, rather than the Test Cases’ content.
 Less effective scenarios due to isolated view without system-wide and end-
user perspective.
 Frameworks often focus on scripting and execution without supports for
various other Testers’ activities like data generation, reporting, ALM
integration.
1st Solution – Developers as Interpreter
 Testers define scenarios in natural or Gherkin-style languages.
 Developers translate scenarios into programming languages.
 Cons:
 Double the effort of authoring Test Cases.
 Content is split to separate forms and places.
 Requires close collaboration to keep scenarios and test scripts in sync.
 Testers cannot verify the test scripts directly.
 Separate contents make it hard for Testers to do failure analysis.
2nd Solution – Developers extend Testers’
scripts
 Testers compose scenarios using Record/Replay tools (e.g. Selenium IDE).
 Recorded sessions are exported as scripts in desired programming languages.
 Developers modify the exported scripts to fit the frameworks.
 Initial translation effort is reduced.
 Cons:
 Exporting happens in one-direction only – from recorded sessions to test scripts.
 Still subjects to the first solution’s problems after initial translation.
3rd Solution – Developers and Testers
work together
 Testers and Developers work on the same scripts using both graphical and
scripting interface.
 Changes must be continuously reflected i.e. Testers and Developers always
read the same content.
 Execution should be simple for Testers.
 Logs and other artifacts should be presented in a readable.
 The underlying framework must not ignore Testers’ requirements for Test
Management, Parameterization, integration etc. for effective reporting and
collaboration.
 Deployment should be trivial for the whole toolset.
Meet Katalon Studio
Katalon Studio
 https://www.katalon.com.
 A free Functional Test Automation IDE, designed for efficient and effective
testing, with collaboration in mind.
 IDE means real IDE with autocomplete and debugging e.g. IntelliJ IDEA, Eclipse,
Visual Studio – not a glorified text editor.
 Supports Web, Mobile, and API Testing.
 Works on Windows, Mac, and Linux.
Setting up
 One package to rule them all – nothing else needed.
 Even JRE, Selenium, WebDriver binaries, Appium, Android SDK.
 For both GUI and CLI modes.
 Necessary PATHs are configured automatically.
 Out of the box support for Cloud Services e.g. Sauce Labs, BrowserStack,
Kobiton.
Test Cases
 Consist of many actions (Keywords) interacting with AUTs, can be authored in
three ways:
 Record: capturing interactions on browsers i.e. Chrome, Firefox, IE (for Testers).
 Manual: selecting actions on GUI in a point-and-click manner (for Testers).
 Script: writing real scripts using Groovy (for Developers).
 All methods output the same content interchangeably at any point of time.
 Manual and Script Modes are equally powerful.
 Test Case are Groovy scripts behind the scene.
 Groovy is Java-based language, suitable for complex implementation.
 Groovy supplements Java syntax with intuitive structures.
 Testers can write script without hassles of Java syntax.
Test Cases - Record tool
 Works on Chrome, Firefox, and IE.
Test Cases - Manual Mode
Test Cases - Script Mode
Test Cases - Script Mode (Debug)
Better Test Cases
 Ensure pre- & post-conditions with @SetUp and @TearDown.
 Annotate steps with Gherkin-style language to improve expressiveness.
 Organize Test Cases into Test Suites for flexible execution.
 Parameterize Test Cases with Test Data to avoid duplicates.
 Decouple AUT’s business and implementation with Object Repository (Page
Object Pattern).
 Eliminate duplication using Call Test Case.
Better Test Cases - Test Data
Execution
 Available in GUI for development and CLI for CI integration.
 Execute against multiple environments: Chrome, Firefox, IE, Edge, Safari,
Headless, Selenium Grid, Android, iOS, Cloud Services (e.g. Sauce Labs,
BrowserStack, Kobiton).
 Extensive logs, screenshots, and context information to assist failure analysis.
 Integration with JIRA to speed up defect reporting and avoid missing data.
 Integration with qTest for overall quality reports and sophisticated test
management.
Execution – Trigger from GUI
Execution – Trigger from CLI
Execution – Failure Analysis
Execution – Reporting
Execution – JIRA integration
Collaboration
 Built-in Git supports for reviewing history and merging changes.
 Activities can be published to Slack for discussion.
Collaboration - Git
Collaboration - Slack
Extension Points – Custom Keywords
 Actions set can be extended via Custom (user defined) Keywords.
 Keywords are normal programming methods without any limitations.
 Custom Keywords can be used in both Manual and Script Modes.
References
 Katalon Studio homepage – https://katalon.com.
 Katalon Studio documentation - https://docs.katalon.com.
 Test Automation Framework Designs (by Sauce Labs) -
https://www.slideshare.net/saucelabs/test-automation-framework-designs.
Thank you!

Weitere ähnliche Inhalte

Was ist angesagt?

Katalon Studio - A Codeless Automation Tool.pdf
Katalon Studio - A Codeless Automation Tool.pdfKatalon Studio - A Codeless Automation Tool.pdf
Katalon Studio - A Codeless Automation Tool.pdfKnoldus Inc.
 
Test Case Creation in Katalon Studio
Test Case Creation in Katalon StudioTest Case Creation in Katalon Studio
Test Case Creation in Katalon StudioRapidValue
 
How to select the right automated testing tool
How to select the right automated testing toolHow to select the right automated testing tool
How to select the right automated testing toolKatalon Studio
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework DesignsSauce Labs
 
ATLAS Automation POC
ATLAS Automation POCATLAS Automation POC
ATLAS Automation POCaakashmc
 
Test automation
Test automationTest automation
Test automationXavier Yin
 
Automation Testing with KATALON Cucumber BDD
Automation Testing with KATALON Cucumber BDDAutomation Testing with KATALON Cucumber BDD
Automation Testing with KATALON Cucumber BDDRapidValue
 
Selenium test automation
Selenium test automationSelenium test automation
Selenium test automationSrikanth Vuriti
 
API Testing With Katalon Studio
API Testing With Katalon StudioAPI Testing With Katalon Studio
API Testing With Katalon StudioKnoldus Inc.
 
Test automation using selenium
Test automation using seleniumTest automation using selenium
Test automation using seleniumshreyas JC
 
Test Automation
Test AutomationTest Automation
Test Automationrockoder
 
Data driven testing
Data driven testingData driven testing
Data driven testingĐăng Minh
 

Was ist angesagt? (20)

Katalon Studio - A Codeless Automation Tool.pdf
Katalon Studio - A Codeless Automation Tool.pdfKatalon Studio - A Codeless Automation Tool.pdf
Katalon Studio - A Codeless Automation Tool.pdf
 
Test Case Creation in Katalon Studio
Test Case Creation in Katalon StudioTest Case Creation in Katalon Studio
Test Case Creation in Katalon Studio
 
How to select the right automated testing tool
How to select the right automated testing toolHow to select the right automated testing tool
How to select the right automated testing tool
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework Designs
 
ATLAS Automation POC
ATLAS Automation POCATLAS Automation POC
ATLAS Automation POC
 
Test automation
Test automationTest automation
Test automation
 
Automation Testing with KATALON Cucumber BDD
Automation Testing with KATALON Cucumber BDDAutomation Testing with KATALON Cucumber BDD
Automation Testing with KATALON Cucumber BDD
 
Selenium test automation
Selenium test automationSelenium test automation
Selenium test automation
 
API Testing With Katalon Studio
API Testing With Katalon StudioAPI Testing With Katalon Studio
API Testing With Katalon Studio
 
Test automation using selenium
Test automation using seleniumTest automation using selenium
Test automation using selenium
 
Selenium Concepts
Selenium ConceptsSelenium Concepts
Selenium Concepts
 
Test automation process
Test automation processTest automation process
Test automation process
 
Selenium ppt
Selenium pptSelenium ppt
Selenium ppt
 
Test Automation
Test AutomationTest Automation
Test Automation
 
Automation Testing by Selenium Web Driver
Automation Testing by Selenium Web DriverAutomation Testing by Selenium Web Driver
Automation Testing by Selenium Web Driver
 
Selenium Automation Framework
Selenium Automation  FrameworkSelenium Automation  Framework
Selenium Automation Framework
 
Test automation using selenium
Test automation using seleniumTest automation using selenium
Test automation using selenium
 
Manual testing
Manual testingManual testing
Manual testing
 
Automated Test Framework with Cucumber
Automated Test Framework with CucumberAutomated Test Framework with Cucumber
Automated Test Framework with Cucumber
 
Data driven testing
Data driven testingData driven testing
Data driven testing
 

Ähnlich wie Katalon Studio - Successful Test Automation for both Testers and Developers

Felix Ramos_Automation Programmer Analyst_QA
Felix Ramos_Automation Programmer Analyst_QAFelix Ramos_Automation Programmer Analyst_QA
Felix Ramos_Automation Programmer Analyst_QAFelix Ramos
 
Abhiram_Bharadwaj_Resume -Both
Abhiram_Bharadwaj_Resume -BothAbhiram_Bharadwaj_Resume -Both
Abhiram_Bharadwaj_Resume -BothAbhiram Bharadwaj
 
SUNIL_Senior_Test_Analyst
SUNIL_Senior_Test_AnalystSUNIL_Senior_Test_Analyst
SUNIL_Senior_Test_AnalystSunil Deva
 
Stepin evening presented
Stepin evening presentedStepin evening presented
Stepin evening presentedVijayan Reddy
 
MD Tareque Automation
MD Tareque AutomationMD Tareque Automation
MD Tareque AutomationMD Tareque
 
XML2Selenium Technical Presentation
XML2Selenium Technical PresentationXML2Selenium Technical Presentation
XML2Selenium Technical Presentationjazzteam
 
Let's banish "it works on my machine"
Let's banish "it works on my machine"Let's banish "it works on my machine"
Let's banish "it works on my machine"Stephanie Locke
 
API automation with JMeter + Bamboo CI
API automation with JMeter + Bamboo CIAPI automation with JMeter + Bamboo CI
API automation with JMeter + Bamboo CIMykola Kovsh
 
[DevDay 2017] Automation Testing - Speaker: Nghia Khuong - Project Manager at...
[DevDay 2017] Automation Testing - Speaker: Nghia Khuong - Project Manager at...[DevDay 2017] Automation Testing - Speaker: Nghia Khuong - Project Manager at...
[DevDay 2017] Automation Testing - Speaker: Nghia Khuong - Project Manager at...DevDay.org
 
Choosing right-automation-tool
Choosing right-automation-toolChoosing right-automation-tool
Choosing right-automation-toolBabuDevanandam
 
Basics of Scriptless Automation for Web and Mobile Apps (1).pdf
Basics of Scriptless Automation for Web and Mobile Apps (1).pdfBasics of Scriptless Automation for Web and Mobile Apps (1).pdf
Basics of Scriptless Automation for Web and Mobile Apps (1).pdfpcloudy2
 
Rajiv Profile_Sept_2016
Rajiv Profile_Sept_2016Rajiv Profile_Sept_2016
Rajiv Profile_Sept_2016Rajiv Joseph
 
Smart acceptance GUI tests with Selenium
Smart acceptance GUI tests with SeleniumSmart acceptance GUI tests with Selenium
Smart acceptance GUI tests with SeleniumDenys Zaiats
 

Ähnlich wie Katalon Studio - Successful Test Automation for both Testers and Developers (20)

Felix Ramos_Automation Programmer Analyst_QA
Felix Ramos_Automation Programmer Analyst_QAFelix Ramos_Automation Programmer Analyst_QA
Felix Ramos_Automation Programmer Analyst_QA
 
Abhiram_Bharadwaj_Resume -Both
Abhiram_Bharadwaj_Resume -BothAbhiram_Bharadwaj_Resume -Both
Abhiram_Bharadwaj_Resume -Both
 
SUNIL_Senior_Test_Analyst
SUNIL_Senior_Test_AnalystSUNIL_Senior_Test_Analyst
SUNIL_Senior_Test_Analyst
 
Rajiv Profile
Rajiv ProfileRajiv Profile
Rajiv Profile
 
Stepin evening presented
Stepin evening presentedStepin evening presented
Stepin evening presented
 
Resume_0.2
Resume_0.2Resume_0.2
Resume_0.2
 
Priyanka cv
Priyanka cvPriyanka cv
Priyanka cv
 
MD Tareque Automation
MD Tareque AutomationMD Tareque Automation
MD Tareque Automation
 
XML2Selenium Technical Presentation
XML2Selenium Technical PresentationXML2Selenium Technical Presentation
XML2Selenium Technical Presentation
 
Let's banish "it works on my machine"
Let's banish "it works on my machine"Let's banish "it works on my machine"
Let's banish "it works on my machine"
 
API automation with JMeter + Bamboo CI
API automation with JMeter + Bamboo CIAPI automation with JMeter + Bamboo CI
API automation with JMeter + Bamboo CI
 
Animesh Chatterjee
Animesh Chatterjee Animesh Chatterjee
Animesh Chatterjee
 
[DevDay 2017] Automation Testing - Speaker: Nghia Khuong - Project Manager at...
[DevDay 2017] Automation Testing - Speaker: Nghia Khuong - Project Manager at...[DevDay 2017] Automation Testing - Speaker: Nghia Khuong - Project Manager at...
[DevDay 2017] Automation Testing - Speaker: Nghia Khuong - Project Manager at...
 
Choosing right-automation-tool
Choosing right-automation-toolChoosing right-automation-tool
Choosing right-automation-tool
 
Basics of Scriptless Automation for Web and Mobile Apps (1).pdf
Basics of Scriptless Automation for Web and Mobile Apps (1).pdfBasics of Scriptless Automation for Web and Mobile Apps (1).pdf
Basics of Scriptless Automation for Web and Mobile Apps (1).pdf
 
Ashley Kevorkian.Selenium
Ashley Kevorkian.SeleniumAshley Kevorkian.Selenium
Ashley Kevorkian.Selenium
 
Rajiv Profile_Sept_2016
Rajiv Profile_Sept_2016Rajiv Profile_Sept_2016
Rajiv Profile_Sept_2016
 
Smart acceptance GUI tests with Selenium
Smart acceptance GUI tests with SeleniumSmart acceptance GUI tests with Selenium
Smart acceptance GUI tests with Selenium
 
Prakasha_Resume
Prakasha_ResumePrakasha_Resume
Prakasha_Resume
 
Sunitha_CV
Sunitha_CVSunitha_CV
Sunitha_CV
 

Kürzlich hochgeladen

Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 

Kürzlich hochgeladen (20)

Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 

Katalon Studio - Successful Test Automation for both Testers and Developers

  • 1. Katalon Studio Free Test Automation IDE Hai Nguyen
  • 2. About me  github.com/minhhai2209  Software Architect @ QASymphony.  Software Testing & OSS junkie.
  • 3. Introduction  Modern Web & Mobile Applications are getting more complex.  Functional test automation (FTA) is key for quality and in-time releases.  A usable FTA needs to be both effective and efficient.  The divide between Developers’ and Testers’ practices prevent FTA implementation to be both effective and efficient.  The challenge is not to implement FTA but usable FTA.
  • 4. The Great Divide of Functional Test Automation  Commercial tools heavily focus on Testers (e.g. UFT, TestComplete).  Comfortable Record/Playback functions.  Limited options for Page Object Pattern, Parameterization, Data Generation etc.  Plain scripting editor with ancient programming languages (VBScript).  Limited extension points to fit organizations’ specific demands.  Open source frameworks (e.g. Watir, Protractor) heavily focus on programming capabilities for Developers.  Powerful APIs for popular programming languages.  Supported by sophisticated modern IDEs.  Multiple do-one-thing components, architectural design is needed to glue them together.  Setting up is complicated for Testers, involving different runtimes/tools, the use of command lines, and environment variable configuration.
  • 5. Functional Test Automation is Vietnam War for Record/Playback tools  Same approach, many attempts, same failures.  Still unsolved problems:  Wait detection: Heavy AJAX and HTML generation prevent page objects available in time.  Replay-able actions: Complex widgets with many layer of markup make it difficult to detect the correct elements under actions.  Reliable XPath/CSS selectors: Generated selectors are inefficient and lack invariant factors to be immune with future changes.  Complex fixture set up cannot be done elegantly.  At the end, a programmable FTA framework is still necessary.
  • 6. Modern FTA frameworks are not for Testers  Modern FTA leverages mainstream programming languages with advanced concepts.  Testers can only work on simple languages with limited power, resulting in low maintainability.  Time and energy end up being spent on coding rather than doing Exploratory/Acceptance Testing.  Still needs Developers to solve the problems of replay-able actions and reliable XPath/CSS selectors.
  • 7. Developers cannot write tests alone  Developers are good at building robust testing frameworks.  But time tends to be devoted on perfecting the architecture, and beautifying the code, rather than the Test Cases’ content.  Less effective scenarios due to isolated view without system-wide and end- user perspective.  Frameworks often focus on scripting and execution without supports for various other Testers’ activities like data generation, reporting, ALM integration.
  • 8. 1st Solution – Developers as Interpreter  Testers define scenarios in natural or Gherkin-style languages.  Developers translate scenarios into programming languages.  Cons:  Double the effort of authoring Test Cases.  Content is split to separate forms and places.  Requires close collaboration to keep scenarios and test scripts in sync.  Testers cannot verify the test scripts directly.  Separate contents make it hard for Testers to do failure analysis.
  • 9. 2nd Solution – Developers extend Testers’ scripts  Testers compose scenarios using Record/Replay tools (e.g. Selenium IDE).  Recorded sessions are exported as scripts in desired programming languages.  Developers modify the exported scripts to fit the frameworks.  Initial translation effort is reduced.  Cons:  Exporting happens in one-direction only – from recorded sessions to test scripts.  Still subjects to the first solution’s problems after initial translation.
  • 10. 3rd Solution – Developers and Testers work together  Testers and Developers work on the same scripts using both graphical and scripting interface.  Changes must be continuously reflected i.e. Testers and Developers always read the same content.  Execution should be simple for Testers.  Logs and other artifacts should be presented in a readable.  The underlying framework must not ignore Testers’ requirements for Test Management, Parameterization, integration etc. for effective reporting and collaboration.  Deployment should be trivial for the whole toolset.
  • 12. Katalon Studio  https://www.katalon.com.  A free Functional Test Automation IDE, designed for efficient and effective testing, with collaboration in mind.  IDE means real IDE with autocomplete and debugging e.g. IntelliJ IDEA, Eclipse, Visual Studio – not a glorified text editor.  Supports Web, Mobile, and API Testing.  Works on Windows, Mac, and Linux.
  • 13.
  • 14. Setting up  One package to rule them all – nothing else needed.  Even JRE, Selenium, WebDriver binaries, Appium, Android SDK.  For both GUI and CLI modes.  Necessary PATHs are configured automatically.  Out of the box support for Cloud Services e.g. Sauce Labs, BrowserStack, Kobiton.
  • 15. Test Cases  Consist of many actions (Keywords) interacting with AUTs, can be authored in three ways:  Record: capturing interactions on browsers i.e. Chrome, Firefox, IE (for Testers).  Manual: selecting actions on GUI in a point-and-click manner (for Testers).  Script: writing real scripts using Groovy (for Developers).  All methods output the same content interchangeably at any point of time.  Manual and Script Modes are equally powerful.  Test Case are Groovy scripts behind the scene.  Groovy is Java-based language, suitable for complex implementation.  Groovy supplements Java syntax with intuitive structures.  Testers can write script without hassles of Java syntax.
  • 16. Test Cases - Record tool  Works on Chrome, Firefox, and IE.
  • 17. Test Cases - Manual Mode
  • 18. Test Cases - Script Mode
  • 19. Test Cases - Script Mode (Debug)
  • 20. Better Test Cases  Ensure pre- & post-conditions with @SetUp and @TearDown.  Annotate steps with Gherkin-style language to improve expressiveness.  Organize Test Cases into Test Suites for flexible execution.  Parameterize Test Cases with Test Data to avoid duplicates.  Decouple AUT’s business and implementation with Object Repository (Page Object Pattern).  Eliminate duplication using Call Test Case.
  • 21. Better Test Cases - Test Data
  • 22. Execution  Available in GUI for development and CLI for CI integration.  Execute against multiple environments: Chrome, Firefox, IE, Edge, Safari, Headless, Selenium Grid, Android, iOS, Cloud Services (e.g. Sauce Labs, BrowserStack, Kobiton).  Extensive logs, screenshots, and context information to assist failure analysis.  Integration with JIRA to speed up defect reporting and avoid missing data.  Integration with qTest for overall quality reports and sophisticated test management.
  • 27. Execution – JIRA integration
  • 28. Collaboration  Built-in Git supports for reviewing history and merging changes.  Activities can be published to Slack for discussion.
  • 31. Extension Points – Custom Keywords  Actions set can be extended via Custom (user defined) Keywords.  Keywords are normal programming methods without any limitations.  Custom Keywords can be used in both Manual and Script Modes.
  • 32. References  Katalon Studio homepage – https://katalon.com.  Katalon Studio documentation - https://docs.katalon.com.  Test Automation Framework Designs (by Sauce Labs) - https://www.slideshare.net/saucelabs/test-automation-framework-designs.