SlideShare a Scribd company logo
1 of 53
Download to read offline
Functional &
Non-functional Test
Automation
Dr Ganesh Neelakanta Iyer
QA Architect
GANESHNIYER
gaiyer@progress.com
http://ganeshniyer.com
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.2
About Me
GANESHNIYER
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.3
Quick Poll
Do you have some test
automation in place for your
testing?
Do you have required functional
test automation in place?
Do you have test automation for
functional and non-functional
(performance, load, scalability,
security, …) pieces of testing?
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.7
Agenda
 Goal of successful automation
 Types of test automation frameworks
 Functional Test automation
 Non-Functional test automation – Major types
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.8
Goals of Successful Automation
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.9
The Goal: Successful Automation
 Suggestions:
• Automate the ‘Right’ Test Cases
• Test Early / Test Often
• Define Quality Test Data
• Design Automated Tests that can resist change
• Selecting the right Automation Tool
Graphic from qatestlab.com
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.10
Automate the ‘Right’ Test Cases
• Repetitively Run Tests (aka Smoke
or Acceptance tests)
• Data intensive tests
• Frequently Used Functionality
• High Risk, Business-critical
functionality
• Tests that are difficult to run
manually
• Tests that are run on differing
hardware/software platforms and
configurations
• Tests that take a lot of effort or
time
Graphic from qatestlab.com
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.11
Test Early / Test Often
 Start as early in the process as possible
– Could start with Automated Unit testing
– Gradually build your Automation Suite
 The more you test, the more bugs you find.
 The earlier bugs are found the cheaper they are to fix!
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.12
Define Quality Test Data
 With good data…
– Writing and Maintaining Automated tests is easier.
– With Data driven tests you can run more iterations and find more bugs!
– Can extend existing Automated tests as new features are developed – without
having to edit the actual automated test itself.
– Stay proactive in updating/defining data.
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.13
Automation Approach
 Keep Automated tests small and focused
– Easy to debug
– Easy to manage
– Can be reused and shared
 These can then be grouped into a larger Automated test suite organized by
functional area.
 With the right framework, users can create large/complex Automated tests that are
also easy to maintain!
Graphic from checkpointech.com
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.14
Design Automated Tests Resistant to Change
 If possible, avoid using screen coordinates.
 Componentize your test scripts
 Ensure that your development team uses unique names for each control and
object!
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.15
How long do Automated Tests Last?
 At some point, the application will change and the script will break.
• If you are using GUI Capture/Playback a major revision to the UI may break your tests.
 If the script breaks before the automation effort was repaid, it is better off as a manual
test.
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.16
Selecting the ‘‘Right” Automation Tool
Can be used by business users
No programming skills required
Simple
Automate 60-70% of core
business processes in a few days
Rapid return on investment
Fast
When underlying applications change,
automation continues to work
Simple maintenance of your
business process portfolio
Resilient
True end-to-end business process validation
covering all major technologies and platforms
Complete
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.17
Return On Investment (ROI)
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.18
Classic ROI Calculation
ROI = BENEFIT/COST
Automation Cost = Price Of HW + Price of SW + Development Cost +
Maintenance Cost + Execution Cost
Manual Testing Cost = Development Cost + Maintenance Cost +
Execution Cost
ROI = (Manual Testing Cost - Automation Cost)/Automation Cost
Looks right, isn’t it?
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.19
Problems with Classic ROI Calculation
 You can’t compare Automated Testing and Manual Testing. There
are not the same
 You can’t compare cost of multiple execution of automated tests vs.
manual tests. You would never dream of executing that many test
cases manually.
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.20
Automation Real ROI
 ROI value IS NOT the value of Automation vs. Cost of executing
these tests manually
 Automation ROI value IS the benefit of this type of testing, and it
can be:
 Reducing Time to Market
 Increased Test Efficiency (Productivity)
 Increased Test Effectiveness
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.21
Types of test automation
frameworks
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.22
Types of Test Automation Frameworks
Modular Data-Driven
Keyword–Driven Model-Based
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.23
Modular framework
 The Modular framework is the natural progression from Record-and-
Playback
 The modular framework seeks to minimize this repetition of code by
grouping similar actions into “modules” (e.g.: login)
 Test Data is in a script
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.24
Data-Driven/Keyword Driven
 These frameworks are similar in that the data is separated from the test
script
 The script is just a "driver" or delivery mechanism for the data.
 The difference:
• In keyword-driven testing, the navigation data and test data are contained in the data
source
• In data-driven testing, only test data is contained in the data source.
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.25
Model-Based testing
 Model-based testing is software testing in which test cases are derived
in whole or in part from a model that describes some (usually functional)
aspects of the system.
 Model-based testing for complex software systems is still an evolving
field.
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.26
Functional test automation
Typically what we speak about
is all about functional
automation
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.28
Functional Testing
Web
 Telerik Test
Studio
 Sahi
 Selenium
 Sikuli
Web Mobile
Desktop Backend
Mobile
 Mobile Test
Studio
 Telerik
DeviceCloud
 Appium
Desktop
 QTP
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.29
Testing Mobile Apps in Cloud
Telerik DeviceCloud
>300
29
27
Devices
Manufacturers
OS versions
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.30
Compatibility Testing; Web, Device, OS, DB,….
Automation:
 Telerik Test
Studio
 Telerik
DeviceCloud
 Sahi
 Selenium
