SlideShare a Scribd company logo
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!

More Related Content

What's hot

Automation Testing of Shadow DOM Elements with Katalon Studio
Automation Testing of Shadow DOM Elements with Katalon StudioAutomation Testing of Shadow DOM Elements with Katalon Studio
Automation Testing of Shadow DOM Elements with Katalon Studio
Katalon Studio
 
Test Case Creation in Katalon Studio
Test Case Creation in Katalon StudioTest Case Creation in Katalon Studio
Test Case Creation in Katalon Studio
RapidValue
 
[Infographic] Challenges in Test Automation
[Infographic] Challenges in Test Automation [Infographic] Challenges in Test Automation
[Infographic] Challenges in Test Automation
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
Katalon Studio
 
Building a Test Automation Strategy for Success
Building a Test Automation Strategy for SuccessBuilding a Test Automation Strategy for Success
Building a Test Automation Strategy for Success
Lee Barnes
 
API Testing With Katalon Studio
API Testing With Katalon StudioAPI Testing With Katalon Studio
API Testing With Katalon Studio
Knoldus Inc.
 
Test Automation Tool comparison – HP UFT/QTP vs. Selenium
Test Automation Tool comparison –  HP UFT/QTP vs. SeleniumTest Automation Tool comparison –  HP UFT/QTP vs. Selenium
Test Automation Tool comparison – HP UFT/QTP vs. Selenium
Aspire Systems
 
Understanding Unit Testing
Understanding Unit TestingUnderstanding Unit Testing
Understanding Unit Testing
ikhwanhayat
 
Test Automation and Selenium
Test Automation and SeleniumTest Automation and Selenium
Test Automation and Selenium
Karapet Sarkisyan
 
Automation Testing using Selenium
Automation Testing using SeleniumAutomation Testing using Selenium
Automation Testing using Selenium
Naresh Chintalcheru
 
Test Automation Framework Design | www.idexcel.com
Test Automation Framework Design | www.idexcel.comTest Automation Framework Design | www.idexcel.com
Test Automation Framework Design | www.idexcel.com
Idexcel Technologies
 
Codeless Test Automation - A Webinar Presentation
Codeless Test Automation - A Webinar PresentationCodeless Test Automation - A Webinar Presentation
Codeless Test Automation - A Webinar Presentation
Inflectra
 
Hybrid Automation Framework Development introduction
Hybrid Automation Framework Development introductionHybrid Automation Framework Development introduction
Hybrid Automation Framework Development introduction
Ganuka Yashantha
 
What is JUnit? | Edureka
What is JUnit? | EdurekaWhat is JUnit? | Edureka
What is JUnit? | Edureka
Edureka!
 
An overview of selenium webdriver
An overview of selenium webdriverAn overview of selenium webdriver
An overview of selenium webdriver
Anuraj S.L
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework Designs
Sauce Labs
 
Robot Framework Introduction
Robot Framework IntroductionRobot Framework Introduction
Robot Framework Introduction
Pekka Klärck
 
Test Automation
Test AutomationTest Automation
Test Automation
rockoder
 
Introduction to selenium
Introduction to seleniumIntroduction to selenium
Introduction to selenium
Archana Krushnan
 
Automation Testing With Appium
Automation Testing With AppiumAutomation Testing With Appium
Automation Testing With Appium
Knoldus Inc.
 

What's hot (20)

Automation Testing of Shadow DOM Elements with Katalon Studio
Automation Testing of Shadow DOM Elements with Katalon StudioAutomation Testing of Shadow DOM Elements with Katalon Studio
Automation Testing of Shadow DOM Elements with Katalon Studio
 
Test Case Creation in Katalon Studio
Test Case Creation in Katalon StudioTest Case Creation in Katalon Studio
Test Case Creation in Katalon Studio
 
[Infographic] Challenges in Test Automation
[Infographic] Challenges in Test Automation [Infographic] Challenges in Test Automation
[Infographic] Challenges in Test Automation
 
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
 
Building a Test Automation Strategy for Success
Building a Test Automation Strategy for SuccessBuilding a Test Automation Strategy for Success
Building a Test Automation Strategy for Success
 
API Testing With Katalon Studio
API Testing With Katalon StudioAPI Testing With Katalon Studio
API Testing With Katalon Studio
 
Test Automation Tool comparison – HP UFT/QTP vs. Selenium
Test Automation Tool comparison –  HP UFT/QTP vs. SeleniumTest Automation Tool comparison –  HP UFT/QTP vs. Selenium
Test Automation Tool comparison – HP UFT/QTP vs. Selenium
 
