Testing is an integrated and aligned activity throughout the Software Development Life Cycle (SDLC), from planning to maintenance. During the planning phase, testing objectives, scope, strategy, plan, and schedule are defined. Resources, roles, and responsibilities are identified. Standards, criteria, and metrics are established. The analysis phase involves analyzing the requirements and specifications of the software to identify testable features and functions. Designing test cases and scenarios based on the testing techniques and levels is also done. In the design phase, the design of the software is reviewed and refined to verify the feasibility and compatibility of the test cases and scenarios. The testing tools and environment are also selected and configured. During development, code is implemented and documented with unit testing and code analysis being done to fix and report defects or bugs. Testing involves executing test cases and scenarios with integration, system, and acceptance testing being done. Results are recorded and analyzed with defects or bugs being reported and tracked. Deployment of software to production environment includes installation testing, configuration testing, compatibility testing as well as performance, reliability, security, and usability monitoring/evaluation. Maintenance includes support/updates for software with regression testing, retesting, change impact analysis being done as well as enhancements/modifications/patches implementation/testing. To deliver high-quality software that meets stakeholders' expectations/needs, appropriate standards for each SDLC phase must be followed in terms of testing levels/techniques/tools/standards.