Building a Test Automation Strategy for SuccessLee Barnes
Choosing an appropriate tool and building the right framework are typically thought of as the main challenges in implementing successful test automation. However, long term success requires that other key questions must be answered including:
- What are our objectives?
- How should we be organized?
- Will our processes need to change?
- Will our test environment support test automation?
- What skills will we need?
- How and when should we implement?
In this workshop, Lee will discuss how to assess your test automation readiness and build a strategy for long term success. You will interactively walk through the assessment process and build a test automation strategy based on input from the group. Attend this workshop and you will take away a blue print and best practices for building an effective test automation strategy in your organization.
• Understand the key aspects of a successful test automation function
• Learn how to assess your test automation readiness
• Develop a test automation strategy specific to your organization
Building a Test Automation Strategy for SuccessLee Barnes
Choosing an appropriate tool and building the right framework are typically thought of as the main challenges in implementing successful test automation. However, long term success requires that other key questions must be answered including:
- What are our objectives?
- How should we be organized?
- Will our processes need to change?
- Will our test environment support test automation?
- What skills will we need?
- How and when should we implement?
In this workshop, Lee will discuss how to assess your test automation readiness and build a strategy for long term success. You will interactively walk through the assessment process and build a test automation strategy based on input from the group. Attend this workshop and you will take away a blue print and best practices for building an effective test automation strategy in your organization.
• Understand the key aspects of a successful test automation function
• Learn how to assess your test automation readiness
• Develop a test automation strategy specific to your organization
Using Selenium for Automated testing - basic level: short introduction into the selectors and basic methods used in writing a simple script with Selenium Webdriver.
"Learn All Aspects Of Appium step by step, Enhance your skills & Launch Your Career, On-Demand Course affordable price & classes on virtually every topic.Try Before You Buy
for maven online training visit: https://goo.gl/YKsHBZ"
In this Selenium presentation, we will learn about Selenium and a have a hands-on demo on the working of Selenium IDE and WebDriver. Selenium is an automated testing tool that tests web applications across various platforms and browsers. Selenium IDE, RC, WebDriver, and Grid constitute the Selenium suite. The tutorial video touches upon all the topics related to these components.
Selenium training has been designed to help developers and manual testers learn how to automate web applications with a robust framework, and integrate it within the DevOps processes of an organization. The course contains a lot of real-life examples and situations to demonstrate how to use Selenium WebDriver effectively.
The following are the key concepts of Selenium included in the presentation:
1. Manual testing and its limitations
2. What is Selenium
3. Selenium suite of tools
⦁ Selenium IDE with demo
⦁ Selenium RC
⦁ Selenium WebDriver with demo
⦁ Selenium Grid
4. Advantages of Selenium testing
5.Limitations of Selenium testing
What are the objectives of this Selenium training course?
This course will enable you to:
1. Revise the core Java concepts which are essential for learning Selenium WebDriver
2. Understand the scope of Test Automation in DevOps and fundamentals of Test Automation
3. Create Test Cases using Selenium IDE – Record and Playback tool
4. Understand Selenium WebDriver architecture and various layers of interaction
5. Set up WebDriver project in Eclipse and write test cases using TestNG
6. Locate elements using various locating techniques
7. Work with various WebDriver commands to drive web browser and various WebElement commands to deal with various web components
8. Learn to deal with various possible scenarios in terms of pop-ups, multiple Windows, frames, taking screenshots
9. Implement Page Object Design Pattern and Data-Driven Testing
10. Understand how to use Maven, ANT, AutoIT, Sikuli, log4j, and listeners
11. Learn to use Selenium Grid with TestNG for parallel execution
12. Execute a project from scratch by building automation framework and automating a few test scenarios
Who should take this Selenium training course?
The course is ideal for :
1. Test Managers
2. Test Engineers
3. Test Lead
4. Test Analyst
5. QA Engineers
6. Software Developers
7. Engineers who want to learn Automation testing
Learn more about https://www.simplilearn.com/selenium-certification-training?utm_campaign=Selenium-Tutorial-For-Beginners-cobEbkTwbwY
Katalon: Mobile and Browser-Based Automation | Quality Jam 2018Katalon Studio
Katalon's presentation at Quality Jam 2018 in Atlanta.
This session was covered Nilesh Patel (Director of Testing at KMS Technology) and Kyle McMeekin (Director of Tech Alliances at QASymphony).
Agenda:
1. KMS’ Automation Strategy
2. QAS’s automation stance to date
3. Better together: qTest + Katalon
4. Katalon Best Practices
5. What’s next?
6. Q&A
Learn more about Katalon Products at https://www.katalon.com/
Lightning Talks by Globant - Automation (This app runs by itself ) Globant
When you add new features to your application a lot of things can happen. Do you believe that the app is able to test itself by using automation? Just imagine testing everything manually due to that change. Do you know how many people will be needed to complete this process? The power of automated testing in the development lifecycle allows us things such as scheduling, and executing tests at any time with a big scope on thousands of mobile devices, websites and multiple browsers simultaneously making sure everything is working as expected.
Using Selenium for Automated testing - basic level: short introduction into the selectors and basic methods used in writing a simple script with Selenium Webdriver.
"Learn All Aspects Of Appium step by step, Enhance your skills & Launch Your Career, On-Demand Course affordable price & classes on virtually every topic.Try Before You Buy
for maven online training visit: https://goo.gl/YKsHBZ"
In this Selenium presentation, we will learn about Selenium and a have a hands-on demo on the working of Selenium IDE and WebDriver. Selenium is an automated testing tool that tests web applications across various platforms and browsers. Selenium IDE, RC, WebDriver, and Grid constitute the Selenium suite. The tutorial video touches upon all the topics related to these components.
Selenium training has been designed to help developers and manual testers learn how to automate web applications with a robust framework, and integrate it within the DevOps processes of an organization. The course contains a lot of real-life examples and situations to demonstrate how to use Selenium WebDriver effectively.
The following are the key concepts of Selenium included in the presentation:
1. Manual testing and its limitations
2. What is Selenium
3. Selenium suite of tools
⦁ Selenium IDE with demo
⦁ Selenium RC
⦁ Selenium WebDriver with demo
⦁ Selenium Grid
4. Advantages of Selenium testing
5.Limitations of Selenium testing
What are the objectives of this Selenium training course?
This course will enable you to:
1. Revise the core Java concepts which are essential for learning Selenium WebDriver
2. Understand the scope of Test Automation in DevOps and fundamentals of Test Automation
3. Create Test Cases using Selenium IDE – Record and Playback tool
4. Understand Selenium WebDriver architecture and various layers of interaction
5. Set up WebDriver project in Eclipse and write test cases using TestNG
6. Locate elements using various locating techniques
7. Work with various WebDriver commands to drive web browser and various WebElement commands to deal with various web components
8. Learn to deal with various possible scenarios in terms of pop-ups, multiple Windows, frames, taking screenshots
9. Implement Page Object Design Pattern and Data-Driven Testing
10. Understand how to use Maven, ANT, AutoIT, Sikuli, log4j, and listeners
11. Learn to use Selenium Grid with TestNG for parallel execution
12. Execute a project from scratch by building automation framework and automating a few test scenarios
Who should take this Selenium training course?
The course is ideal for :
1. Test Managers
2. Test Engineers
3. Test Lead
4. Test Analyst
5. QA Engineers
6. Software Developers
7. Engineers who want to learn Automation testing
Learn more about https://www.simplilearn.com/selenium-certification-training?utm_campaign=Selenium-Tutorial-For-Beginners-cobEbkTwbwY
Katalon: Mobile and Browser-Based Automation | Quality Jam 2018Katalon Studio
Katalon's presentation at Quality Jam 2018 in Atlanta.
This session was covered Nilesh Patel (Director of Testing at KMS Technology) and Kyle McMeekin (Director of Tech Alliances at QASymphony).
Agenda:
1. KMS’ Automation Strategy
2. QAS’s automation stance to date
3. Better together: qTest + Katalon
4. Katalon Best Practices
5. What’s next?
6. Q&A
Learn more about Katalon Products at https://www.katalon.com/
Lightning Talks by Globant - Automation (This app runs by itself ) Globant
When you add new features to your application a lot of things can happen. Do you believe that the app is able to test itself by using automation? Just imagine testing everything manually due to that change. Do you know how many people will be needed to complete this process? The power of automated testing in the development lifecycle allows us things such as scheduling, and executing tests at any time with a big scope on thousands of mobile devices, websites and multiple browsers simultaneously making sure everything is working as expected.
Automated Software Testing Framework Training by Quontra SolutionsQuontra Solutions
Learn through Experience -- We differentiate our training and development program by delivering Role-Based training instead of Product-based training. Ultimately, our goal is to deliver the best IT Training to our clients.
In this training, attendees learn:
Introduction to Automation
• What is automation
• Advantages of automation & Disadvantages of automation
• Different types of Automation Tools
• What to automate in projects
• When to start automation. Scope for automation testing in projects
• About open-source automation tools
Introduction to Selenium
• What is selenium
• Why selenium
• Advantage and Disadvantages of selenium
Selenium components
• Selenium IDE
• Selenium RC
• Selenium WebDriver
• Selenium Grid
Selenium IDE
• Introduction to IDE
• IDE Installation
• Installation and uses of Firepath, Firebug & Debug bar
• Property & value of elements
• Selenium commands
• Assertions & Verification
• Running, pausing and debugging script
• Disadvantages of selenium IDE
• How to convert selenium IDE Scripts into other languages
Locators
• Tools to identify elements/objects
• Firebug
• IE Developer tools
• Google Chrome Developer tools
• Locating elements by ID
• Finding elements by name
• Finding elements by link text
• Finding elements by XPath
• Finding Elements by using CSS
• Summary
Selenium RC
• What is selenium RC
• Advantages of RC, Architecture
• What is Eclipse/IntelliJ, Selenium RC configure with Eclipse/IntelliJ
• Creating, running & debugging RC scripts
Java Concepts
• Introduction to OOPs concepts and Java
• Installation: Java, Eclipse/IntelliJ, selenium, TestNg/JUnit
• operators in java
• Data types in java
• Conditional statements in java
• Looping statements in java
• Output statements in java
• Classes & Objects
• Collection Framework
• Regular Expressions
• Exception Handling
• Packages, Access Specifiers /Modifiers
• String handling
• Log4J for logging
Selenium Web Driver with Java
• Introduction to WebDriver
• Advantages
• Different between RC and WebDriver
• Selenium WebDriver- commands
• Generate scripts in Eclipse/IntelliJ. Run Test Scripts.
• Debugging Test Script
• Database Connections
• Assertions, validations
• Working with Excel
• Pass the data from Excel
• Working with multiple browser
• Window Handling, Alert/confirm & Popup Handling
• Mouse events
• Wait mechanism
• Rich Web Handling: Calendar handing, Auto suggest, Ajax, browser forward/back navigation, keyboard events, certificate handling, event listeners
TestNg/JUnit Framework
• What is TestNg/JUnit
• Integrate the Selenium Scripts and Run from TestNg/JUnit
• Reporting Results and Analysis
• Run Scripts from multiple programs
• Parallel running using TestNg/JUnit
Automation Framework development in Agile testing
• Introduction to Frame W
Foundation level testing Concepts,Non function testing ,Non-Functional testing ,Selenium Tool,
What is Software Testing Software Testing is an activity in software development.
It is an investigation performed against a software to provide information about the quality of the software to stakeholders.
Software testing is associated with the two terms.
Validation: Are we doing the right job?
Verification: Are we doing the job right?
Case study "Virtual Show Room" – VSR,water fall model,General Principles of Testing,
The General V-Model
Unit Testing
Component Testing
Integration Testing
System Testing
Acceptance Testing
Integration testing is the phase in software testing in which individual software modules are combined and tested as a group. Read complete guide of integration testing types and tools here.
Test Automation Strategy for Frontend and BackendArshad QA
This Test Automation strategy encompasses both frontend and backend testing, mobile automation, performance testing, and integration with CI/CD pipelines using Azure DevOps.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
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
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