SlideShare a Scribd company logo
Automation Testing
TOMY RHYMOND | Cloud Solutions Architect
TEST AUTOMATION
TIMELINE
1. REQUIREMENTS
Gather business requirement
and validate it.
2. TEST CASES
Testers write the test cases
for all scenarios, positive,
negative, edge conditions
etc.
3. DEVELOP
Developers develop automated
tests for all happy path scenarios.
Testers develop automated tests
for all other scenarios.
4. TEST
Developers test the happy
path scenarios and Testers
test all other scenarios.
5. INTEGRATE
Integrate the tests with
DevOps CI/CD pipeline and
setup reports
6. MONITOR
Continuously monitor the
pipelines for code coverage
and other violations
DEVOPS – TEST AUTOMATION
TEST AUTOMATION
Process and Tools for Automating
Enterprise Testing
2
Developers: Happy Path Scenarios
Testers: All Scenarios
Pipeline: CD/ On-Trigger
Framework : Selenium, Protractor
.
END 2 END TESTING
1
UNIT TESTING
Test all ui and service components
Developers: All Scenarios
Pipeline: CD
Framework: xUnit, Jasmine
Code Coverage: 80%
4
Developers: Happy Path Scenarios
Testers: All Scenarios
Pipeline: CD/ On-Trigger
Framework : JMeter, BlazeMeter
LOAD TESTING
3
API TESTING
Test Backend Service integration with other services.
Developers: Happy Path Scenarios
Testers: All Scenarios
Pipeline: CD/ On-Trigger
Framework : Postman, Newman
Test UI browser compatibility, ADA Test Application Performance
TESTING PROCESS
Developers and Testers collaborate to create quality code that can be continuously deployed to your dev and test environments
DevTest
SPRINT 1
SPRINT 2
SPRINT3
Developer
Tester
Developer
Tester
Developer
Tester
 Develop code
 Write unit/integration/e2e tests for
their user stories
 Develop test cases for the
features/use stories
 Develop code
 Write unit/integration/e2e
tests for their user stories
 Fix bugs from the previous
sprint
 Run tests from the sprint 1
 Write more tests for their test cases
 Create Bugs for Failed Tests (Collaborate
with developers)
 Develop test cases for next sprint
 Develop code
 Write unit/integration/e2e
tests for their user stories
 Fix bugs from the previous
sprint
 Run tests from the sprint 1
 Write more tests for their test cases
 Create Bugs for Failed Tests
(Collaborate with developers)
 Develop test cases for next sprint
Review of requirements
Test planning / writing test
cases
Unit testing
End 2 End testing
API/integration testing
Performance testing
Security testing
Cross-browser testing / cross-
platform testing/ ADA testing
Updating test cases
Regression testing
CODING GUIDELINES FOR BETTER
TESTING
Unit Test are fast running tests that are quick to debug. They should cover the bulk of your testing strategy and
should cover majority of your code.
 Write Functional pieced without side effects
 Think of each code block as a functional piece that shouldn't cause any side
effects (like I/O).
 Any side effects should be isolated and wrapped.
 Use Dependency Injection
 Adhere to SOLID principles
 Class and methods should only have responsibility
 Write Unit Test first
 Extract all non-testable code into wrapper classes
 I/O operations and external APIs - code at the boundaries of your system.
 Isolate this code into narrow wrappers.
 Make sure to exclude as much logic from these wrappers as you can.
 Try not to use static methods and variables
 Static methods can be hard to mock out. Avoid them if possible.
 Static variables leave a global state and should only be used in very special cases
API C#/DotNet Core/AzureUI – Angular/TypeScript
 Add a selector to all elements.
 eg: <div id=“lastname”></div>
 Avoid using class name for selector
 Include an index with all for loops and add to selector
 eg: <div *ngFor="let subsection of subsections; index as i">
 id="questionaudiencetitle{{ i }}”
 Make sure you function does one thing.
 eg. fetchCustomer should only get customer data and should
not update data and then get customer data
 Make sure you typescript file (classes) has one purpose.
 eg. customerService should only be responsible for retrieving
