Wednesday, May 25, 2022

Types of Software Testing

 Software Testing:

  •  The process of finding errors in the developed product.
  •  Testing the software whether it is working according to the requirement.


Two ways of Testing:

 1. Manual Testing

 2. Automation Testing


Manual Testing:

  •  Manual testing is verifying the software manually and finding errors without the intervention of any tools.
  •  The tester has to execute each test case one by one.
  •  They give input and manually verify the output.


Automation Testing:

  •  Automation Testing is testing the software with the help of some automation tools like Selenium.
  •  The code is run for automating tests and the input data is given to the tool.
  •  The output data is compared with the expected results.
  •  Automation testing is generally performed for repeated tasks so that time can be saved.


Levels of Testing:

 1. Unit Testing

 2. System Testing

 3. Integration Testing

 4. Acceptance Testing


1. Unit Testing:

  •  Unit testing is the first level of testing usually performed by the developers.

Advantage: Error can be detected at an early stage saving time and money to fix it.


2. System Testing:

  •  Complete application testing.
  •  Done by Testers.
  •  Black Box Testing Techniques.
  •  FRS and test case document.

System Testing Categories:

  •  Usability Testing
  •  Functional Testing
  •  Performance Testing
  •  Security Testing


3. Integration Testing:

  •  Combining/merging modules.
  •  Done by Developers.
  •  White box testing technique.

4. Acceptance Testing:

  •  Getting approval from the client.
  •  Done by the client.
  •  Satisfying client requirements.


Types of Testing:

 1. Functional Testing

 2. Non-Functional Testing


1. Functional Testing:

  •  Testing the behaviour of the application.
  •  Based on how well the system is working.

Alpha Testing:

  •  The application is tested for the first time.
  •  Done under the supervision of developers.

Beta Testing:

  •  The application is tested a second time.
  •  Before the final release of the software is released to users for testing.

Smoke Testing:

  •  Testing the primary functionality of the application.

Sanity Testing:

  •  Testing the minor functionality of the application.

Regression Testing:

  •  Testing the whole application to check whether new requirement changes affect previous functionality.

Retesting:

  •  Testing only the bugs fixed by the developers.


2. Non-Functional Testing:

  •  Based on how well the system is performed.
  •  Testing the performed to verify the non-functional requirements of the application.

Usability Testing:

  •  User Friendly
  •  Look and Feel
  •  Ease of use
  •  Speed in Interface
  •  Context Sensitiveness

Performance Testing:

  •  Load Testing
  •  Stress Testing
  •  Data/Volume Testing

Security Testing:

  •  Protecting from unauthorized access.

Compatibility Testing:

  •  OS Compatability - Testing in multiple OS.
  •  Browser Compatability - Testing in multiple Browsers.


Software Testing Interview Questions and Answers:

1. STLC - stands for Software Testing Life Cycle.

  Requirements and analysis, test planning, test design, test execution, error report, solving the error, re-test, test close.

2. Software Quality:

  •   Quality is ensured by two sets of activities. verification and validation.

  Verification - It involves activities like document review, test case review, walk-throughs, and inspections.

  Validation - It involves activities like functional testing and automation testing.

3. Workflow of Functional Testing:

  •   Create input values.
  •   Execute test cases.
  •   Compare actual and expected output.

4. Client Expectation:

  Completeness, correctness, quality.

5. Tester Responsibility: (Zero bugs and 100% quality)

  •   Execute test cases
  •   Positive and Negative Conditions.
  •   Manual or Automation tools.

 6. Error - Done by the developer in code

   Bug - Tester identifies the errors.

7. Quality - Meeting client requirements.

   Customer needs or expectations.

8. How to measure Quality:

  Functionality, Usability, Reliability, Performance, and Scalability.

9. Bug - unexpected or incorrect result.

10. Main Goal of Testing:

  Expected Result = Actual Result (Test Pass)

  Expected Result != Actual Result (Test Fail)

11. Severity - the impact of a bug on the software.

   Priority - is how soon a bug needs to be fixed.

No comments:

Post a Comment