Compatibility
Testing
Accessibility
testing
Globalization and
localization testing
Compatibility
under different
situations
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.31
Non-Functional test automation –
Major types
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.32
Major Non-functional test dimensions in a Nut-shell
Non-
functional
Security
API
Connectivity
PerformanceResilience
Integration
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.33
Security
Security
Traversal
vulnerability
User access/ roles
Identity federation
management
Multi-tenant
penetration
User
Access /
Roles
Web UI
Security
Multi-
Tenant
DB
Vulnerabilities
Automation:
 Veracode
 Websecurify
 ZAP tool
 Scripts
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.34
Security at various stages
Planning
Architecture
and Design
Implementation
Level
Whitebox
testing
Blackbox
testing
Reviews
Code Doc Log Regional Security Compliance Ruleset System Config Network Sniffing File Integrity Checking
PO/
PM
QA
Dev Architect
/ Lead
Dev QA QA
Dev QA QADev Architect
/ Lead
Dev Architect
/ Lead
QA
Different components of each aspect- what needs to be tested/assured
Security
protection
methods
Authentication
Access Control
Cryptography
Firewall, Anti-virus
etc
Secured
Infrastructure
Web Security
URL Manipulation
SQL Injection,
Other injection
attacks
Session fixation,
XSS
API Security
Testing
Cloud
Security
Multi-tenant
penetration (for
ISVs)
Data protection in
Cloud
Cloud Identity
Management
Cloud Infrastructure
security
Database
Security
Reliability and
Integrity
DB Disclosure
Security in data
mining
Data security
Vulnerabilities
and attacks
Network, Memory-
related, Metadata
injection
Traversal
vulnerability
DoS/DDoS attacks
Encryption in
networks/browsers
Programmed
Injection
Privacy, Legal
issues and
Ethics
Web privacy
Law and
Compliance
Email security
Ethical issues
Emerging
Technologies
and Security
Aspects
Mobile App
Mobile Web
IoT sensors
Information Security
Security Issues within the code
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.36
How we plan?– Four types of activities
High-level test approach and test execution frequency
QA Reviews
• Doc Review
• Code Review
Static Analysis (Whitebox Testing)
•Analyze source for security vulnerabilities typically at the
programming and/or testing software life cycle (SLC)
phases
Service Level Dynamic Testing
• Test the run time services exposed by applications
for various security testing
Business Level Dynamic Testing
•Application Runtime analysis, E2E business use
cases
To happen regularly on
a scheduled manner
For short releases 
Once in the release
For long releases, 2-3
times during the
release cycle
Sanity Suite to run on
Continuous Integration
Automate the cases
and run once in a
sprint
Automate and run once
in a sprint
Use tools for scanning
1-3 times based on
release cycle
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.38
API Invocation
API
Invocation
Connectivity and
invocation
API load
API security
Multi-tenancy
Automation:
 SoapUI
 Node.js
 PySys
 In-house
Frameworks
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.39
High Availability (HA) and Performance Testing
Automation:
 Telerik Test
Studio
 NeoLoad
 JMeter
HA &
Performance
Time to deploy
Multi-tenancy
Latency
Connectivity and
reliability with
3rd parties
Reliability and
availability
HA/
Performance
Testing
Availability
24 x 7 –
Endurance
Reliability
Latency
Stress
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.40
24 x 7 Testing
VMs / Build Integration Machines
ANT ScriptTests
Reports using
Kendo UI controls
Decides
parallelism
HTTP POST reqBatch
Script
Decides
frequency
Logs
SUT
Uses any test
environments
and leverage
existing tests
Batch Script
Decides the
frequency
ANT Script
We configure
#Threads,
#Tests to run in
parallel
Reports
Shown using
Keno UI
controls /
widgets
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.41
Resilience and Failover
Ability of a server, network, storage
system, or an entire data center, to
continue operating even when there has
been an equipment failure, power
outage or other disruption
Software
error
Hardware
error
Human
error
Natural
Disaster
Picture Credit: http://imperfectspirituality.com/wp-content/uploads/2012/08/Moving-
mountains-with-resilience.jpg
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.42
Resilience and Failover
Resilience
Making one
instance down
Making multiple
instances down
Disaster Recovery
Application
Interface
(UI / API)
IaaS
Logs
ELB
HA Instance 2Stubs for
3rd Parties
HA Instance 1
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.43
Integration
Integration
P2P Integration
System
Integration
End-to-End
Integration
SSO
Customer
Scenarios
Picture Credit: http://goo.gl/wgNKi3
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.44
A Typical Integration Scenario in Progress
OpenEdge DB
OData
OData REST
Service
Telerik
Mobile
QA Dashboard App
DMZ REST
Wrapper
REST Service
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.45
Typical End-to-End Scenario
Registration
Land on
product
dashboard
Click on
subscription
details
Choose a
plan
Checkout
process
Generate
invoice
Product
usage
Log-out
LDAP Community
Export Compliance,
Marketing
Marketing,
Billing,
Support
Billing,
Invoicing
LDAP
Billing
Metering
Billing
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.46
Integration Test Challenges and Approaches
Multiple systems behave differently
No automated deletion of test data in some systems
Unpredictable delays in updating various systems
Different types of environments for testing
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.47
Integration Test Automation With Cloud
Telerik Test Studio as the UI framework, C# as the Runtime framework
Output
Repository
Test
Manager
Test
Logger
Run Time Test
Framework
API Calls
UI
Framework
Stubs for
3rd Parties
Test Repository
 Test suite
 Libraries (APIs)