and updating customer data.
UNIT TEST GUIDELINES
Unit Test are fast running tests that are quick to debug. They should cover the bulk of your testing strategy and
should cover majority of your code.
 Constructors or properties (if they just return variables). Test them only if
they contain validations.
 Configurations like constants, read-only fields, configs, enumerations, etc.
 Facades of just wrapping other frameworks or libraries
 Exception messages
 POCO classes, models, etc.
 Complex SQL Queries (more than 3 joins or grouping, etc.). Better to test
it with manual or some kind of system test against real DB.
 ASPNET controller methods
 Complex multi-threading code (it is better to be tested with integration
tests)
 Private methods and Methods that call another public method
What not to Unit TestWhat to Unit Test
 Reduce the number of test cases to the necessary minimum and to
select the right test cases to cover all possible scenarios.
 Test All UI Components and Service in UI Code.
 Test obscure edge cases
 Write each test to test one thing
 Use mock objects to clarify dependent contracts
 Test Repositories, Services and other business logic components in
backend API Code.
 Write your tests using the language used for development. Use
TypeScript/JavaScript for UI code and C# for backend code
 The name of the test should be the first, most useful clue when looking
at a failure report.
END 2 END TEST GUIDELINES
An application is interconnected and integrated with multiple systems that are outside of the application
environment. The entire flow of the application thus gets complicated. End-to-end testing ensures that the
application is tested from all layers – front end to backend along with its interfaces and the endpoints.
 Test from the Perspective of an End User – Think like a user, focus more on features rather than how the functionalities
are implemented.
 Focus on the features of your application whose failure will cause high risk.
 All requirements from Business should be in these tests.
 Initial E2E tests should be with consistent mock data, to isolate defects as with the UI only. If all UI and API tests run,
additional test runs should be done in each environment – Dev, Test, Staging, Prod.
 Expected results are stored in JSON files in a directory for each environment.
 The only UI aspects not tested are styles and layout – If these tests are needed, Protractor can be configured to do
Visual Regression Testing.
 ADA/Compliance testing is included in the E2E suite of tests.
API TEST GUIDELINES
API testing involves testing APIs directly and as part of integration testing to determine if they meet expectations
for functionality, reliability, performance, and security.
 API Tests isolate the REST services without a UI.
 Data to create the requests and validate the responses are stored in JSON files and categorized by environment, as
data will change.
 All services must have tests with a variety of conditions: Happy Path, empty responses, all error conditions, etc.
 Critical services should have additional tests to validate all the response scenarios - difference variables, numbers and
values of variables, etc.
 Postman scripts can be converted to JMeter tests with the use of conversion tools as an option (Loadium).
 Initial API test should run with mock data to isolate code defects to the API logic and not underlining changes to data
or connectivity issues.
 Like E2E test, data in the environments must not change or this will result in false positives when tests fail.
LOAD TEST GUIDELINES
Load testing is a kind of Performance Testing which determines a system's performance under real-life load
conditions. This testing helps determine how the application behaves when multiple users access it
simultaneously.
 Load test should focus on the typical user behaviors for a system: eg – authentication, landing page, app functionality,
etc.
 Loads should be determined by user behavior during peak times. If the peak load is x number of concurrent users, test
should be run starting at 10% peak, then inclemently up to 100%, and then to up to milestone like 125%, 150% an
200%. A final test to determine at what point does the solution break is recommended.
 Test durations are determine based upon actual production peak time and increased 500%.
 Browsers are not involved in a load tests, but the rending of UI files are – HTML, CSS, JS, Bundles, etc.
 Automated load test should be run on off-peak times, not to stress the system but as a comparison if recent code
commits have significantly impacted performance. This will eliminate major surprises when a full test is run at the end
of a development cycle.
SECURITY TEST GUIDELINES
Testing that ensures software systems and applications are free from any vulnerabilities, threats, risks that may
cause a big loss.
 A password should be in encrypted format
 Application or System should not allow invalid users
 Check cookies and session time for application
 Token expire after certain time
 For financial sites, the Browser back button should not work.
