A Modern Dive into Automation and Beyond
This presentation provides a comprehensive overview of software testing and test automation fundamentals, techniques, and tools. It covers:
1) Basics of software testing - validation, verification, key testing types
2) Introduction to manual testing - its role, writing test cases, test management
3) Overview of test automation - benefits, categories, examples
4) Web test automation - tools like Selenium, Cypress, Playwright
5) Mobile test automation - tools like Appium, Espresso, XCUITest
6) Leveraging AI for test automation
1 of 29
More Related Content
A Modern Dive into QA Automation and Beyond
1. A Modern Dive into
Automation and Beyond
By Pratik Patel
Alphabin Technology Consulting @ 2023
2. About me
Founder of a QA consulting 鍖rm (Alphabin) providing
top-notch solutions to startups and mid-scale
companies in ecommerce, banking, and real estate
industries
QA Automation Consultant pro鍖cient in Mobile/Web
Automation Testing(Selenium, Appium & Cypress)
Mentoring the passionate engineers to become good
QA Engineers
Published author of "Make the move to automation
with Appium" book (Sponsored by Kobiton)
2
Alphabin Technology Consulting @ 2023
3. Objectives
1 Fundamentals of the Software Testing
2 Introduction of Manual Testing
3 Overview of Automation Testing
4 Categories of Automation Testing
5 Automation Testing for Web UI and Mobile UI
6 Q & A
3
Alphabin Technology Consulting @ 2023
5. Fundamentals of the Software Testing
Software development is hard. Testing that software is hard, too!
Why software testing needed?
Imagine building a rocket without checking its engines? Software without
testing is like launching a rocket without double-checking the launchpad.
Chaos!
5
Alphabin Technology Consulting @ 2023
7. 1. Validation and Veri鍖cation:
- Validation: Checking if the right product is being built.
- Veri鍖cation: Checking if the product is being built correctly.
2. Category of Testing:
- Functional Testing: Verifying speci鍖c functions work as expected.
- Non-Functional Testing: Evaluating performance, security, usability, etc.
3. Few popular testing types:
- Unit Testing: Testing individual components or modules.
- Integration Testing: Testing interactions between components.
- System Testing: Testing the complete software system.
- Acceptance Testing: Ensuring the software meets user requirements.
- Regression Testing: Ensuring new changes don't break existing functionality.
7
Alphabin Technology Consulting @ 2023
9. Introduction of Manual Testing
Manual testing is a hands-on approach where testers evaluate software by
executing test cases without automation tools.
Fundamentals:
1. Human Insight
2. Adaptability
3. Early Detection and Defect Prevention
9
Alphabin Technology Consulting @ 2023
10. QA Process
1. Test planning and design
2. Test execution
3. Reporting
10
Alphabin Technology Consulting @ 2023
11. Burning question
Future of Manual testing in
Generative AI and LLM world ? 鶲刑
11
Alphabin Technology Consulting @ 2023
12. In My Opinion !
1. AI is good in writing manual tests !
2. Decreasing demand for core manual testers who dont know automation and
how to use generative AI (ChatGPT, Bard, Notion etc.)
3. There will still be a need for manual testers to perform tasks that AI cannot do!
a. Design aesthetics and emotional responses
b. Complex apps where human has more domain knowledge (Ex: 鍖nance
domain knowledge including rules/regulations)
12
Alphabin Technology Consulting @ 2023
13. How to write test cases? & Test management tools
How to write test case?
Writing effective manual test cases is crucial for comprehensive testing.
Manual test case should include the following:
Test scenario, Test Step, Test Data, Expected Result, Actual Result, Priority & Severity etc.
To test the functionality we can create both positive and negative test cases. Here is one
example to write manual test cases:
https://docs.google.com/spreadsheets/d/1ToltRM3Ly08-27XfBX4XJoNiocrkCusjHnfjPc5bbB
M/edit?usp=sharing
Test management tools:
JIRA X-Ray
TestRail
TestLodge
Testlink
qTest
13
Alphabin Technology Consulting @ 2023
15. What is Automation Testing?
Automation testing involves the use of specialized tools and scripts to automate the
execution of test cases, making the testing process more ef鍖cient, reliable and
repeatable.
It offers signi鍖cant bene鍖ts that enhance the quality and ef鍖ciency of your
applications testing process. Lets explore this with a clear example:
Consider a mobile banking application that needs thorough testing before each
release.
Manual testing would require testers to navigate through various transactions,
account balances, and security features on multiple devices and platforms. This
process is time-consuming, error-prone, and challenging to replicate
consistently.
It could take 1 day to completely test the app manually!
With automation it could be only 1 hour!
15
Alphabin Technology Consulting @ 2023
18. Categories of Automation Testing
Automation testing can be categorized into several types based on the scope, purpose, and level of
automation. Here are some of main categories of automation testing.
1. Unit Testing
2. Integration Testing
3. Functional Testing
4. Regression Testing
5. Smoke Testing
6. Load Testing
7. Performance Testing
8. Security Testing
9. Compatibility Testing
10. Usability Testing etc..
18
Alphabin Technology Consulting @ 2023
20. Automation Testing for Web UI
- Automation testing for web user interface is powerful approach that signi鍖cantly improves the
testing process, ensuring a seamless and user-friendly experience for your web applications.
- Example: Automating Login Functionality
- Consider a web application that requires users to login before accessing personalized
content. Automating the login functionality provides a clear example for web UI automation
testing.
- We must follow the Test Steps to automate the test cases, like:
1. Navigate to Login Page
2. Enter Credentials
3. Click Login
4. Verify Successfully Login
5. Logout
- Here is the sheet which include demo projects which weve created using some of the automation
tools:
https://docs.google.com/spreadsheets/d/1A7ku0tNSl8ewtR79HJpjM-uUHFxUgb4w0T6_PW_GV
Kg/edit?pli=1#gid=1843045413
20
Alphabin Technology Consulting @ 2023
21. Automation Testing Tools for Web UI
Below are the popular tools for the automating web application:
1. Selenium (Java, NodeJS, Python, Ruby, PHP, C#)
- Selenium WebDriver (Java, JS/NodeJS, Python)
- Selenium Grid (Java)
- Webdriver.io (JS/NodeJS)
2. Cypress (JS/NodeJS)
3. Puppeteer (JS/NodeJS)
4. Playwright (JS/NodeJS)
And many others including different enterprise tools Tosca, GhostInspector, Mabl etc.
21
Alphabin Technology Consulting @ 2023
23. Automation Testing for Mobile UI
- Automation testing for mobile user interface is a critical process that ensures the functionality,
usability and performance of mobile applications across various devices and platforms.
- Example: Consider demo app that allows users to login within application.
1. Test Scenario: Login functionality
2. Test Steps:
- Launch the demo app
- Fill login form with valid credentials
- Click the Login button.
- Verify that a success message appears.
- Here is the sheet which include demo projects which weve created using some of the automation
tools:
https://docs.google.com/spreadsheets/d/1A7ku0tNSl8ewtR79HJpjM-uUHFxUgb4w0T6_PW_GV
Kg/edit?pli=1#gid=1740376259
23
Alphabin Technology Consulting @ 2023
24. Below are the popular tools for the automating mobile application:
1. Appium (Java, NodeJS, Python, Ruby, PHP, C#)
2. Espresso (Android/Java)
3. UI Automator (Android/Java)
4. FlutterDriver (Android/Dart)
5. XCUITest (iOS/Swift)
6. Webdriver.io (JS/NodeJS)
7. Wd (JS/NodeJS)
8. Maestro (JS/NodeJS)
9. Detox(JS/NodeJS - React Native)
Automation Testing Tools for Mobile UI
24
Alphabin Technology Consulting @ 2023
26. In My Opinion !
1. It is not that good in writing automated tests !
2. I did not 鍖nd it useful with Cypress and Appium personally.
3. Its really good on generating test data though.
a. Generate the random but unique emails.
b. Generate the fake USA phone numbers.
4. You can generate the test scripts faster and better.
5. It generates a great set of unit tests. (Ex: codium.ai)
26
Alphabin Technology Consulting @ 2023
27. Some nice generative AI tools which helps on Automation testing!
1. AutoML Vision Edge - Mobile testing
2. Azure Test Studio - Web testing
27
Alphabin Technology Consulting @ 2023