Software Testing Comprehensive Guide
Software Testing Comprehensive Guide
Smoke testing, also known as "build verification testing," is the initial testing
conducted on a new software build. It checks the basic critical functions to
determine whether the build is stable enough for more detailed testing.
Acceptance testing is the final testing phase where end users or clients verify
that the software meets their requirements and is ready for deployment. It
confirms that the product functions correctly in a real-world environment.
Validation checks the final product against user needs and expectations,
confirming that the software fulfills its intended purpose. It addresses, "Are
we building the right product?" Validation is usually done through actual
testing of the software.
Static testing refers to testing techniques that do not involve executing the
code. These include code reviews, walkthroughs, and static analysis.
Dynamic testing involves executing the software code to find defects, verify
functionality, and validate behavior under various conditions.
The bug lifecycle traces the journey of a defect from its discovery, through
statuses like assignment, fixing, retesting, and closure, ensuring structured
defect management.
STLC (Software Testing Life Cycle) defines the systematic phases of the testing
process, from planning to closure. It complements SDLC, which covers the
entire software development process, integrating testing throughout the
lifecycle.
A test suite is a collection of related test cases grouped for efficient execution
and management.
Key test design techniques include boundary value analysis, which focuses on
testing input values at the edges of input domains, and equivalence
partitioning, which divides inputs into classes that are expected to behave
similarly.