Introduction to Manual Testing
Manual testing is the process of manually examining and evaluating software to identify defects. It involves running test cases, providing input, and observing outcomes. This hands-on approach ensures comprehensive validation of software functionalities.
Functional testing
• Purpose: This manual testing type that each function of the software application operates in conformance with the requirement specification.
• Techniques: Black box testing, white box testing, smoke testing, sanity testing
• Tools: Selenium, JUnit, TestNG
Regression testing
• Purpose: To ensure that the recent code changes have not adversely affected existing features.
• Scope: Focuses on validating the functionality post code modifications.
• Techniques: Re-running previously executed test cases to uncover any regressions.
Integration testing
• Purpose: Verify that individual modules work together as expected
• Test cases: Evaluate data communication and interfaces
• Tools: Require mock APIs and testing environments
System testing
• Test environment: The system should be tested in various environments to ensure stability.
• Data integrity: Verify that data is processed accurately and reliably within the system.
• Error handling: Validate the system's response to unexpected inputs and errors.
User Acceptance Testing
• Purpose: Ensures the system meets users' needs and requirements.
• Focus: Validates the usability, functionality, and compatibility.
• Key Considerations: Real-world scenarios and end-user satisfaction.
Performance Testing
• Load Testing: Simulates high traffic to evaluate system response.
• Stress Testing: Pushes system beyond limits to identify breaking points.
• Scalability Testing: Measures system's ability to handle growing data and user load.
Security testing
• Network Vulnerability Testing: Assessing the network for potential vulnerabilities and ensuring secure communication.
• Penetration Testing: Simulating cyber-attacks to identify security weaknesses and strengthen defenses.
• Security Audit: Evaluating the system's security measures and compliance with industry standards.
Usability Testing
• Objective: Evaluate how user-friendly the system is
• Methods: User observation, interviews, questionnaires
• Focus: Navigation, efficiency, error handling
Exploratory Testing
• Flexible Approach: Allows testers to explore the software, uncovering defects without predefined test cases.
• Creative Exploration: Encourages innovative testing methods to discover hidden bugs and functionalities.
• Real-world Scenarios: Mimics user behavior, leading to comprehensive testing and user-like experience.