Example Test Scenarios
DEVOPS – DELIVERY
MODEL
Continuous
Integration Sprint
Product
Backlog
Priorities Sprint
Backlog
Product
(Usable)
Acceptance Tests
Deployment
(production)
To Do… To Do…
Continuous
Delivery
Acceptance Tests
Deployment
(production)
Product
Backlog
Priorities Sprint
Backlog
To Do…
Product
(Usable)
Sprint
Acceptance Tests
Deployment
(production)
Product
Backlog
Priorities Sprint
Backlog
Product
(Usable)
Continuous
Deployment Sprint
SUMMARY
 Reliable and Repeatable
 Reusable
 Fast
 Cost Effective
 Comprehensive
 Reduce testing time for bug
fixes and maintenance
 Learning curve
 Debugging test scripts
 Test maintenance
 Test data file maintenance
 Increase in development time
CONS
PROS
Automation process includes creation of
detailed test cases, including predictable
“expected results”, which have been
derived from Business Functional
Specifications and other design
documentation.
A standalone Test Environment, including a Test Database that is restorable to a known
constant, such that the test cases are able to be repeated each time there are
modifications made to the application.
Automation refers to the use of
strategies & tools which augment or
reduce the need of manual testing.
11/11/2020
Ad

More Related Content

What's hot (20)

Automated Testing vs Manual Testing
Automated Testing vs Manual TestingAutomated Testing vs Manual Testing
Automated Testing vs Manual Testing
Directi Group
 
Test Automation
Test AutomationTest Automation
Test Automation
rockoder
 
Selenium TestNG
Selenium TestNGSelenium TestNG
Selenium TestNG
KadarkaraiSelvam
 
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Ankit Prajapati
 
Test Automation
Test AutomationTest Automation
Test Automation
nikos batsios
 
Automated Testing with Agile
Automated Testing with AgileAutomated Testing with Agile
Automated Testing with Agile
Ken McCorkell
 
Manual testing
Manual testingManual testing
Manual testing
vigneshasromio
 
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
 
Ruin your life using robot framework
Ruin your life using robot frameworkRuin your life using robot framework
Ruin your life using robot framework
Prayoch Rujira
 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
Raviteja Chowdary Adusumalli
 
Introduction to Software Test Automation
Introduction to Software Test AutomationIntroduction to Software Test Automation
Introduction to Software Test Automation
Amr Ali (ISTQB CTAL Full, CSM, ITIL Foundation)
 
Software Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Software Testing Life Cycle (STLC) | Software Testing Tutorial | EdurekaSoftware Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Software Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Edureka!
 
Software Testing Process
Software Testing ProcessSoftware Testing Process
Software Testing Process
guest1f2740
 
Introduction & Manual Testing
Introduction & Manual TestingIntroduction & Manual Testing
Introduction & Manual Testing
VenkateswaraRao Siddabathula
 
Centralized test automation framework implementation
Centralized test automation framework implementationCentralized test automation framework implementation
Centralized test automation framework implementation
Bharathi Krishnamurthi
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-concepts
medsherb
 
Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planning
SivaprasanthRentala1975
 
What is Test Plan? Edureka
What is Test Plan? EdurekaWhat is Test Plan? Edureka
What is Test Plan? Edureka
Edureka!
 
Latest Manual Testing Interview Questions and Answers 2015 - H2kinfosys
Latest Manual Testing Interview Questions and Answers 2015 - H2kinfosys Latest Manual Testing Interview Questions and Answers 2015 - H2kinfosys
Latest Manual Testing Interview Questions and Answers 2015 - H2kinfosys
Computer Trainings Online
 
Test automation
Test automationTest automation
Test automation
Xavier Yin
 
Automated Testing vs Manual Testing
Automated Testing vs Manual TestingAutomated Testing vs Manual Testing
Automated Testing vs Manual Testing
Directi Group
 
Test Automation
Test AutomationTest Automation
Test Automation
rockoder
 
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Ankit Prajapati
 
Automated Testing with Agile
Automated Testing with AgileAutomated Testing with Agile
Automated Testing with Agile
Ken McCorkell
 
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
 
