Introduction to Software Testing PDF - SLIIT Lecture Notes

Summary

This document contains Lecture 1 notes on software testing, covering topics such as software quality, testing processes, and relevant principles. It contains valuable information on identifying software defects, with real-world examples of the importance of testing. The document is from the Sri Lanka Institute of Information Technology.

Full Transcript

SOFTWARE ENGINEERING PROCESS AND QUALITY MANAGEMENT Lecture 1 – Introduction to Software Testing What is Software Quality? Quality is conformance to requirements (Producer View) - Philip Crosby Quality is fit for use (Customer View) - Joseph Juran & Edwards Deming What is Softwa...

SOFTWARE ENGINEERING PROCESS AND QUALITY MANAGEMENT Lecture 1 – Introduction to Software Testing What is Software Quality? Quality is conformance to requirements (Producer View) - Philip Crosby Quality is fit for use (Customer View) - Joseph Juran & Edwards Deming What is Software Testing? Software testing is the process of evaluating a software application to identify defects and ensure it meets quality standards. Importance of Software Testing for Quality - Helps detect defects early - Ensures software meets business and user needs - Improves reliability, security, and maintainability - Reduces post-release failures and maintenance costs What happens when software testing is not done properly? Windows 10 Update Deletes User Files (2018) – Read More Knight Capital Trading Glitch (2012) – $440 Million Loss in 45 Minutes –Read More NASA’s Mars Climate Orbiter (1999) – $327 Million Lost – Read More How is Software Testing Done? - Manual Testing: Performed without automation tools - Automated Testing: Uses scripts and tools - Static Testing: Reviews and inspections - Dynamic Testing: Executing test cases Basic Terminology in Software Testing - Bug/Defect: A flaw causing incorrect results - Test Case: Set of conditions for testing - Test Plan: Strategy for testing - Validation: Ensures software meets user needs - Verification: Ensures software meets requirements Types of Software Testing 1. Functional Testing: - Unit Testing - Integration Testing - System Testing - User Acceptance Testing (UAT) Types of Software Testing 2. Non-Functional Testing: - Performance Testing - Security Testing - Usability Testing - Compatibility Testing Software Testing Principles - Testing shows presence of defects, not absence - Exhaustive testing is impossible - Early testing saves time & cost - Defect clustering - Pesticide paradox - Testing is context-dependent - Absence of errors is a fallacy Software Testing Process Requirement Analysis Test Planning Test Case Development Test Execution Defect Reporting Test Closure Common Challenges in Software Testing Changing requirements Time constraints Complexity in large software systems Defect leakage Need for skilled testers Conclusion Software testing is critical for ensuring quality, reliability, and security. Understanding principles, types, and processes helps teams build better software.

Use Quizgecko on...
Browser
Browser