QA in SDLC
- Quality Assurance (QA) plays a crucial role in every phase of the Software Development Life Cycle (SDLC). The breakdown of QA’s activities and roles in each phase is discussed below.
QA in SDLC (Requirements Analysis Phase)
- Role
- Activities
- Ensure requirements are clear and testable.
Review requirements to spot ambiguities or gaps.
Participate in meetings to clarify details.
Help create acceptance criteria, which are the conditions the software must meet to be considered successful.
QA in SDLC (Design Phase)
- Role
- Activities
- Validate that the design aligns with requirements and can be tested.
Review the design documents and architecture.
Ensure the design is logical and testable.
Provide feedback on design elements that could affect performance, security, or maintainability.
Begin preparing test strategy and planning.
QA in SDLC (Implementation (Coding) Phase)
- Role
- Activities
- Support developers and prepare for testing.
Develop detailed test cases based on requirements and design.
Perform code reviews, especially if the QA team is involved in code quality.
Collaborate with developers to understand the features being built, ensuring that tests cover all scenarios.
Set up test environments to simulate real-world conditions.
QA in SDLC (Integration and Testing Phase)
- Role
- Activities
- Detects bugs and ensures software quality.
Execute test cases on the developed software to check for defects.
Perform various types of testing. ie: Functional, Integration, System, Performance, and Security testing.
Report bugs and track them until resolved.
Conduct regression testing to make sure new changes don’t break existing features.
Communicate testing progress and results to the team.
QA in SDLC (Deployment Phase)
- Role
- Activities
- Ensure the software works properly in the live environment.
Verify that the software is deployed correctly by running final tests.
Perform "smoke testing" (quick, initial checks) in the production environment.
Confirm that the software meets all acceptance criteria before going live.
In Summary
- QA ensures that the product being built meets the required standards and works as expected in every phase of SDLC. Their activities include reviewing documents, preparing test plans, executing tests, and validating that the software is ready for release without major issues.
Sample Documents
Software Requirements Specification Sample
1. Introduction
The Online Shopping System allows users to browse products, add them to their shopping cart, and make payments. This SRS outlines the functional and non-functional requirements for the development of the system.
1.1 Purpose
This document defines the requirements for the Online Shopping System, which will provide a smooth shopping experience to customers and enable merchants to manage their products and sales.
1.2 Scope
-
The system will support:
-
User registration and login
-
Product browsing and searching
-
Shopping cart management
-
Payment processing
-
Order management
-
2. Functional Requirements
2.1 User Registration and Login
-
FR-001 - The system shall allow users to register with an email, username, and password.
-
FR-002 - The system shall allow users to log in using their email and password.
-
FR-003 - The system shall validate the user’s login credentials.
2.2 Product Browsing and Searching
-
FR-004 - The system shall allow users to browse a list of products.
-
FR-005 - The system shall allow users to search for products by category, price, or keywords.
2.3 Shopping Cart Management
-
FR-006 - The system shall allow users to add products to the shopping cart.
-
FR-007 - The system shall display the cart total based on the items added.
-
FR-008 - The system shall allow users to remove products from the shopping cart.
2.4 Payment Processing
-
FR-009 - The system shall allow users to pay for their items using credit card, PayPal, or other payment methods.
-
FR-010 - The system shall confirm the payment and display a success message after payment.
2.5 Order Management
-
FR-011 - The system shall provide users with an order summary after successful payment.
-
FR-012 - The system shall allow users to view their past orders.
3. Non-Functional Requirements
-
NFR-001 - The system shall be available 99.9% of the time.
-
NFR-002 - The system shall process payments within 2 seconds on average.
-
NFR-003 - The system shall be secure, using HTTPS and encryption for sensitive data.
4. System Interfaces
-
SI-001 - The system shall interface with external payment gateways like PayPal and Stripe for processing payments.
-
SI-002 - The system shall interface with a product database to retrieve product information.
Requirement Traceability Matrix Sample
| Requirement ID | Requirement Description | Test Case ID(s) |
|---|---|---|
| FR-001 | User registration with email, username, and password | TC-001, TC-002 |
| FR-002 | User login using email and password | TC-003, TC-004 |
| FR-003 | Validation of user login credentials | TC-005 |
| FR-004 | Product browsing feature | TC-006, TC-007 |
| FR-005 | Product search by category, price, or keywords | TC-008, TC-009, TC-010 |
| FR-006 | Add products to shopping cart | TC-011, TC-012 |
| FR-007 | Display cart total | TC-013 |
| FR-008 | Remove products from shopping cart | TC-014 |
| FR-009 | Payment processing using different methods | TC-015, TC-016 |
| FR-010 | Payment confirmation and success message | TC-017 |
| FR-011 | Order summary after payment | TC-018 |
| FR-012 | View past orders | TC-019, TC-020 |
| NFR-001 | 99.9% system availability | TC-021 (Uptime monitoring) |
| NFR-002 | Payment processing time within 2 seconds | TC-022 (Performance test) |
| NFR-003 | System security, using HTTPS and encryption | TC-023 (Security test) |
| SI-001 | Interface with external payment gateways | TC-024, TC-025 |
| SI-002 | Interface with product database | TC-026 |