Tuesday, 31 July 2018

Introduction to Automation Testing

Selenium for Automation Testing
------------------------------

Introduction to Automation Testing:
-----------------------------------
S/w Testing:
It is a combination of Verification and Validation
S/w testing will help to identify defects, when those are resolved then S/w quality improves
S/w Testing methods:
there are 2 types of approaches to validate applications
1. Manual Testing:
2. Automation testing:

1. Manual Testing:
Without using any automation tool TE directly interact with application to verify actual behavior while performing
operations is called manual testing
for manual testing we prepare test cases and those are used to validate application
Advantages:
-It is simple and easy to perform for small projects
-less cost compare to automation testing for small projects
Disadvantages:
-Time consuming
-Inconsistency (Focus)
-Lack of Reliability (Human Errors)
2. Automation Testing:
Any task or activity performed with help of tool/programs is called Automation
ex: Using Calculator to find multiplication of values is an example for Automation

**Automating human activities (i.e. Test Execution) in order to validate application is called Automation testing
Automation testing can be performed using programming languages (eg., C#) or scripting languages (eg., Perl script) or
using any one of the 3rd party automation tool like Selenium/QTP/Test Complete, etc.,

For Automation Testing we need to develop the automation test scripts

Advantages:
-Fast in Execution
-More Consistency
-More Reliability
-Automation test scripts are Reusable
-Automation test scripts are repeatable

Disadvantages:
-Automation testing is an expensive
-Skilled Automation TE's are required
-Some Technologies/Environments are not possible to automate

Selection Criteria for a project to perform Automation testing:
--------------------------------------------------------------
Following are the factors they check to confirm project is suitable for automation testing or not
-More resource required and time consuming to validate application
-Multiple Releases are expecting
-Application Environment supports automation tools
-Avilable budget


Some of the Common activities during Manual testing and Automation Testing:
-------------------------------------------------------------------------
1. Manual Testing:
Identify Test SCenarios
prepare test cases
perform test execution
Defect Reporting
Getting them fixed
2. Automation Testing:
Identify Automation Test scenarios
Develop the automation test scripts
Execution of Test scripts
Analyze results
Defect Reporting
Getting them fixed
============================================================================
SCenarios which are prefered for Automation testing:
In general scenarios which are complex to perform manually and more repeatable those are more suitable for
Automation testing
ex:
Build Verification Test Scenarios(BVT)
Re-Testing Scenarios
Regression Test Scenarios

Scenarios which are not preferable for Automation testing:
Scenarios which are not repeatable and easy to perform manually those are not suitable for automation testing
ex:
GUI Test Scenarios {Cosmetic, Look-N-Feel of the application}
Usability Test scenarios {User friendlyness/Ease of use}
One time testing activities
Informal testing activities such as exploratory testing, smoke testing, sanity testing etc.,
Note:  For one project, there can be Manual testing team and Automation testing team, for some of the
projects Automation testing is an optional

Note:  In general, Automation test scripts are designed/developed only once a stable build is available

Selenium Course Content

Selenium course content
1. Introduction to Automation Testing
2. Introduction to Selenium
3. Working with Selenium IDE
4. WebDriver Configuration
5. Java concepts-1
-Creating java program
-output functions
-using Scanner class
-Variable Declaration and Data types
-some String methods
6. Launching Web Browser and Browser Interaction commands
7. Addressing WebElements/Locators
8. Working on Multiple browsers
9. Java concpets-2
-Conditional statements
-Loop statements
-Array Declaration
-ArrayList Declaration
10. Working on WebElements
-Edit box/Text box
-Dropdowns
-checkboxes
-Radio buttons
-Links
-push buttons
11. working with WebTable
12. WD validation commands
-isSelected()
-isEnabled()
-isDisplayed()
13. Synchroniation in WD
14. Working on pupups
-Web based popups
-Windows based popups
-using Robot class
-using AutoIT
15. working on Frames
16. Working on Multiple windows
17. working with Actions class
18. TakesScreenshot
19. JavascriptExecutor
20. Java concepts-3 {OOPS concepts}
-class with multiple methods
-static methods
-non static methods
-method overloading
-Constructor and its overloading
-Inheritance
-Method overriding
21. Frameworks in Selenium
-Modular Framework
-Page Object Model Framework  (POM)
-TestNG framework
-Data Driven Framework
-Keyword Driven Framework
22. Working with Maven
23. Working iwth Jenkins
24. Appium
=========================================================