Ruin your life using robot framework
Ruin your life using robot frameworkRuin your life using robot framework
Ruin your life using robot framework
Prayoch Rujira
 
Software Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Software Testing Life Cycle (STLC) | Software Testing Tutorial | EdurekaSoftware Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Software Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Edureka!
 
Software Testing Process
Software Testing ProcessSoftware Testing Process
Software Testing Process
guest1f2740
 
Centralized test automation framework implementation
Centralized test automation framework implementationCentralized test automation framework implementation
Centralized test automation framework implementation
Bharathi Krishnamurthi
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-concepts
medsherb
 
Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planning
SivaprasanthRentala1975
 
What is Test Plan? Edureka
What is Test Plan? EdurekaWhat is Test Plan? Edureka
What is Test Plan? Edureka
Edureka!
 
Latest Manual Testing Interview Questions and Answers 2015 - H2kinfosys
Latest Manual Testing Interview Questions and Answers 2015 - H2kinfosys Latest Manual Testing Interview Questions and Answers 2015 - H2kinfosys
Latest Manual Testing Interview Questions and Answers 2015 - H2kinfosys
Computer Trainings Online
 
Test automation
Test automationTest automation
Test automation
Xavier Yin
 

Similar to Automation testing (20)

Salesforce testing best_practices
Salesforce testing best_practicesSalesforce testing best_practices
Salesforce testing best_practices
Vijayaragavan k 🌩️
 
Lightning Talks by Globant - Automation (This app runs by itself )
Lightning Talks by Globant -  Automation (This app runs by itself ) Lightning Talks by Globant -  Automation (This app runs by itself )
Lightning Talks by Globant - Automation (This app runs by itself )
Globant
 
Testing ppt
Testing pptTesting ppt
Testing ppt
kiran theja
 
Testing Presentation
Testing PresentationTesting Presentation
Testing Presentation
sureshpkumar
 
Automating The Process For Building Reliable Software
Automating The Process For Building Reliable SoftwareAutomating The Process For Building Reliable Software
Automating The Process For Building Reliable Software
guest8861ff
 
Automated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra SolutionsAutomated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra Solutions
Quontra Solutions
 
What Is Unit Testing A Complete Guide With Examples.pdf
What Is Unit Testing A Complete Guide With Examples.pdfWhat Is Unit Testing A Complete Guide With Examples.pdf
What Is Unit Testing A Complete Guide With Examples.pdf
Jace Reed
 
Software Quality and Test Strategies for Ruby and Rails Applications
Software Quality and Test Strategies for Ruby and Rails ApplicationsSoftware Quality and Test Strategies for Ruby and Rails Applications
Software Quality and Test Strategies for Ruby and Rails Applications
Bhavin Javia
 
Role+Of+Testing+In+Sdlc
Role+Of+Testing+In+SdlcRole+Of+Testing+In+Sdlc
Role+Of+Testing+In+Sdlc
mahendra singh
 
Testing concepts
Testing conceptsTesting concepts
Testing concepts
sangamesh kumbar
 
What Is Unit Testing_ A Complete Guide With Examples.pdf
What Is Unit Testing_ A Complete Guide With Examples.pdfWhat Is Unit Testing_ A Complete Guide With Examples.pdf
What Is Unit Testing_ A Complete Guide With Examples.pdf
Steve Wortham
 
Mantra Tech Overview.pdf
Mantra Tech Overview.pdfMantra Tech Overview.pdf
Mantra Tech Overview.pdf
RubenBert
 
QA.pdf
QA.pdfQA.pdf
QA.pdf
MantraTech1
 
Performance Test Slideshow R E C E N T
Performance Test Slideshow R E C E N TPerformance Test Slideshow R E C E N T
Performance Test Slideshow R E C E N T
Future Simmons
 
Performance Test Slideshow Recent
Performance Test Slideshow RecentPerformance Test Slideshow Recent
Performance Test Slideshow Recent
Future Simmons
 
Testing Interview Questions.pdf
Testing Interview Questions.pdfTesting Interview Questions.pdf
Testing Interview Questions.pdf
PradeepaKannan6
 
