22518 Software Testing Unit 1 Notes PDF

22518 Software Testing Notes PDF | MSBTE Computer Engineering All Units Notes

 Click on Download Button to Download 22518 Software Testing Unit 1 Notes PDF

 

 


                              Software testing is an essential process to ensure the quality of software products or services. It involves executing a software component or system component to evaluate one or more properties of interest.

 

Basics of Software Testing:

  1. Purpose: Software testing helps identify defects or discrepancies between the actual and expected outcomes.
  2. Importance: It ensures the software meets business requirements, functions as expected, can be implemented with the same characteristics consistently, and satisfies the needs of stakeholders.
  3. Levels: Testing is performed at various stages of software development.
    • Unit Testing: Test individual units or components of a software.
    • Integration Testing: Test interfaces between components or integrated units.
    • System Testing: Test complete integrated systems.
    • Acceptance Testing: Check if the system meets business requirements and is ready for delivery.

 

Types of Testing Methods:

  1. Manual Testing: Test cases are executed manually without any tool support.
  2. Automated Testing: Test cases are executed with the help of tools, scripts, and software.

 

Testing Techniques:

  1. Black Box Testing: Testing based on external or functional specifications without knowledge of how the system is constructed.
    • Examples: Functional testing, Non-functional testing, Usability testing.
  2. White Box Testing: Testing based on internal structures of an application.
    • Examples: Statement coverage, Branch coverage, Path testing.
  3. Grey Box Testing: Combines both Black Box and White Box testing methods.

 

Common Testing Methods:

  1. Functional Testing: Validate the software system to ensure it behaves according to the specified requirements.
  2. Non-functional Testing: Validate non-functional attributes like performance, usability, reliability, etc.
    • Examples: Performance testing, Load testing, Stress testing, Usability testing.
  3. Regression Testing: Ensure that new code changes don't negatively impact existing functionalities.
  4. Smoke Testing: Conduct preliminary testing to check the software's basic functionalities.
  5. Sanity Testing: Check specific functionalities for correctness after a minor change.
  6. Exploratory Testing: Explore the application to identify defects without any predefined test cases.
  7. Ad-hoc Testing: Similar to exploratory testing, but it's random and doesn't follow any test design techniques.
  8. Compatibility Testing: Ensure that the software runs in different environments: devices, operating systems, network environments, etc.
  9. Security Testing: Identify vulnerabilities and weaknesses in the software system.
  10. User Acceptance Testing (UAT): Final phase of testing where end-users ensure the software system meets their business needs.
  11. Beta Testing: Release the software to a limited group of individuals to get feedback before the final release.

 

Conclusion:

                              Software testing is a vast field that encompasses various techniques, methods, and types, each with a specific goal. The right mix of these methodologies ensures the release of a high-quality software product. Proper testing reduces the risk of software failures and defects in the production environment, leading to higher user satisfaction and lower maintenance costs.

 


Post a Comment

Previous Post Next Post