Course Title: Manual Testing Fundamentals
Course Overview: This course introduces students to the principles and techniques of manual software testing. Students will learn how to plan, execute, and report manual tests effectively, covering various testing types, methodologies, and best practices.
Course Duration: 8 weeks (2-3 hours per week)
Module 1: Introduction to Software Testing
- Overview of software testing and its importance
- Understanding the software development life cycle (SDLC)
- Differentiating between defects, bugs, and issues
- Introduction to manual testing and its role in the testing process
Module 2: Software Testing Fundamentals
- Testing principles and fundamentals (verification vs. validation, testing objectives)
- Types of testing (functional vs. non-functional, black-box vs. white-box)
- Levels of testing (unit, integration, system, acceptance)
- Introduction to test cases and test scenarios
Module 3: Test Planning and Documentation
- Test planning process and activities
- Creating test plans and test strategies
- Developing test cases and test scripts
- Documenting test scenarios, test data, and expected results
Module 4: Test Execution and Reporting
- Executing test cases and test scripts
- Logging defects and issues in a defect tracking system
- Reporting test results and status updates
- Regression testing and retesting of fixed defects
Module 5: Functional Testing Techniques
- Understanding functional testing and its objectives
- Equivalence partitioning and boundary value analysis
- Decision tables and decision tree testing
- State transition testing and use case testing
Module 6: Non-functional Testing Techniques
- Introduction to non-functional testing (performance, security, usability)
- Performance testing methodologies (load testing, stress testing, scalability testing)
- Security testing techniques (vulnerability scanning, penetration testing)
- Usability testing methods (heuristic evaluation, usability testing sessions)
Module 7: User Acceptance Testing (UAT)
- Understanding user acceptance testing and its purpose
- Differentiating between alpha testing and beta testing
- Planning and conducting user acceptance tests
- Collaborating with stakeholders for UAT feedback and sign-off
Module 8: Test Management Tools and Practices
- Overview of test management tools (e.g., TestRail, HP ALM, Jira)
- Using test management tools for test planning, execution, and reporting
- Best practices for test management and organization
- Integrating test management tools with other software development tools
Module 9: Exploratory Testing
- Introduction to exploratory testing and its benefits
- Planning and conducting exploratory testing sessions
- Using session-based test management for exploratory testing
- Reporting defects and findings from exploratory testing
Module 10: Testing in Agile and DevOps Environments
- Overview of Agile development methodologies (Scrum, Kanban)
- Understanding the role of testing in Agile teams
- Incorporating testing into continuous integration and continuous delivery (CI/CD) pipelines
- Adapting manual testing practices for Agile and DevOps environments
Module 11: Test Process Improvement
- Identifying opportunities for test process improvement
- Conducting test process assessments and maturity evaluations
- Implementing test process improvements (test automation, tooling, training)
- Measuring and monitoring test process performance
Module 12: Test Case Design Techniques
- Introduction to test case design techniques (equivalence partitioning, boundary value analysis, pairwise testing)
- Using test case design techniques for effective test coverage
- Applying risk-based testing principles for prioritizing test cases
- Creating traceability matrices to map requirements to test cases
Module 13: Test Estimation and Scheduling
- Estimating testing effort and resources
- Creating test schedules and timelines
- Identifying dependencies and constraints for testing activities
- Monitoring and controlling test progress against the schedule
Module 14: Test Documentation and Reporting
- Documenting test plans, test cases, and test scripts
- Writing clear and concise test reports
- Communicating test results to stakeholders effectively
- Using metrics and KPIs to track testing progress and quality
Module 15: Capstone Project
- Students will work on a capstone project to apply the skills learned throughout the course
- Project topics may include creating test plans, executing test cases, logging defects, and reporting test results for a sample software application
Assessment:
- Assignments and quizzes after each module
- Mid-term and final exams covering the entire syllabus
- Evaluation of the capstone project
Prerequisites:
- Basic understanding of software development concepts
- Familiarity with software testing terminology and methodologies