Automation Best Practices.pptx
Automation Best Practices.pptxAutomation Best Practices.pptx
Automation Best Practices.pptx
pavelpopov43
 
Keyword Driven Testing
Keyword Driven TestingKeyword Driven Testing
Keyword Driven Testing
Harish MS
 
What is integration testing
What is integration testingWhat is integration testing
What is integration testing
TestingXperts
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
Arshad QA
 
Lightning Talks by Globant - Automation (This app runs by itself )
Lightning Talks by Globant -  Automation (This app runs by itself ) Lightning Talks by Globant -  Automation (This app runs by itself )
Lightning Talks by Globant - Automation (This app runs by itself )
Globant
 
Testing Presentation
Testing PresentationTesting Presentation
Testing Presentation
sureshpkumar
 
Automating The Process For Building Reliable Software
Automating The Process For Building Reliable SoftwareAutomating The Process For Building Reliable Software
Automating The Process For Building Reliable Software
guest8861ff
 
Automated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra SolutionsAutomated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra Solutions
Quontra Solutions
 
What Is Unit Testing A Complete Guide With Examples.pdf
What Is Unit Testing A Complete Guide With Examples.pdfWhat Is Unit Testing A Complete Guide With Examples.pdf
What Is Unit Testing A Complete Guide With Examples.pdf
Jace Reed
 
Software Quality and Test Strategies for Ruby and Rails Applications
Software Quality and Test Strategies for Ruby and Rails ApplicationsSoftware Quality and Test Strategies for Ruby and Rails Applications
Software Quality and Test Strategies for Ruby and Rails Applications
Bhavin Javia
 
Role+Of+Testing+In+Sdlc
Role+Of+Testing+In+SdlcRole+Of+Testing+In+Sdlc
Role+Of+Testing+In+Sdlc
mahendra singh
 
What Is Unit Testing_ A Complete Guide With Examples.pdf
What Is Unit Testing_ A Complete Guide With Examples.pdfWhat Is Unit Testing_ A Complete Guide With Examples.pdf
What Is Unit Testing_ A Complete Guide With Examples.pdf
Steve Wortham
 
Mantra Tech Overview.pdf
Mantra Tech Overview.pdfMantra Tech Overview.pdf
Mantra Tech Overview.pdf
RubenBert
 
Performance Test Slideshow R E C E N T
Performance Test Slideshow R E C E N TPerformance Test Slideshow R E C E N T
Performance Test Slideshow R E C E N T
Future Simmons
 
Performance Test Slideshow Recent
Performance Test Slideshow RecentPerformance Test Slideshow Recent
Performance Test Slideshow Recent
Future Simmons
 
Testing Interview Questions.pdf
Testing Interview Questions.pdfTesting Interview Questions.pdf
Testing Interview Questions.pdf
PradeepaKannan6
 
Automation Best Practices.pptx
Automation Best Practices.pptxAutomation Best Practices.pptx
Automation Best Practices.pptx
pavelpopov43
 
Keyword Driven Testing
Keyword Driven TestingKeyword Driven Testing
Keyword Driven Testing
Harish MS
 
What is integration testing
What is integration testingWhat is integration testing
What is integration testing
TestingXperts
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
Arshad QA
 
Ad

Recently uploaded (20)

Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Ad

