1. SOFTWARE TESTING METHODS AND
Karnati Chandra Mouleswara Reddy B.Tech
Associate Software Engineer-Trainee
2. What is Software Testing?
1. Software Testing is defined as an activity to check whether the actual results match the
expected results and to ensure that the software system is Defect free.
2. Software Testing is a way to assess the quality of the software and to reduce the risk of
software failure in operations.
2.Health Care Applications
4. WHY IS SOFTWARE TESTING NECESSARY?
Find Defects Measure Quality Provide confidence
5. DIFFERENCES BETWEEN VERIFICATION AND
Verification :- It is the process of checking that a software
achieves its goal without any bugs. It is the process to ensure
whether the product that is developed is right or not. It verifies
whether the developed product fulfills the requirements that
we have. Verification is static testing.
Verification means Are we building the product right?
Validation:- is the process of checking whether the software
product is up to the mark or in other words product has high
level requirements. It is the process of checking the validation
of product i.e. it checks what we are developing is the right
product. it is validation of actual and expected product.
Validation is the dynamic testing.
Validation means Are we building the right product?
6. What Is Software Bug?
A software bug is an error, flaw or fault in a computer program or system that causes it to produce an incorrect or unexpected
result, or to behave in unintended ways.
A Software bug can be mainly categorized as
11. Advantaged and Disadvantages in manual testing
• Application with short life cycle
• Applications that have GUI’s that
• Manual QA testing can be used in both
small and big projects.
• Easily we can update our test cases
according to the project moment
• It is covered in limited cost
• GUI objects size difference and color
combinations is not easy to find out in
• Load Testing and performance testing is
not possible in manual testing.
• Running Test manually is very time-
• Regression test cases are time consuming
if it is manually tested.
12. What Is Automation Testing?
Automation testing is a Software testing technique to test and compare the actual outcome with the expected outcome. This can
be achieved by writing test scripts or using any automation testing tool. Test automation is used to automate repetitive tasks and
other testing tasks which are difficult to perform manually.
Benefits of Automation Testing
13. Comparison Between Manual And Automation
• Manual testing is not accurate at all time due to
human error, hence it is less reliable
• Manual testing is time consuming, taking up
• Investment is required for human resource
• Manual testing is inly practical when the test
cases are run once or twice, and frequent
repetition is not required
• Examples: Exploratory testing, Usability Testing,
• Automation testing is more reliable, as it is
performed by tools and script
• Automation testing is executed by software
tools, so it is significantly faster than manual
• Investment is required for testing tools
• Automation Testing is a practical option when
the test cases are run repeatedly over a long
• Examples: Regression testing, performance
testing, Load testing, Repeated Testing
14. What is Selenium
Selenium is an open-source tool that is used for automating the tests carried out on web browsers (Web applications are
tested using any web browser).
Selenium is widely used for regression testing.
Selenium is not just a single tool but a suite of software.
15. Features of Selenium
Selenium is a functional Automation tool for web applications.
Selenium is a open source tool.
Selenium support the languages like HTML, Java, C#, python, Ruby and php.
It support the browsers like Google chrome, Firefox, Safari, IE, opera.
It support the operating system like Windows, Linux and Mac.
It is very flexible when compared to QTP and other functional testing tools, because it support multiple languages.
Allow you to run multiple tests at a time
16. Why Use/Learning Selenium
Increases your marketability
Has a lot of Java planks
Growing Industry standard
Assist with the deployment of defective-free code
Open source, web-based testing automation tool and cross-browser compliant
Multi-language backend support (Java, Ruby, Python, C#, PHP, etc.…)
18. Selenium IDE
IDE stands Integrated Development Environment
Which used to record and play back the script
It support Both Chrome and Firefox
It is not possible to test dynamic web applications;
only simple tests can be recorded
Does not support Data driven testing
19. Selenium WebDriver
WebDriver is a Tool for automating web applications across different browsers using different programming languages and
verifying that they work as expected.
WebDriver is faster than others
Selenium WebDriver directly talks to the browser there is no interaction to the server
The WebDriver main functionality is to control the browser. It even helps us to select the HTML page elements and perform
operations on them such as click, filling a form fields etc.
If we want to execute your test cases in Firefox browser, we have to use FirefoxDriver class. Similarly, if we want execute the
test cases in Chrome browser, we have to use ChromeDriver class.
+ "chromedriver_win32 (3)/chromedriver.exe");
WebDriver driver=new ChromeDriver();
20. Selenium Grid
What id Gris?
Selenium Grid allows you run your tests on different machines against different browsers in parallel.
Benefits of Selenium Grid:
Selenium Grid gives the flexibility to distribute your test cases for execution.
Reduces the batch processing time.
Can perform multi browser testing.
Can perform multi OS testing.
Mainly used in compatibility testing.