Product
1
Product
2
Product
3
There are much more…
Internationalization Localization
Hot-Upgrade Multi-tenancy
Backward
Compatibility
Limits
Migration Installation
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.51
Major Test Dimensions in a Nut Shell
Security Performance
Resilience &
Failover
Compatibility
API
Connectivity
Integration
Traversal
vulnerability
Time to deploy
Making one
instance down
Accessibility
Connectivity and
invocation
P2P Integration
User access/ roles Multi-tenancy
Making multiple
instances down
Globalization and
localization
API load
System
Integration
Identity federation
management
Latency Disaster Recovery
Compatibility
under different
situations
API security
End-to-End
Integration
Multi-tenant
penetration
Connectivity and
reliability with
3rd parties
Multi-tenancy SSO
Reliability and
availability
Customer
Scenarios
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.52
Automation Frameworks
Telerik Test Studio, Telerik DeviceCloud
Sahi / Selenium scripts
Telerik Test Studio for Load / Performance Testing
Neoload, JMeter
SOAP UI / Node.js / PySys
Telerik Test Studio (with C#)
TestNG + Java + Sahi combined approach
Integration
Functional
(Web/Mobile UI)
Performance
API Invocation
Veracode, Websecurify, ZAP ToolSecurity
gaiyer@progress.com
http://ganeshniyer.com
GANESHNIYER

More Related Content

What's hot

An Essential Guide to Effective Test Automation Leveraging Open Source
An Essential Guide to Effective Test Automation Leveraging Open SourceAn Essential Guide to Effective Test Automation Leveraging Open Source
An Essential Guide to Effective Test Automation Leveraging Open SourceRapidValue
 
Test Automation and Continuous Integration
Test Automation and Continuous Integration Test Automation and Continuous Integration
Test Automation and Continuous Integration TestCampRO
 
Dev ops and safety critical systems
Dev ops and safety critical systemsDev ops and safety critical systems
Dev ops and safety critical systemsLen Bass
 
DevOps and the Case for ROI to Executives
DevOps and the Case for ROI to ExecutivesDevOps and the Case for ROI to Executives
DevOps and the Case for ROI to ExecutivesIBM UrbanCode Products
 
DevOps in Cloud OSLC Integration
DevOps in Cloud OSLC IntegrationDevOps in Cloud OSLC Integration
DevOps in Cloud OSLC IntegrationSteve Speicher
 
Infrastructure as Code Maturity Model v1
Infrastructure as Code Maturity Model v1Infrastructure as Code Maturity Model v1
Infrastructure as Code Maturity Model v1Gary Stafford
 
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...Perforce
 
Deployability
DeployabilityDeployability
DeployabilityLen Bass
 
10 Things You Might Not Know: Continuous Integration
10 Things You Might Not Know: Continuous Integration10 Things You Might Not Know: Continuous Integration
10 Things You Might Not Know: Continuous IntegrationCoveros, Inc.
 
Leading the Transformation: Applying DevOps and Agile Principles at Scale
Leading the Transformation:  Applying DevOps and Agile Principles at ScaleLeading the Transformation:  Applying DevOps and Agile Principles at Scale
Leading the Transformation: Applying DevOps and Agile Principles at ScaleIBM UrbanCode Products
 
Performance Testing
Performance TestingPerformance Testing
Performance TestingSelin Gungor
 
TechTalk 2021: Peran IT Security dalam Penerapan DevOps
TechTalk 2021: Peran IT Security dalam Penerapan DevOpsTechTalk 2021: Peran IT Security dalam Penerapan DevOps
TechTalk 2021: Peran IT Security dalam Penerapan DevOpsDicodingEvent
 
Choosing right-automation-tool
Choosing right-automation-toolChoosing right-automation-tool
Choosing right-automation-toolBabuDevanandam
 

What's hot (20)

An Essential Guide to Effective Test Automation Leveraging Open Source
An Essential Guide to Effective Test Automation Leveraging Open SourceAn Essential Guide to Effective Test Automation Leveraging Open Source
An Essential Guide to Effective Test Automation Leveraging Open Source
 
Continuous Delivery Maturity Model
Continuous Delivery Maturity ModelContinuous Delivery Maturity Model
Continuous Delivery Maturity Model
 
Test Automation and Continuous Integration
Test Automation and Continuous Integration Test Automation and Continuous Integration
Test Automation and Continuous Integration
 
Dev ops and safety critical systems
Dev ops and safety critical systemsDev ops and safety critical systems
Dev ops and safety critical systems
 
DevOps and the Case for ROI to Executives
DevOps and the Case for ROI to ExecutivesDevOps and the Case for ROI to Executives
DevOps and the Case for ROI to Executives
 
DevOps in Cloud OSLC Integration
DevOps in Cloud OSLC IntegrationDevOps in Cloud OSLC Integration
DevOps in Cloud OSLC Integration
 
Infrastructure as Code Maturity Model v1
Infrastructure as Code Maturity Model v1Infrastructure as Code Maturity Model v1
Infrastructure as Code Maturity Model v1
 
What is DevOps?
What is DevOps?What is DevOps?
What is DevOps?
 
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
 
Continuous Integration & the Release Maturity Model
Continuous Integration & the Release Maturity Model Continuous Integration & the Release Maturity Model
Continuous Integration & the Release Maturity Model
 
Deployability
DeployabilityDeployability
Deployability
 
kishore
kishorekishore
kishore
 
From ci to cd
From ci to cdFrom ci to cd
From ci to cd
 
10 Things You Might Not Know: Continuous Integration
10 Things You Might Not Know: Continuous Integration10 Things You Might Not Know: Continuous Integration
10 Things You Might Not Know: Continuous Integration
 
Leading the Transformation: Applying DevOps and Agile Principles at Scale
Leading the Transformation:  Applying DevOps and Agile Principles at ScaleLeading the Transformation:  Applying DevOps and Agile Principles at Scale
Leading the Transformation: Applying DevOps and Agile Principles at Scale
 
Designing Scalable Applications
Designing Scalable ApplicationsDesigning Scalable Applications
Designing Scalable Applications
 
Performance Testing
Performance TestingPerformance Testing
Performance Testing
 
TechTalk 2021: Peran IT Security dalam Penerapan DevOps
TechTalk 2021: Peran IT Security dalam Penerapan DevOpsTechTalk 2021: Peran IT Security dalam Penerapan DevOps
TechTalk 2021: Peran IT Security dalam Penerapan DevOps
 
Choosing right-automation-tool
Choosing right-automation-toolChoosing right-automation-tool
Choosing right-automation-tool
 
An introduction to DevOps
An introduction to DevOpsAn introduction to DevOps
An introduction to DevOps
 

Viewers also liked

Docker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containersDocker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containersDr Ganesh Iyer
 
Functional testing the_good_the_bad_and_the_ugly
Functional testing the_good_the_bad_and_the_uglyFunctional testing the_good_the_bad_and_the_ugly
Functional testing the_good_the_bad_and_the_uglyJohn Ferguson Smart Limited
 
functional testing
functional testing functional testing
functional testing bharathanche
 
Non-Functional testing
Non-Functional testingNon-Functional testing
Non-Functional testingKanoah
 
Functionality testing techniqu
Functionality testing techniquFunctionality testing techniqu
Functionality testing techniqugaoliang641
 
Fast ALS-Based Matrix Factorization for Recommender Systems
Fast ALS-Based Matrix Factorization for Recommender SystemsFast ALS-Based Matrix Factorization for Recommender Systems
Fast ALS-Based Matrix Factorization for Recommender SystemsDavid Zibriczky
 
Test Automation
Test AutomationTest Automation
Test AutomationTomas Riha
 
API Test Automation Tips and Tricks
API Test Automation Tips and TricksAPI Test Automation Tips and Tricks
API Test Automation Tips and Trickstesthive
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation TestingArchana Krushnan
 
Openstack Nova and Quantum
Openstack Nova and QuantumOpenstack Nova and Quantum
Openstack Nova and QuantumDavid Lapsley
 
Measuring your way_to_successful_automation_webinar
Measuring your way_to_successful_automation_webinarMeasuring your way_to_successful_automation_webinar
Measuring your way_to_successful_automation_webinarSauce Labs
 
Cloud Security & Privacy Standard Slide
Cloud Security & Privacy Standard SlideCloud Security & Privacy Standard Slide
Cloud Security & Privacy Standard Slideacinfotec
 
C-SEC|2016 Session 2 The Security Game : You Failed at the Beginning By Incog...
C-SEC|2016 Session 2 The Security Game : You Failed at the Beginning By Incog...C-SEC|2016 Session 2 The Security Game : You Failed at the Beginning By Incog...
C-SEC|2016 Session 2 The Security Game : You Failed at the Beginning By Incog...acinfotec
 
Difference between functional testing and non functional testing
Difference between functional testing and non functional testingDifference between functional testing and non functional testing
Difference between functional testing and non functional testingpooja deshmukh
 
Laws of test automation framework
Laws of test automation frameworkLaws of test automation framework
Laws of test automation frameworkvodqancr
 
JUnit 5 - from Lambda to Alpha and beyond
JUnit 5 - from Lambda to Alpha and beyondJUnit 5 - from Lambda to Alpha and beyond
JUnit 5 - from Lambda to Alpha and beyondSam Brannen
 

Viewers also liked (20)

Docker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containersDocker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containers
 
Functional testing the_good_the_bad_and_the_ugly
Functional testing the_good_the_bad_and_the_uglyFunctional testing the_good_the_bad_and_the_ugly
Functional testing the_good_the_bad_and_the_ugly
 
functional testing
functional testing functional testing
functional testing
 
Non-Functional testing
Non-Functional testingNon-Functional testing
Non-Functional testing
 
Sikuli script
Sikuli scriptSikuli script
Sikuli script
 
Functionality testing techniqu
Functionality testing techniquFunctionality testing techniqu
Functionality testing techniqu
 
Fast ALS-Based Matrix Factorization for Recommender Systems
Fast ALS-Based Matrix Factorization for Recommender SystemsFast ALS-Based Matrix Factorization for Recommender Systems
Fast ALS-Based Matrix Factorization for Recommender Systems
 
Test Automation
Test AutomationTest Automation
Test Automation
 
API Test Automation Tips and Tricks
API Test Automation Tips and TricksAPI Test Automation Tips and Tricks
API Test Automation Tips and Tricks
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
 
Openstack Nova and Quantum
Openstack Nova and QuantumOpenstack Nova and Quantum
Openstack Nova and Quantum
 
Measuring your way_to_successful_automation_webinar
Measuring your way_to_successful_automation_webinarMeasuring your way_to_successful_automation_webinar
Measuring your way_to_successful_automation_webinar
 
Automation testing
Automation testingAutomation testing
Automation testing
 
Selenium Webdriver
Selenium WebdriverSelenium Webdriver
Selenium Webdriver
 
Cloud Security & Privacy Standard Slide
Cloud Security & Privacy Standard SlideCloud Security & Privacy Standard Slide
Cloud Security & Privacy Standard Slide
 
C-SEC|2016 Session 2 The Security Game : You Failed at the Beginning By Incog...
C-SEC|2016 Session 2 The Security Game : You Failed at the Beginning By Incog...C-SEC|2016 Session 2 The Security Game : You Failed at the Beginning By Incog...
C-SEC|2016 Session 2 The Security Game : You Failed at the Beginning By Incog...
 
Difference between functional testing and non functional testing
Difference between functional testing and non functional testingDifference between functional testing and non functional testing
Difference between functional testing and non functional testing
 
Frisby Api automation
Frisby Api automationFrisby Api automation
Frisby Api automation
 
Laws of test automation framework
Laws of test automation frameworkLaws of test automation framework
Laws of test automation framework
 
JUnit 5 - from Lambda to Alpha and beyond
JUnit 5 - from Lambda to Alpha and beyondJUnit 5 - from Lambda to Alpha and beyond
JUnit 5 - from Lambda to Alpha and beyond
 

Similar to Functional and Non-functional Test automation

Navigating Your Product's Growth with Embedded Analytics
Navigating Your Product's Growth with Embedded Analytics Navigating Your Product's Growth with Embedded Analytics
Navigating Your Product's Growth with Embedded Analytics Progress
 
A Complete Guide to Functional Testing
A Complete Guide to Functional TestingA Complete Guide to Functional Testing
A Complete Guide to Functional TestingMatthew Allen
 
A Complete Guide to Functional Testing
A Complete Guide to Functional TestingA Complete Guide to Functional Testing
A Complete Guide to Functional TestingAbhay Kumar
 
Regression Testing - A Complete Guide
Regression Testing - A Complete GuideRegression Testing - A Complete Guide
Regression Testing - A Complete GuideAbhay Kumar
 
Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...
Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...
Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...Emtec Inc.
 
Improving ROI with Scriptless Test Automation
Improving ROI with Scriptless Test AutomationImproving ROI with Scriptless Test Automation
Improving ROI with Scriptless Test AutomationMindfire LLC
 
Continuous Testing of Cloud Applications
Continuous Testing of Cloud ApplicationsContinuous Testing of Cloud Applications
Continuous Testing of Cloud ApplicationsTechWell
 
5 Key Steps to Effective SAP Testing
5 Key Steps to Effective SAP Testing  5 Key Steps to Effective SAP Testing
5 Key Steps to Effective SAP Testing Zoe Gilbert
 
Swiss Army Knife for Automation Testing
Swiss Army Knife for Automation TestingSwiss Army Knife for Automation Testing
Swiss Army Knife for Automation TestingAbhishek Kant
 
Everything You Need to Know About Regression Testing Automation.pdf
Everything You Need to Know About Regression Testing Automation.pdfEverything You Need to Know About Regression Testing Automation.pdf
Everything You Need to Know About Regression Testing Automation.pdfRohitBhandari66
 
Test Automation Interview Questions and Answers | Edureka
Test Automation Interview Questions and Answers | EdurekaTest Automation Interview Questions and Answers | Edureka
Test Automation Interview Questions and Answers | EdurekaEdureka!
 
Better Software East 2016: Evolving Automated to Continuous
Better Software East 2016: Evolving Automated to ContinuousBetter Software East 2016: Evolving Automated to Continuous
Better Software East 2016: Evolving Automated to ContinuousParasoft
 
SAP NetWeaver Application Server Add-On for Code Vulnerability Analysis Overview
SAP NetWeaver Application Server Add-On for Code Vulnerability Analysis OverviewSAP NetWeaver Application Server Add-On for Code Vulnerability Analysis Overview
SAP NetWeaver Application Server Add-On for Code Vulnerability Analysis OverviewSAP Technology
 
Automated Regression Testing that Ensures Continuous Performance.pptx
Automated Regression Testing that Ensures Continuous Performance.pptxAutomated Regression Testing that Ensures Continuous Performance.pptx
Automated Regression Testing that Ensures Continuous Performance.pptxCalidad Infotech
 
An Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdfAn Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdfKMSSolutionsMarketin
 
Automated software testing complete guide
Automated software testing complete guideAutomated software testing complete guide
Automated software testing complete guideTestingXperts
 

Similar to Functional and Non-functional Test automation (20)

Navigating Your Product's Growth with Embedded Analytics
Navigating Your Product's Growth with Embedded Analytics Navigating Your Product's Growth with Embedded Analytics
Navigating Your Product's Growth with Embedded Analytics
 
Continuous testing
Continuous testing Continuous testing
Continuous testing
 
A Complete Guide to Functional Testing
A Complete Guide to Functional TestingA Complete Guide to Functional Testing
A Complete Guide to Functional Testing
 
A Complete Guide to Functional Testing
A Complete Guide to Functional TestingA Complete Guide to Functional Testing
A Complete Guide to Functional Testing
 
Regression Testing - A Complete Guide
Regression Testing - A Complete GuideRegression Testing - A Complete Guide
Regression Testing - A Complete Guide
 
Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...
Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...
Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...
 
Improving ROI with Scriptless Test Automation
Improving ROI with Scriptless Test AutomationImproving ROI with Scriptless Test Automation
Improving ROI with Scriptless Test Automation
 
Continuous Testing of Cloud Applications
Continuous Testing of Cloud ApplicationsContinuous Testing of Cloud Applications
Continuous Testing of Cloud Applications
 
5 Key Steps to Effective SAP Testing
5 Key Steps to Effective SAP Testing  5 Key Steps to Effective SAP Testing
5 Key Steps to Effective SAP Testing
 
Future of QA
Future of QAFuture of QA
Future of QA
 
Futureofqa
FutureofqaFutureofqa
Futureofqa
 
Swiss Army Knife for Automation Testing
Swiss Army Knife for Automation TestingSwiss Army Knife for Automation Testing
Swiss Army Knife for Automation Testing
 
Everything You Need to Know About Regression Testing Automation.pdf
Everything You Need to Know About Regression Testing Automation.pdfEverything You Need to Know About Regression Testing Automation.pdf
Everything You Need to Know About Regression Testing Automation.pdf
 
Test Automation Interview Questions and Answers | Edureka
Test Automation Interview Questions and Answers | EdurekaTest Automation Interview Questions and Answers | Edureka
Test Automation Interview Questions and Answers | Edureka
 
Better Software East 2016: Evolving Automated to Continuous
Better Software East 2016: Evolving Automated to ContinuousBetter Software East 2016: Evolving Automated to Continuous
Better Software East 2016: Evolving Automated to Continuous
 
SAP NetWeaver Application Server Add-On for Code Vulnerability Analysis Overview
SAP NetWeaver Application Server Add-On for Code Vulnerability Analysis OverviewSAP NetWeaver Application Server Add-On for Code Vulnerability Analysis Overview
SAP NetWeaver Application Server Add-On for Code Vulnerability Analysis Overview
 
Automated Regression Testing that Ensures Continuous Performance.pptx
Automated Regression Testing that Ensures Continuous Performance.pptxAutomated Regression Testing that Ensures Continuous Performance.pptx
Automated Regression Testing that Ensures Continuous Performance.pptx
 
An Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdfAn Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdf
 
Automated software testing complete guide
Automated software testing complete guideAutomated software testing complete guide
Automated software testing complete guide
 
OMSOFTWARE NEW Service
OMSOFTWARE NEW ServiceOMSOFTWARE NEW Service
OMSOFTWARE NEW Service
 

More from Dr Ganesh Iyer

SRE Demystified - 16 - NALSD - Non-Abstract Large System Design
SRE Demystified - 16 - NALSD - Non-Abstract Large System DesignSRE Demystified - 16 - NALSD - Non-Abstract Large System Design
SRE Demystified - 16 - NALSD - Non-Abstract Large System DesignDr Ganesh Iyer
 
SRE Demystified - 14 - SRE Practices overview
SRE Demystified - 14 - SRE Practices overviewSRE Demystified - 14 - SRE Practices overview
SRE Demystified - 14 - SRE Practices overviewDr Ganesh Iyer
 
SRE Demystified - 13 - Docs that matter -2
SRE Demystified - 13 - Docs that matter -2SRE Demystified - 13 - Docs that matter -2
SRE Demystified - 13 - Docs that matter -2Dr Ganesh Iyer
 
SRE Demystified - 12 - Docs that matter -1
SRE Demystified - 12 - Docs that matter -1 SRE Demystified - 12 - Docs that matter -1
SRE Demystified - 12 - Docs that matter -1 Dr Ganesh Iyer
 
SRE Demystified - 01 - SLO SLI and SLA
SRE Demystified - 01 - SLO SLI and SLASRE Demystified - 01 - SLO SLI and SLA
SRE Demystified - 01 - SLO SLI and SLADr Ganesh Iyer
 
SRE Demystified - 11 - Release management-2
SRE Demystified - 11 - Release management-2SRE Demystified - 11 - Release management-2
SRE Demystified - 11 - Release management-2Dr Ganesh Iyer
 
SRE Demystified - 10 - Release management-1
SRE Demystified - 10 - Release management-1SRE Demystified - 10 - Release management-1
SRE Demystified - 10 - Release management-1Dr Ganesh Iyer
 
SRE Demystified - 09 - Simplicity
SRE Demystified - 09 - SimplicitySRE Demystified - 09 - Simplicity
SRE Demystified - 09 - SimplicityDr Ganesh Iyer
 
SRE Demystified - 07 - Practical Alerting
SRE Demystified - 07 - Practical AlertingSRE Demystified - 07 - Practical Alerting
SRE Demystified - 07 - Practical AlertingDr Ganesh Iyer
 
SRE Demystified - 06 - Distributed Monitoring
SRE Demystified - 06 - Distributed MonitoringSRE Demystified - 06 - Distributed Monitoring
SRE Demystified - 06 - Distributed MonitoringDr Ganesh Iyer
 
SRE Demystified - 05 - Toil Elimination
SRE Demystified - 05 - Toil EliminationSRE Demystified - 05 - Toil Elimination
SRE Demystified - 05 - Toil EliminationDr Ganesh Iyer
 
SRE Demystified - 04 - Engagement Model
SRE Demystified - 04 - Engagement ModelSRE Demystified - 04 - Engagement Model
SRE Demystified - 04 - Engagement ModelDr Ganesh Iyer
 
SRE Demystified - 03 - Choosing SLIs and SLOs
SRE Demystified - 03 - Choosing SLIs and SLOsSRE Demystified - 03 - Choosing SLIs and SLOs
SRE Demystified - 03 - Choosing SLIs and SLOsDr Ganesh Iyer
 
Machine Learning for Statisticians - Introduction
Machine Learning for Statisticians - IntroductionMachine Learning for Statisticians - Introduction
Machine Learning for Statisticians - IntroductionDr Ganesh Iyer
 
Making Decisions - A Game Theoretic approach
Making Decisions - A Game Theoretic approachMaking Decisions - A Game Theoretic approach
Making Decisions - A Game Theoretic approachDr Ganesh Iyer
 
Game Theory and Engineering Applications
Game Theory and Engineering ApplicationsGame Theory and Engineering Applications
Game Theory and Engineering ApplicationsDr Ganesh Iyer
 
Machine Learning and its Applications
Machine Learning and its ApplicationsMachine Learning and its Applications
Machine Learning and its ApplicationsDr Ganesh Iyer
 
How to become a successful entrepreneur
How to become a successful entrepreneurHow to become a successful entrepreneur
How to become a successful entrepreneurDr Ganesh Iyer
 
Dockers and kubernetes
Dockers and kubernetesDockers and kubernetes
Dockers and kubernetesDr Ganesh Iyer
 

More from Dr Ganesh Iyer (20)

SRE Demystified - 16 - NALSD - Non-Abstract Large System Design
SRE Demystified - 16 - NALSD - Non-Abstract Large System DesignSRE Demystified - 16 - NALSD - Non-Abstract Large System Design
SRE Demystified - 16 - NALSD - Non-Abstract Large System Design
 
SRE Demystified - 14 - SRE Practices overview
SRE Demystified - 14 - SRE Practices overviewSRE Demystified - 14 - SRE Practices overview
SRE Demystified - 14 - SRE Practices overview
 
SRE Demystified - 13 - Docs that matter -2
SRE Demystified - 13 - Docs that matter -2SRE Demystified - 13 - Docs that matter -2
SRE Demystified - 13 - Docs that matter -2
 
SRE Demystified - 12 - Docs that matter -1
SRE Demystified - 12 - Docs that matter -1 SRE Demystified - 12 - Docs that matter -1
SRE Demystified - 12 - Docs that matter -1
 
SRE Demystified - 01 - SLO SLI and SLA
SRE Demystified - 01 - SLO SLI and SLASRE Demystified - 01 - SLO SLI and SLA
SRE Demystified - 01 - SLO SLI and SLA
 
SRE Demystified - 11 - Release management-2
SRE Demystified - 11 - Release management-2SRE Demystified - 11 - Release management-2
SRE Demystified - 11 - Release management-2
 
SRE Demystified - 10 - Release management-1
SRE Demystified - 10 - Release management-1SRE Demystified - 10 - Release management-1
SRE Demystified - 10 - Release management-1
 
SRE Demystified - 09 - Simplicity
SRE Demystified - 09 - SimplicitySRE Demystified - 09 - Simplicity
SRE Demystified - 09 - Simplicity
 
SRE Demystified - 07 - Practical Alerting
SRE Demystified - 07 - Practical AlertingSRE Demystified - 07 - Practical Alerting
SRE Demystified - 07 - Practical Alerting
 
SRE Demystified - 06 - Distributed Monitoring
SRE Demystified - 06 - Distributed MonitoringSRE Demystified - 06 - Distributed Monitoring
SRE Demystified - 06 - Distributed Monitoring
 
SRE Demystified - 05 - Toil Elimination
SRE Demystified - 05 - Toil EliminationSRE Demystified - 05 - Toil Elimination
SRE Demystified - 05 - Toil Elimination
 
SRE Demystified - 04 - Engagement Model
SRE Demystified - 04 - Engagement ModelSRE Demystified - 04 - Engagement Model
SRE Demystified - 04 - Engagement Model
 
SRE Demystified - 03 - Choosing SLIs and SLOs
SRE Demystified - 03 - Choosing SLIs and SLOsSRE Demystified - 03 - Choosing SLIs and SLOs
SRE Demystified - 03 - Choosing SLIs and SLOs
 
Machine Learning for Statisticians - Introduction
Machine Learning for Statisticians - IntroductionMachine Learning for Statisticians - Introduction
Machine Learning for Statisticians - Introduction
 
Making Decisions - A Game Theoretic approach
Making Decisions - A Game Theoretic approachMaking Decisions - A Game Theoretic approach
Making Decisions - A Game Theoretic approach
 
Cloud and Industry4.0
Cloud and Industry4.0Cloud and Industry4.0
Cloud and Industry4.0
 
Game Theory and Engineering Applications
Game Theory and Engineering ApplicationsGame Theory and Engineering Applications
Game Theory and Engineering Applications
 
Machine Learning and its Applications
Machine Learning and its ApplicationsMachine Learning and its Applications
Machine Learning and its Applications
 
How to become a successful entrepreneur
How to become a successful entrepreneurHow to become a successful entrepreneur
How to become a successful entrepreneur
 
Dockers and kubernetes
Dockers and kubernetesDockers and kubernetes
Dockers and kubernetes
 

Recently uploaded

Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 

Recently uploaded (20)

Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 

Functional and Non-functional Test automation

  • 1. Functional & Non-functional Test Automation Dr Ganesh Neelakanta Iyer QA Architect GANESHNIYER gaiyer@progress.com http://ganeshniyer.com
  • 2. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.2 About Me GANESHNIYER
  • 3. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.3 Quick Poll
  • 4. Do you have some test automation in place for your testing?
  • 5. Do you have required functional test automation in place?
  • 6. Do you have test automation for functional and non-functional (performance, load, scalability, security, …) pieces of testing?
  • 7. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.7 Agenda  Goal of successful automation  Types of test automation frameworks  Functional Test automation  Non-Functional test automation – Major types
  • 8. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.8 Goals of Successful Automation
  • 9. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.9 The Goal: Successful Automation  Suggestions: • Automate the ‘Right’ Test Cases • Test Early / Test Often • Define Quality Test Data • Design Automated Tests that can resist change • Selecting the right Automation Tool Graphic from qatestlab.com
  • 10. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.10 Automate the ‘Right’ Test Cases • Repetitively Run Tests (aka Smoke or Acceptance tests) • Data intensive tests • Frequently Used Functionality • High Risk, Business-critical functionality • Tests that are difficult to run manually • Tests that are run on differing hardware/software platforms and configurations • Tests that take a lot of effort or time Graphic from qatestlab.com
  • 11. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.11 Test Early / Test Often  Start as early in the process as possible – Could start with Automated Unit testing – Gradually build your Automation Suite  The more you test, the more bugs you find.  The earlier bugs are found the cheaper they are to fix!
  • 12. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.12 Define Quality Test Data  With good data… – Writing and Maintaining Automated tests is easier. – With Data driven tests you can run more iterations and find more bugs! – Can extend existing Automated tests as new features are developed – without having to edit the actual automated test itself. – Stay proactive in updating/defining data.
  • 13. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.13 Automation Approach  Keep Automated tests small and focused – Easy to debug – Easy to manage – Can be reused and shared  These can then be grouped into a larger Automated test suite organized by functional area.  With the right framework, users can create large/complex Automated tests that are also easy to maintain! Graphic from checkpointech.com
  • 14. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.14 Design Automated Tests Resistant to Change  If possible, avoid using screen coordinates.  Componentize your test scripts  Ensure that your development team uses unique names for each control and object!
  • 15. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.15 How long do Automated Tests Last?  At some point, the application will change and the script will break. • If you are using GUI Capture/Playback a major revision to the UI may break your tests.  If the script breaks before the automation effort was repaid, it is better off as a manual test.
  • 16. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.16 Selecting the ‘‘Right” Automation Tool Can be used by business users No programming skills required Simple Automate 60-70% of core business processes in a few days Rapid return on investment Fast When underlying applications change, automation continues to work Simple maintenance of your business process portfolio Resilient True end-to-end business process validation covering all major technologies and platforms Complete
  • 17. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.17 Return On Investment (ROI)
  • 18. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.18 Classic ROI Calculation ROI = BENEFIT/COST Automation Cost = Price Of HW + Price of SW + Development Cost + Maintenance Cost + Execution Cost Manual Testing Cost = Development Cost + Maintenance Cost + Execution Cost ROI = (Manual Testing Cost - Automation Cost)/Automation Cost Looks right, isn’t it?
  • 19. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.19 Problems with Classic ROI Calculation  You can’t compare Automated Testing and Manual Testing. There are not the same  You can’t compare cost of multiple execution of automated tests vs. manual tests. You would never dream of executing that many test cases manually.
  • 20. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.20 Automation Real ROI  ROI value IS NOT the value of Automation vs. Cost of executing these tests manually  Automation ROI value IS the benefit of this type of testing, and it can be:  Reducing Time to Market  Increased Test Efficiency (Productivity)  Increased Test Effectiveness
  • 21. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.21 Types of test automation frameworks
  • 22. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.22 Types of Test Automation Frameworks Modular Data-Driven Keyword–Driven Model-Based
  • 23. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.23 Modular framework  The Modular framework is the natural progression from Record-and- Playback  The modular framework seeks to minimize this repetition of code by grouping similar actions into “modules” (e.g.: login)  Test Data is in a script
  • 24. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.24 Data-Driven/Keyword Driven  These frameworks are similar in that the data is separated from the test script  The script is just a "driver" or delivery mechanism for the data.  The difference: • In keyword-driven testing, the navigation data and test data are contained in the data source • In data-driven testing, only test data is contained in the data source.
  • 25. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.25 Model-Based testing  Model-based testing is software testing in which test cases are derived in whole or in part from a model that describes some (usually functional) aspects of the system.  Model-based testing for complex software systems is still an evolving field.
  • 26. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.26 Functional test automation
  • 27. Typically what we speak about is all about functional automation
  • 28. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.28 Functional Testing Web  Telerik Test Studio  Sahi  Selenium  Sikuli Web Mobile Desktop Backend Mobile  Mobile Test Studio  Telerik DeviceCloud  Appium Desktop  QTP
  • 29. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.29 Testing Mobile Apps in Cloud Telerik DeviceCloud >300 29 27 Devices Manufacturers OS versions
  • 30. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.30 Compatibility Testing; Web, Device, OS, DB,…. Automation:  Telerik Test Studio  Telerik DeviceCloud  Sahi  Selenium Compatibility Testing Accessibility testing Globalization and localization testing Compatibility under different situations
  • 31. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.31 Non-Functional test automation – Major types
  • 32. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.32 Major Non-functional test dimensions in a Nut-shell Non- functional Security API Connectivity PerformanceResilience Integration
  • 33. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.33 Security Security Traversal vulnerability User access/ roles Identity federation management Multi-tenant penetration User Access / Roles Web UI Security Multi- Tenant DB Vulnerabilities Automation:  Veracode  Websecurify  ZAP tool  Scripts
  • 34. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.34 Security at various stages Planning Architecture and Design Implementation Level Whitebox testing Blackbox testing Reviews Code Doc Log Regional Security Compliance Ruleset System Config Network Sniffing File Integrity Checking PO/ PM QA Dev Architect / Lead Dev QA QA Dev QA QADev Architect / Lead Dev Architect / Lead QA
  • 35. Different components of each aspect- what needs to be tested/assured Security protection methods Authentication Access Control Cryptography Firewall, Anti-virus etc Secured Infrastructure Web Security URL Manipulation SQL Injection, Other injection attacks Session fixation, XSS API Security Testing Cloud Security Multi-tenant penetration (for ISVs) Data protection in Cloud Cloud Identity Management Cloud Infrastructure security Database Security Reliability and Integrity DB Disclosure Security in data mining Data security Vulnerabilities and attacks Network, Memory- related, Metadata injection Traversal vulnerability DoS/DDoS attacks Encryption in networks/browsers Programmed Injection Privacy, Legal issues and Ethics Web privacy Law and Compliance Email security Ethical issues Emerging Technologies and Security Aspects Mobile App Mobile Web IoT sensors Information Security Security Issues within the code
  • 36. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.36 How we plan?– Four types of activities High-level test approach and test execution frequency QA Reviews • Doc Review • Code Review Static Analysis (Whitebox Testing) •Analyze source for security vulnerabilities typically at the programming and/or testing software life cycle (SLC) phases Service Level Dynamic Testing • Test the run time services exposed by applications for various security testing Business Level Dynamic Testing •Application Runtime analysis, E2E business use cases To happen regularly on a scheduled manner For short releases  Once in the release For long releases, 2-3 times during the release cycle Sanity Suite to run on Continuous Integration Automate the cases and run once in a sprint Automate and run once in a sprint Use tools for scanning 1-3 times based on release cycle
  • 37.
  • 38. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.38 API Invocation API Invocation Connectivity and invocation API load API security Multi-tenancy Automation:  SoapUI  Node.js  PySys  In-house Frameworks
  • 39. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.39 High Availability (HA) and Performance Testing Automation:  Telerik Test Studio  NeoLoad  JMeter HA & Performance Time to deploy Multi-tenancy Latency Connectivity and reliability with 3rd parties Reliability and availability HA/ Performance Testing Availability 24 x 7 – Endurance Reliability Latency Stress
  • 40. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.40 24 x 7 Testing VMs / Build Integration Machines ANT ScriptTests Reports using Kendo UI controls Decides parallelism HTTP POST reqBatch Script Decides frequency Logs SUT Uses any test environments and leverage existing tests Batch Script Decides the frequency ANT Script We configure #Threads, #Tests to run in parallel Reports Shown using Keno UI controls / widgets
  • 41. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.41 Resilience and Failover Ability of a server, network, storage system, or an entire data center, to continue operating even when there has been an equipment failure, power outage or other disruption Software error Hardware error Human error Natural Disaster Picture Credit: http://imperfectspirituality.com/wp-content/uploads/2012/08/Moving- mountains-with-resilience.jpg
  • 42. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.42 Resilience and Failover Resilience Making one instance down Making multiple instances down Disaster Recovery Application Interface (UI / API) IaaS Logs ELB HA Instance 2Stubs for 3rd Parties HA Instance 1
  • 43. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.43 Integration Integration P2P Integration System Integration End-to-End Integration SSO Customer Scenarios Picture Credit: http://goo.gl/wgNKi3
  • 44. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.44 A Typical Integration Scenario in Progress OpenEdge DB OData OData REST Service Telerik Mobile QA Dashboard App DMZ REST Wrapper REST Service
  • 45. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.45 Typical End-to-End Scenario Registration Land on product dashboard Click on subscription details Choose a plan Checkout process Generate invoice Product usage Log-out LDAP Community Export Compliance, Marketing Marketing, Billing, Support Billing, Invoicing LDAP Billing Metering Billing
  • 46. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.46 Integration Test Challenges and Approaches Multiple systems behave differently No automated deletion of test data in some systems Unpredictable delays in updating various systems Different types of environments for testing
  • 47. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.47 Integration Test Automation With Cloud Telerik Test Studio as the UI framework, C# as the Runtime framework Output Repository Test Manager Test Logger Run Time Test Framework API Calls UI Framework Stubs for 3rd Parties Test Repository  Test suite  Libraries (APIs) Product 1 Product 2 Product 3
  • 48. There are much more…
  • 51. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.51 Major Test Dimensions in a Nut Shell Security Performance Resilience & Failover Compatibility API Connectivity Integration Traversal vulnerability Time to deploy Making one instance down Accessibility Connectivity and invocation P2P Integration User access/ roles Multi-tenancy Making multiple instances down Globalization and localization API load System Integration Identity federation management Latency Disaster Recovery Compatibility under different situations API security End-to-End Integration Multi-tenant penetration Connectivity and reliability with 3rd parties Multi-tenancy SSO Reliability and availability Customer Scenarios
  • 52. © 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.52 Automation Frameworks Telerik Test Studio, Telerik DeviceCloud Sahi / Selenium scripts Telerik Test Studio for Load / Performance Testing Neoload, JMeter SOAP UI / Node.js / PySys Telerik Test Studio (with C#) TestNG + Java + Sahi combined approach Integration Functional (Web/Mobile UI) Performance API Invocation Veracode, Websecurify, ZAP ToolSecurity