Svoboda | Graniru | BBC Russia | Golosameriki | Facebook
SlideShare a Scribd company logo

1

SOFTWARE TESTING METHODS AND
AUTOMATION TESTING
Presenter:
Karnati Chandra Mouleswara Reddy B.Tech
Associate Software Engineer-Trainee
Sharing
and
Learning
Brain Zone

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.
software user
Examples:
1.Business Applications
2.Health Care Applications
3.Customer Products

3

FAULTY SOFTWARE
1.Waste of Time
2.Waste of Money
3.LOSS Brand
Reputation
4.Injury

4

WHY IS SOFTWARE TESTING NECESSARY?
Find Defects Measure Quality Provide confidence

5

DIFFERENCES BETWEEN VERIFICATION AND
VALIDATION
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
Critical
Major
Minor

7

Smoke Testing Re-Testing Regression Testing Formal Testing Ad hoc testing Sanity Testing
Types of Testing

8

Software Development Life Cycle (SDLC)
• Requirements
• Analysis
• Design
• Coding
• Testing
• Implementation
• Maintenance

9

STLC
Requirement
Analysis
Test Plan
Test Case
Development
Environment
Setup
Test Case
Execution
Test Cycle
Closure

10

Levels Of Testing

11

Advantaged and Disadvantages in manual testing
Advantages
• Application with short life cycle
• Applications that have GUI’s that
constantly changes
• 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
Disadvantages
• GUI objects size difference and color
combinations is not easy to find out in
manual testing.
• Load Testing and performance testing is
not possible in manual testing.
• Running Test manually is very time-
consuming job.
• 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
 Fast
 Repeatable
 Reusable
 Comprehensive
 Programmable
 Reliable

13

Comparison Between Manual And Automation
Testing
Manual Testing
• Manual testing is not accurate at all time due to
human error, hence it is less reliable
• Manual testing is time consuming, taking up
human resources.
• 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,
Ad-hoc testing
Automation 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
approach
• Investment is required for testing tools
• Automation Testing is a practical option when
the test cases are run repeatedly over a long
time period
• 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.…)

17

Selenium Suite of Tools
Selenium IDE Selenium WebDriver Selenium Grid

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.
System.setProperty("webdriver.chrome.driver","C:selenium scriptlibrary"
+ "chromedriver_win32 (3)/chromedriver.exe");
WebDriver driver=new ChromeDriver();
driver.get("http://sanaathana.org/");

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.

21

THANK YOU
FOR YOUR ATTENTION
STAY HOME STAY SAFE

More Related Content

Software testing

  • 1. SOFTWARE TESTING METHODS AND AUTOMATION TESTING Presenter: Karnati Chandra Mouleswara Reddy B.Tech Associate Software Engineer-Trainee Sharing and Learning Brain Zone
  • 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. software user Examples: 1.Business Applications 2.Health Care Applications 3.Customer Products
  • 3. FAULTY SOFTWARE 1.Waste of Time 2.Waste of Money 3.LOSS Brand Reputation 4.Injury
  • 4. WHY IS SOFTWARE TESTING NECESSARY? Find Defects Measure Quality Provide confidence
  • 5. DIFFERENCES BETWEEN VERIFICATION AND VALIDATION 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 Critical Major Minor
  • 7. Smoke Testing Re-Testing Regression Testing Formal Testing Ad hoc testing Sanity Testing Types of Testing
  • 8. Software Development Life Cycle (SDLC) • Requirements • Analysis • Design • Coding • Testing • Implementation • Maintenance
  • 11. Advantaged and Disadvantages in manual testing Advantages • Application with short life cycle • Applications that have GUI’s that constantly changes • 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 Disadvantages • GUI objects size difference and color combinations is not easy to find out in manual testing. • Load Testing and performance testing is not possible in manual testing. • Running Test manually is very time- consuming job. • 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  Fast  Repeatable  Reusable  Comprehensive  Programmable  Reliable
  • 13. Comparison Between Manual And Automation Testing Manual Testing • Manual testing is not accurate at all time due to human error, hence it is less reliable • Manual testing is time consuming, taking up human resources. • 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, Ad-hoc testing Automation 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 approach • Investment is required for testing tools • Automation Testing is a practical option when the test cases are run repeatedly over a long time period • 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.…)
  • 17. Selenium Suite of Tools Selenium IDE Selenium WebDriver Selenium Grid
  • 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. System.setProperty("webdriver.chrome.driver","C:selenium scriptlibrary" + "chromedriver_win32 (3)/chromedriver.exe"); WebDriver driver=new ChromeDriver(); driver.get("http://sanaathana.org/");
  • 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.
  • 21. THANK YOU FOR YOUR ATTENTION STAY HOME STAY SAFE