Automation testing

  • 1. Automation Testing TOMY RHYMOND | Cloud Solutions Architect
  • 2. TEST AUTOMATION TIMELINE 1. REQUIREMENTS Gather business requirement and validate it. 2. TEST CASES Testers write the test cases for all scenarios, positive, negative, edge conditions etc. 3. DEVELOP Developers develop automated tests for all happy path scenarios. Testers develop automated tests for all other scenarios. 4. TEST Developers test the happy path scenarios and Testers test all other scenarios. 5. INTEGRATE Integrate the tests with DevOps CI/CD pipeline and setup reports 6. MONITOR Continuously monitor the pipelines for code coverage and other violations
  • 3. DEVOPS – TEST AUTOMATION TEST AUTOMATION Process and Tools for Automating Enterprise Testing 2 Developers: Happy Path Scenarios Testers: All Scenarios Pipeline: CD/ On-Trigger Framework : Selenium, Protractor . END 2 END TESTING 1 UNIT TESTING Test all ui and service components Developers: All Scenarios Pipeline: CD Framework: xUnit, Jasmine Code Coverage: 80% 4 Developers: Happy Path Scenarios Testers: All Scenarios Pipeline: CD/ On-Trigger Framework : JMeter, BlazeMeter LOAD TESTING 3 API TESTING Test Backend Service integration with other services. Developers: Happy Path Scenarios Testers: All Scenarios Pipeline: CD/ On-Trigger Framework : Postman, Newman Test UI browser compatibility, ADA Test Application Performance
  • 4. TESTING PROCESS Developers and Testers collaborate to create quality code that can be continuously deployed to your dev and test environments DevTest SPRINT 1 SPRINT 2 SPRINT3 Developer Tester Developer Tester Developer Tester  Develop code  Write unit/integration/e2e tests for their user stories  Develop test cases for the features/use stories  Develop code  Write unit/integration/e2e tests for their user stories  Fix bugs from the previous sprint  Run tests from the sprint 1  Write more tests for their test cases  Create Bugs for Failed Tests (Collaborate with developers)  Develop test cases for next sprint  Develop code  Write unit/integration/e2e tests for their user stories  Fix bugs from the previous sprint  Run tests from the sprint 1  Write more tests for their test cases  Create Bugs for Failed Tests (Collaborate with developers)  Develop test cases for next sprint Review of requirements Test planning / writing test cases Unit testing End 2 End testing API/integration testing Performance testing Security testing Cross-browser testing / cross- platform testing/ ADA testing Updating test cases Regression testing
  • 5. CODING GUIDELINES FOR BETTER TESTING Unit Test are fast running tests that are quick to debug. They should cover the bulk of your testing strategy and should cover majority of your code.  Write Functional pieced without side effects  Think of each code block as a functional piece that shouldn't cause any side effects (like I/O).  Any side effects should be isolated and wrapped.  Use Dependency Injection  Adhere to SOLID principles  Class and methods should only have responsibility  Write Unit Test first  Extract all non-testable code into wrapper classes  I/O operations and external APIs - code at the boundaries of your system.  Isolate this code into narrow wrappers.  Make sure to exclude as much logic from these wrappers as you can.  Try not to use static methods and variables  Static methods can be hard to mock out. Avoid them if possible.  Static variables leave a global state and should only be used in very special cases API C#/DotNet Core/AzureUI – Angular/TypeScript  Add a selector to all elements.  eg: <div id=“lastname”></div>  Avoid using class name for selector  Include an index with all for loops and add to selector  eg: <div *ngFor="let subsection of subsections; index as i">  id="questionaudiencetitle{{ i }}”  Make sure you function does one thing.  eg. fetchCustomer should only get customer data and should not update data and then get customer data  Make sure you typescript file (classes) has one purpose.  eg. customerService should only be responsible for retrieving and updating customer data.
  • 6. UNIT TEST GUIDELINES Unit Test are fast running tests that are quick to debug. They should cover the bulk of your testing strategy and should cover majority of your code.  Constructors or properties (if they just return variables). Test them only if they contain validations.  Configurations like constants, read-only fields, configs, enumerations, etc.  Facades of just wrapping other frameworks or libraries  Exception messages  POCO classes, models, etc.  Complex SQL Queries (more than 3 joins or grouping, etc.). Better to test it with manual or some kind of system test against real DB.  ASPNET controller methods  Complex multi-threading code (it is better to be tested with integration tests)  Private methods and Methods that call another public method What not to Unit TestWhat to Unit Test  Reduce the number of test cases to the necessary minimum and to select the right test cases to cover all possible scenarios.  Test All UI Components and Service in UI Code.  Test obscure edge cases  Write each test to test one thing  Use mock objects to clarify dependent contracts  Test Repositories, Services and other business logic components in backend API Code.  Write your tests using the language used for development. Use TypeScript/JavaScript for UI code and C# for backend code  The name of the test should be the first, most useful clue when looking at a failure report.
  • 7. END 2 END TEST GUIDELINES An application is interconnected and integrated with multiple systems that are outside of the application environment. The entire flow of the application thus gets complicated. End-to-end testing ensures that the application is tested from all layers – front end to backend along with its interfaces and the endpoints.  Test from the Perspective of an End User – Think like a user, focus more on features rather than how the functionalities are implemented.  Focus on the features of your application whose failure will cause high risk.  All requirements from Business should be in these tests.  Initial E2E tests should be with consistent mock data, to isolate defects as with the UI only. If all UI and API tests run, additional test runs should be done in each environment – Dev, Test, Staging, Prod.  Expected results are stored in JSON files in a directory for each environment.  The only UI aspects not tested are styles and layout – If these tests are needed, Protractor can be configured to do Visual Regression Testing.  ADA/Compliance testing is included in the E2E suite of tests.
  • 8. API TEST GUIDELINES API testing involves testing APIs directly and as part of integration testing to determine if they meet expectations for functionality, reliability, performance, and security.  API Tests isolate the REST services without a UI.  Data to create the requests and validate the responses are stored in JSON files and categorized by environment, as data will change.  All services must have tests with a variety of conditions: Happy Path, empty responses, all error conditions, etc.  Critical services should have additional tests to validate all the response scenarios - difference variables, numbers and values of variables, etc.  Postman scripts can be converted to JMeter tests with the use of conversion tools as an option (Loadium).  Initial API test should run with mock data to isolate code defects to the API logic and not underlining changes to data or connectivity issues.  Like E2E test, data in the environments must not change or this will result in false positives when tests fail.
  • 9. LOAD TEST GUIDELINES Load testing is a kind of Performance Testing which determines a system's performance under real-life load conditions. This testing helps determine how the application behaves when multiple users access it simultaneously.  Load test should focus on the typical user behaviors for a system: eg – authentication, landing page, app functionality, etc.  Loads should be determined by user behavior during peak times. If the peak load is x number of concurrent users, test should be run starting at 10% peak, then inclemently up to 100%, and then to up to milestone like 125%, 150% an 200%. A final test to determine at what point does the solution break is recommended.  Test durations are determine based upon actual production peak time and increased 500%.  Browsers are not involved in a load tests, but the rending of UI files are – HTML, CSS, JS, Bundles, etc.  Automated load test should be run on off-peak times, not to stress the system but as a comparison if recent code commits have significantly impacted performance. This will eliminate major surprises when a full test is run at the end of a development cycle.
  • 10. SECURITY TEST GUIDELINES Testing that ensures software systems and applications are free from any vulnerabilities, threats, risks that may cause a big loss.  A password should be in encrypted format  Application or System should not allow invalid users  Check cookies and session time for application  Token expire after certain time  For financial sites, the Browser back button should not work. Example Test Scenarios
  • 11. DEVOPS – DELIVERY MODEL Continuous Integration Sprint Product Backlog Priorities Sprint Backlog Product (Usable) Acceptance Tests Deployment (production) To Do… To Do… Continuous Delivery Acceptance Tests Deployment (production) Product Backlog Priorities Sprint Backlog To Do… Product (Usable) Sprint Acceptance Tests Deployment (production) Product Backlog Priorities Sprint Backlog Product (Usable) Continuous Deployment Sprint
  • 12. SUMMARY  Reliable and Repeatable  Reusable  Fast  Cost Effective  Comprehensive  Reduce testing time for bug fixes and maintenance  Learning curve  Debugging test scripts  Test maintenance  Test data file maintenance  Increase in development time CONS PROS Automation process includes creation of detailed test cases, including predictable “expected results”, which have been derived from Business Functional Specifications and other design documentation. A standalone Test Environment, including a Test Database that is restorable to a known constant, such that the test cases are able to be repeated each time there are modifications made to the application. Automation refers to the use of strategies & tools which augment or reduce the need of manual testing. 11/11/2020