際際滷

際際滷Share a Scribd company logo
A Modern Dive into
Automation and Beyond
By Pratik Patel
Alphabin Technology Consulting @ 2023
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
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
Fundamentals
Of
Software Testing
1
4
Alphabin Technology Consulting @ 2023
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
One more example!
6
Alphabin Technology Consulting @ 2023
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
Introduction
Of
Manual Testing
2
8
Alphabin Technology Consulting @ 2023
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
QA Process
1. Test planning and design
2. Test execution
3. Reporting
10
Alphabin Technology Consulting @ 2023
Burning question 
Future of Manual testing in
Generative AI and LLM world ? 鶲刑
11
Alphabin Technology Consulting @ 2023
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
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
Overview
Of
Automation Testing
3
14
Alphabin Technology Consulting @ 2023
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
Pros of Automation Testing
Key fundamentals are below:
1. Enhanced Device Coverage
2. Scalability and Adaptability
3. Cost-Ef鍖ciency
4. Parallel Test Execution
5. Regression Testing
6. Complex Scenario Testing
7. Faster Feedback Loop
8. Continuous Integration/Delivery (CI/CD)
9. Resource Optimization
10. Data-Driven Testing
11. Non-Functional Testing
16
Alphabin Technology Consulting @ 2023
Categories of Automation Testing
4
17
Alphabin Technology Consulting @ 2023
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
Automation Testing for Web UI
5
19
Alphabin Technology Consulting @ 2023
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
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
Automation Testing for Mobile UI
6
22
Alphabin Technology Consulting @ 2023
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
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
Leveraging generative
AI in Automation!
25
Alphabin Technology Consulting @ 2023
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
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
Q & A
28
Alphabin Technology Consulting @ 2023
Thank you!
Alphabin Technology Consulting @ 2023 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
  • 6. One more example! 6 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
  • 16. Pros of Automation Testing Key fundamentals are below: 1. Enhanced Device Coverage 2. Scalability and Adaptability 3. Cost-Ef鍖ciency 4. Parallel Test Execution 5. Regression Testing 6. Complex Scenario Testing 7. Faster Feedback Loop 8. Continuous Integration/Delivery (CI/CD) 9. Resource Optimization 10. Data-Driven Testing 11. Non-Functional Testing 16 Alphabin Technology Consulting @ 2023
  • 17. Categories of Automation Testing 4 17 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
  • 19. Automation Testing for Web UI 5 19 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
  • 22. Automation Testing for Mobile UI 6 22 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
  • 25. Leveraging generative AI in Automation! 25 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
  • 28. Q & A 28 Alphabin Technology Consulting @ 2023
  • 29. Thank you! Alphabin Technology Consulting @ 2023 29