Week 9 Testing Strategies in Software Quality Assurance
Testing Strategies in Software Quality Assurance
Overview of Testing Strategies
Importance of Communication in Requirements
Communication breakdowns can lead to poor software quality.
Effective collaboration among team members ensures clarity in requirements and design.
Types of Testing
Differentiation
System Testing
Tests the entire system's behavior against requirements.
Integration Testing
Tests interactions between integrated units/components.
Acceptance Testing
Validates the system against acceptance criteria set by the business and users.
Agile and DevOps Testing Framework
Benefits of Testing in DevOps
Integrates testing at various stages.
Faster feedback and detection of defects.
Enhances collaboration between development and operations teams.
Requirements Reviews
Conducted by cross-functional teams
Participants: Developers, Testers, Business Analysts, Product Designers, Product Management.
Helps in validating that requirements can be implemented and tested.
Iteration/Sprint Planning
Purpose
Estimate user stories to determine capacity for the next sprint.
Seek clarifications regarding acceptance criteria from the Product Owner.
Client-Side and UI Testing
Importance of Correct UI/UX
Tests should cover various devices, operating systems, and browsers (e.g., Windows, iOS, Android, Chrome, Firefox).
Ensure branding, look and feel, and user-friendliness using tools like Selenium, Cypress, and Playwright.
Types of System Testing
Key Forms
Smoke Testing: Validates core functionalities in new environments.
Functional Testing: Ensures compliance with functional specifications.
Usability Testing: Focuses on the ease of use through user interactions.
Accessibility Testing: Ensures software is usable by people with disabilities (WCAG standards).
Security Testing: Identifies vulnerabilities in the software.
Performance Testing: Assesses system behavior under load.
Acceptance Testing
Types
Business Acceptance Testing (BAT): Ensures software meets business needs.
User Acceptance Testing (UAT): Conducted by end-users to verify satisfaction with requirements.
Elements of a Test Strategy
Key Components
Objective, Scope, Roles & Responsibilities, Test Approach, Test Environment, Test Data, Testing Tools, Release Control, Risk Analysis, Review, and Approval.
The Heuristic Test Strategy Model (HTSM)
A guiding framework to focus testing strategy on:
General Test Techniques
Project Environment
Product Elements
Quality Criteria Categories
Challenges in Agile Environments
The dynamic nature of Agile requires flexibility in test strategies.
Strategies must adapt to focus on Sprints while maintaining oversight on overall project goals.
Mind Mapping for Test Strategies
Importance
Provides a visual representation of testing strategies and their relationships.
Facilitates better understanding of the project as a whole.
Creating Mind Maps
Start with a central idea and branch out into subcategories.
Continuously add levels until a comprehensive structure is achieved.
Practical Application
Case Study Example
Development of a Password Keeper application.
Considerations include functionality, security, and cloud-based storage.
Team Collaboration
Requires cooperation among team members with clear communication.