22518 Software Testing Unit 2 Notes PDF

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

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

 

 

                              Software testing is essential to validate that a software product works as intended and to identify any defects. Let's explore the types and levels of software testing:

 

Levels of Software Testing:

  1. Unit Testing:
    • Purpose: Test individual units or components of a software.
    • Conducted by: Developers, typically.
    • Tools: JUnit, NUnit, TestNG, etc.
  2. Integration Testing:
    • Purpose: Test interactions between integrated components or systems to detect interface defects.
    • Conducted by: Development or testing teams.
    • Types: Big Bang, Top Down, Bottom Up, Incremental.
    • Tools: JUnit, TestNG, Postman, SoapUI.
  3. System Testing:
    • Purpose: Test the complete integrated software system to validate that it meets specified requirements.
    • Conducted by: Testing teams.
    • Environment: Environment that closely resembles the production environment.
  4. Acceptance Testing:
    • Purpose: Ensure the software satisfies the business requirements and criteria for delivery.
    • Conducted by: Clients, end-users, or stakeholders.
    • Types: Alpha (conducted by developer's QA team) and Beta (conducted by a select group of external users).

 

Types of Software Testing:

  1. Functional Testing:
    • Purpose: Validate that the software performs its defined functions.
    • Types: Smoke, Sanity, Regression, etc.
  2. Non-functional Testing:
    • Purpose: Evaluate non-functional aspects like performance, usability, etc.
    • Types: Performance testing, Load testing, Stress testing, Scalability testing, Usability testing, etc.
  3. Exploratory Testing:
    • Purpose: Identify defects without predefined test cases, exploring the application.
  4. Ad-hoc Testing:
    • Purpose: Testing without a formal test plan or outside of test cases.
  5. Compatibility Testing:
    • Purpose: Ensure software is compatible across different environments, devices, browsers, etc.
  6. Performance Testing:
    • Purpose: Ensure software works under the load and stress of many users.
    • Types: Load (simulating many users), Stress (testing under extreme conditions), Volume (large data volumes), Spike (sudden increases in user load).
  7. Security Testing:
    • Purpose: Identify vulnerabilities and weaknesses.
  8. Usability Testing:
    • Purpose: Ensure the software is user-friendly.
  9. End-to-End Testing:
    • Purpose: Test the flow of an application from start to finish ensuring it behaves as expected.
  10. Regression Testing:

·        Purpose: Ensure recent code changes haven't adversely affected existing features.

  1. Installation Testing:

·        Purpose: Verify the software installs successfully and works as intended.

  1. Recovery Testing:

·        Purpose: Ensure the software can recover from failures.

  1. Localization & Globalization Testing:

·        Purpose: Ensure software behaves correctly in different regions and locales.

  1. Accessibility Testing:

·        Purpose: Ensure the software can be used by people with disabilities.

  1. Monkey Testing:

·        Purpose: Random testing without any specific use case in mind.

  1. Reliability Testing:

·        Purpose: Ensure software consistently performs according to its specifications.

 

Conclusion:

                              Each level and type of software testing has its unique objectives and significance in the software development lifecycle. By adopting the right testing strategies and techniques at the appropriate stages, organizations can ensure they produce high-quality, reliable software products that meet user expectations and requirements.

 


Post a Comment

Previous Post Next Post