Testing methodologies and SDLC
Different Types of Testing:
Unit Testing: Focuses on individual components or modules to ensure they function as intended.
Integration Testing: Verifies the interactions between different components or systems to identify any issues in their combined functionality.
System Testing: Evaluates the entire system's compliance with specified requirements and assesses its overall performance.
Acceptance Testing: Ensures that the software meets the end-users' expectations and requirements.
Performance Testing: Examines the software's responsiveness, stability, and scalability under different conditions.
Security Testing: Identifies vulnerabilities and weaknesses in the system's security measures.
STLC Phases:
Requirement Analysis: Understand and analyze the project requirements to create a testing strategy.
Test Planning: Develop a comprehensive plan outlining the testing approach, resources, and schedule.
Test Design: Create detailed test cases based on the identified requirements and testing strategy.
Test Execution: Implement the test cases and record the outcomes, identifying and reporting any defects.
Defect Tracking: Document and manage identified defects, communicating with the development team for resolution.
Test Closure: Evaluate the testing process and deliverables, ensuring that all testing objectives have been met.
Qualities of a Manual Tester:
Attention to Detail: Detecting subtle issues and anomalies in the software.
Analytical Skills: Understanding complex systems and identifying potential areas of concern.
Communication Skills: Effectively conveying testing results and collaborating with developers to resolve issues.
Adaptability: Adjusting testing strategies based on project requirements and changes.
Patience: Conducting thorough testing even in the face of repetitive tasks.
Difference Between Waterfall and Agile Methodologies in SDLC:
Waterfall Methodology: This is a linear and sequential approach where each phase must be completed before moving on to the next. Testing typically occurs after the development phase, making it challenging to address changes late in the process.
Agile Methodology: Embraces an iterative and flexible approach, allowing for incremental development and continuous testing. Testing is integrated throughout the development cycle, enabling quick adaptation to changes and rapid delivery of usable increments.