Fundamentals of Test Automation
Fundamentals of Test Automation
Test Automation
QA & SQA
Quang Le
Agenda
Course Objective What is Test Automation? Analysis & Design Lessons learned
Learning Method Why do we need Test Automation? Planning How to master test automation
Test Automation Tool Landscape Framework Implementation Summary & Review
Test Script Development
On-going Development
Objectives
Slow to run
Workf
low
The use of software Tests Less brittle
(via UI)
or tools to perform Easier maintenance
Acceptance Tests
the checking Faster Feedback
(API/service layer)
Improved Testing
Productivity: Test suites Increased Reusability:
can be run earlier and
nightly; run tests more
often
ROI Test can be run across
different platforms &
environments; consistent
repeatable testing
3
• Framework Implementation
4
• Test Script Development
5
• On-going Development
Analysis & Design
Clean
Traits Well-structured
Consistent
Building Test Frameworks
Benefits
Linear FW
Test Library Architecture FW
Common Usages Data-Driven FW • Maintainability: Reduce
Keyword-Driven FW maintenance cost
Hybrid Test FW
• Productivity: reuse, run
fast, scalability, etc.
Target team with coding skill level • Resource Allocation:
Key points
Time & budget constraints Provide a non-technical
Framework feature needs
Current good practices
user interface
Goal: Reliable test, less brittle, faster execution & less maintenance
On-going Development
BASIC CONCEPTS
What? 1
Why? ACTIVITIES
Pyramid Test Analysis & Design
2 Planning
Framework Development
Script Development
PRACTICES
Tool Selection
Test Case Selection 3
Coding Standards
NON-STOP LEARNING
Object Identification
Passion with your career and keep self-
Test Scripts
4 improvement.
Q&A
Common Test Automation Framework
Linear FW
Data-Driven FW
Keyword-Driven FW
Test Scripts
Reusable actions
Libraries
Repeated use of Test Scripts with different Inputs and Response Data coming out of predefined Dataset
Create various keywords and associate a different action or function with each of these keywords. Then, create a
Function Library that contains the logic to read the keywords and call the associated action
1 2
SUT
Inside Framework & Tool
User-defined
Built-in Keywords,
Keywords,
Functions
Functions Repository