Automation-Testing
Automation-Testing
n Testing
PRESENTER
Ralph Carrao
Agenda
01
•Cucumber as a Test Framework •Selenium Essential •How to become a Full-Stack
02 03
Test Automation Engineer
•Introduction to
04
Decide on what to
05
•Test Automation Pyramid
automate •Test Automation Tools
06
Automation Testing
07
NEXT
01
INTRODUCTIONT
O AUTOMATION
TESTING
software testing
INTRODUCTION
NEXT
What is
Automation testing
NEXT
WhyAutomation
testing?
TestAutomation is the best way to
increase the effectiveness, test coverage,
And execution speed in software testing.
NEXT
ManualvsAutomatedtesting
Manual Testing
Automated Testing
Integrated Approach
Manual Testing is a type of software
Automation Testing is a software testing
A software testing technique that uses
testing in which test cases are executed
technique that performs using special
both the pros of automated and manual
manually by a tester without using any
automated testing software tools to
testing.
automated tools.
execute a test case suite.
NEXT
Automation
Testing
process
Step1)TestTool Selection
Step2)Definescopeof
Automation
Step3)Planning,Designand
Development
Step4)TestExecution
Step5)Maintenance
NEXT
Typesof
Automation
testing
NEXT
02
TEST
AUTOMATIO
N PYRAMID
PYRAMID
TEST
AUTOMATION
01
02
03
DECIDEWHAT
TOAUTOMAT
E
ATESTCASEBE
AUTOMATEDIF
•The task is going to be repeated. •It’s
going to save time.
•The requirements, the test, or the task
are low risk, stable, and unlikely to change
often.
•The test is subject to human error. •The
test is time-consuming. •The test has
significant downtime between steps.
•The test is repetitive.
NEXT
Testcaseprioritization
NEXT
TESTCASE
PRIORITIZATION
NEXT
04
TEST
AUTOMATIO
N TOOLS
TESTTOOL
SELECTIONPROCES
S (1)Licensingandsupportcosts
(2)Goodtestreports
(3)Training,documentation,tutorials,
guidelines
(4)CI,DevOpssupport
(5)Level ofprogrammingskillsrequired
(6)Level ofskillsandexperiencerequired
NEXT
PROSANDCONS
OFTESTTOOLS
NEXT
TYPESOFTEST
AUTOMATION
FRAMEWORK
S
NEXT
TYPESOFTESTAUTOMATION
FRAMEWORKS
NEXT
TESTAUTOMATIO
N ARCHITECTURE
NEXT
05
CUCUMBERA
S ATEST
FRAMEWORK
application. It allows automation of functional validation in
Cucumber tool
easily readable and understandable format (like plain English) to
Business Analysts, Developers, Testers, etc.
introduction
A cucumber is a tool based on Behavior Driven Development (BDD)
framework which is used to write acceptance tests for the web
Gherkinkeywords •Background = Test
preconditions for
Gherkin uses a set of special keywords to give
structure and meaning to executable specifications.
all scenarios
Each keyword is translated to many spoken languages; •Given = Test preconditions
in this reference we’ll use English.
•When = Action/Execution •Then =
•Feature = Test suite
Expected result •And = Additional
•Scenario = Test case
test constructs
Testcasecreationprocess
Features
Functionality
Current page
Similarity of the test cases
under a test suite
Below the Feature keyword
is the Description, this is
needed for the feature file
to have a more detailed
explanation.
Multi-platform test case
Scenarios
This is considered as the
test case name
No templates for the part of
the feature file
Test
steps
Always write the steps
from your perspective.
Always use the pronoun
“I” after the keyword
unless it’s a grammatical
error or it doesn’t make
sense to use it in a step.
Avoidunnecessaryphras
es •Don’t include phrases that are not related to the action performed.
Don’tcompress
stepsunderonestep•Avoid compressing
multiple-step under one step.
Summarizethestepsasmuchaspossible
•The test case should be still understandable to both manual and automation testers.
06
SELENIUM
ESSENTIA
L
WHATIS
SELENIU
M?
ARCHITECHTURE
LOCATORS
BASICSELENIUM COMMANDS
•Fetching a web page
driver.get("www.mstconnectph.com")
BASICSELENIUM
driver.navigate().to("https://www.mstconnectph.com/");
•Locating an element
driver.findElement(By.id(“id"));
COMMANDS
•Sending user input •Click
driver.findElement(By.id(“id")).sendKeys(“Sample Text"); driver.findElement(By.id(“id")).click();
•Refresh webpage
driver.navigate().refresh();
•Close browser
driver.close();
•Close driver •Moving between Frames
driver.quit(); driver.switchTo().frame("frameName");
•Navigating forward
driver.navigate().forward();
•Refresh webpage
driver.navigate().refresh();
COMMANDS driver.close();
ThankYo u
•MST CONNECT
•Facebook:
https://www.facebook.co m/mstconnectph/
•Instagram:
https://www.instagram.co m/mstconnectph/
•LinkedIn:
https://ph.linkedin.com/in /mstconnect
consultancy
•RALPH CARRAO
•LinkedIn:
https://ph.linkedin.com/in /ralph-justin-
carrao 463b23103