Software Development Life Cycle (SDLC) |
The process of planning, creating, testing, and deploying software applications.
-
Common Phases:
-
Requirement Analysis: Gathering and documenting user requirements.
-
Design: Creating a blueprint or architecture of the software.
-
Implementation: Writing code according to design specifications.
-
Testing: Verifying and validating the software to ensure it meets requirements.
-
Deployment: Releasing the software for use by end-users.
-
Maintenance: Providing updates, bug fixes, and enhancements to the software.
Example:
-
Requirement Analysis: Interviewing stakeholders to gather requirements for a new project.
|
Testing |
The process of evaluating software to identify bugs, errors, and discrepancies.
-
Common Testing Types:
-
Unit Testing: Testing individual components or modules of the software.
-
Integration Testing: Testing how different components work together.
-
System Testing: Testing the entire system as a whole.
-
User Acceptance Testing (UAT): Testing by end-users to ensure it meets their needs.
-
Testing Techniques:
-
Black Box Testing: Testing without knowledge of the internal workings of the software.
-
White Box Testing: Testing with knowledge of the internal code and structure.
-
Regression Testing: Re-testing to ensure that previously fixed bugs have not reappeared.
Example:
-
Unit Testing: Writing tests to verify the functionality of individual functions in a codebase.
|
Maintenance |
The process of updating, modifying, and improving software after deployment.
-
Types of Maintenance:
-
Corrective Maintenance: Fixing bugs and errors discovered after deployment.
-
Adaptive Maintenance: Modifying the software to adapt to changes in the environment or requirements.
-
Perfective Maintenance: Enhancing the software to improve performance or add new features.
-
Preventive Maintenance: Proactively identifying and fixing potential issues before they become problems.
Example:
-
Corrective Maintenance: Releasing a patch to fix a critical security vulnerability discovered in a deployed application.
|