Understanding Unit Testing
Understanding Unit TestingUnderstanding Unit Testing
Understanding Unit Testing
 
Test Automation and Selenium
Test Automation and SeleniumTest Automation and Selenium
Test Automation and Selenium
 
Automation Testing using Selenium
Automation Testing using SeleniumAutomation Testing using Selenium
Automation Testing using Selenium
 
Test Automation Framework Design | www.idexcel.com
Test Automation Framework Design | www.idexcel.comTest Automation Framework Design | www.idexcel.com
Test Automation Framework Design | www.idexcel.com
 
Codeless Test Automation - A Webinar Presentation
Codeless Test Automation - A Webinar PresentationCodeless Test Automation - A Webinar Presentation
Codeless Test Automation - A Webinar Presentation
 
Hybrid Automation Framework Development introduction
Hybrid Automation Framework Development introductionHybrid Automation Framework Development introduction
Hybrid Automation Framework Development introduction
 
What is JUnit? | Edureka
What is JUnit? | EdurekaWhat is JUnit? | Edureka
What is JUnit? | Edureka
 
An overview of selenium webdriver
An overview of selenium webdriverAn overview of selenium webdriver
An overview of selenium webdriver
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework Designs
 
Robot Framework Introduction
Robot Framework IntroductionRobot Framework Introduction
Robot Framework Introduction
 
Test Automation
Test AutomationTest Automation
Test Automation
 
Introduction to selenium
Introduction to seleniumIntroduction to selenium
Introduction to selenium
 
Automation Testing With Appium
Automation Testing With AppiumAutomation Testing With Appium
Automation Testing With Appium
 

Similar to 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_QA
Felix Ramos
 
Abhiram_Bharadwaj_Resume -Both
Abhiram_Bharadwaj_Resume -BothAbhiram_Bharadwaj_Resume -Both
Abhiram_Bharadwaj_Resume -Both
Abhiram Bharadwaj
 
SUNIL_Senior_Test_Analyst
SUNIL_Senior_Test_AnalystSUNIL_Senior_Test_Analyst
SUNIL_Senior_Test_Analyst
Sunil Deva
 
Rajiv Profile
Rajiv ProfileRajiv Profile
Rajiv Profile
Rajiv Joseph
 
Stepin evening presented
Stepin evening presentedStepin evening presented
Stepin evening presented
Vijayan Reddy
 
Resume_0.2
Resume_0.2Resume_0.2
Priyanka cv
Priyanka cvPriyanka cv
Priyanka cv
Priyanka Verma
 
MD Tareque Automation
MD Tareque AutomationMD Tareque Automation
MD Tareque Automation
MD Tareque
 
XML2Selenium Technical Presentation
XML2Selenium Technical PresentationXML2Selenium Technical Presentation
XML2Selenium Technical Presentation
jazzteam
 
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 CI
Mykola Kovsh
 
Animesh Chatterjee
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...
DevDay Da Nang
 
Choosing right-automation-tool
Choosing right-automation-toolChoosing right-automation-tool
Choosing right-automation-tool
BabuDevanandam
 
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
pcloudy2
 
Ashley Kevorkian.Selenium
Ashley Kevorkian.SeleniumAshley Kevorkian.Selenium
Ashley Kevorkian.Selenium
Ashley Kevorkian
 
Rajiv Profile_Sept_2016
Rajiv Profile_Sept_2016Rajiv Profile_Sept_2016
Rajiv Profile_Sept_2016
Rajiv Joseph
 
Smart acceptance GUI tests with Selenium
Smart acceptance GUI tests with SeleniumSmart acceptance GUI tests with Selenium
Smart acceptance GUI tests with Selenium
Denys Zaiats
 
Prakasha_Resume
Prakasha_ResumePrakasha_Resume
Prakasha_Resume
Prakash10081979
 
Sunitha_CV
Sunitha_CVSunitha_CV
Sunitha_CV
sunitharani
 

Similar to 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
 

Recently uploaded

Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
DianaGray10
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Principle of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptxPrinciple of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptx
BibashShahi
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
operationspcvita
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
Edge AI and Vision Alliance
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
Safe Software
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
c5vrf27qcz
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
Alex Pruden
 

Recently uploaded (20)

Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Principle of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptxPrinciple of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptx
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
 

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.