QA Testing Learning Notes
1. Introduction to QA Testing
- Definition: Ensuring a product meets required standards before release.
- Purpose: Detect defects, improve quality, and ensure functionality.
- Types of Testing:
- Manual Testing
- Automated Testing
2. Software Development Life Cycle (SDLC) and QA
- Phases:
- Requirement Analysis
- Planning
- Development
- Testing
- Deployment
- Maintenance
- Role of QA: Focus on testing phase but also involved in planning and requirements to avoid
defects early.
3. QA Testing Process
1. Requirement Analysis
- Understand requirements and specifications.
2. Test Planning
- Define test strategy, tools, and resources.
3. Test Case Design
- Create detailed steps to test functionalities.
4. Test Execution
- Run tests and document results.
5. Defect Reporting
- Identify and log defects.
6. Test Closure
- Validate fixes and conclude testing.
4. Types of Testing
Functional Testing
- Unit Testing
- Integration Testing
- System Testing
- User Acceptance Testing (UAT)
Non-Functional Testing
- Performance Testing
- Security Testing
- Usability Testing
- Compatibility Testing
Other Testing Types
- Regression Testing
- Smoke Testing
- Sanity Testing
- Exploratory Testing
5. Tools for QA Testing
- Test Management Tools: JIRA, TestRail, Zephyr
- Automation Tools: Selenium, Appium, TestComplete
- Performance Tools: JMeter, LoadRunner
- Bug Tracking Tools: Bugzilla, Trello
6. Automation Testing
- What is Automation? Using scripts and tools to execute tests.
- Benefits: Saves time, improves accuracy, enables continuous testing.
- Popular Frameworks: Selenium WebDriver, Cypress, TestNG.
7. Writing Effective Test Cases
- Components of Test Cases:
- Test Case ID
- Test Description
- Preconditions
- Steps to Execute
- Expected Result
- Actual Result
- Status (Pass/Fail)
- Best Practices:
- Use clear, concise language.
- Focus on one functionality per test case.
- Add necessary details (data, environment).
8. Defect Life Cycle
1. New
2. Assigned
3. Open
4. Fixed
5. Retested
6. Closed or Reopened
9. Agile Testing
- Principles: Continuous testing in short iterations (sprints).
- Tools: TestNG, Cucumber, JIRA.
- Challenges: Rapid changes, constant communication needed.
10. Metrics for QA
- Test Coverage
- Defect Density
- Test Execution Rate
- Mean Time to Detect (MTTD)
- Mean Time to Repair (MTTR)
11. Continuous Learning
- Follow blogs, forums (e.g., Ministry of Testing).
- Enroll in QA certifications (ISTQB, Certified Tester).
- Practice with open-source projects.