DIRECTORATE OF QUALITY ASSURANCE
Course Portfolio Guidelines
Programme Masters in Software Engineering
Course Code ISE 7 Software Testing Lab
Lecturer Mr M Mukosera
Programme Learning List all the Programme Learning Outcomes (PLOs) highlighting those learning outcomes that correlate with the learning
Outcomes outcomes of this particular course. (CLOs) Programme Learning Objectives/Outcomes are listed in the programme
regulations
Course Learning This detailed lab manual and practical emphasis in the course outline will provide students with the hands-on experience
Outcomes necessary to master advanced software testing concepts.
Show the Course Outline indicating the time scheduled for each task e.g.
Course Outline Week Course Content Time Allocated Teaching & Learning
(hrs) Methods
1-3 Module 1: Foundations and Advanced Methodologies Online Face to Lectures
Emphasis: Practical application of test planning, risk-based testing, (Asynchron Face Tutorials
and exploratory testing. ous) (Synchron Practicals
Labs: ous) Quiz
Lab 1: Developing a comprehensive test plan for a web Interviews
application. Presentatio
Lab 2: Conducting risk-based testing and prioritizing test ns
cases.
Lab 3: Performing exploratory testing and documenting test
sessions.
4-6 Module 2: Advanced Testing Techniques
Emphasis: Hands-on experience with black-box, white-box,
security, and performance testing.
Labs:
Lab 4: Applying boundary value analysis and equivalence
partitioning.
Lab 5: Performing control flow and data flow testing using code
coverage tools.
Lab 6: Utilizing OWASP ZAP or Burp Suite for web
application security testing.
Lab 7: Using JMeter or LoadRunner for performance and load
testing.
7-9 Module 3: Test Automation and Tools
Emphasis: Practical implementation of test automation using
various frameworks and tools.
Labs:
Lab 8: Setting up and using Selenium or Cypress for web
UI test automation.
Lab 9: Creating API tests using Postman and REST
Assured.
Lab 10: Integrating test automation into a CI/CD pipeline
using Jenkins or GitLab CI.
Lab 11: Test data generation and management.
10-13 Module 5: Modern and Advanced Concepts (Weeks 12-14)
Emphasis: Hands-on experience with AI-driven testing, cloud
testing, and testing of AI systems.
Labs:
Lab 12: Using AI powered tools for visual testing.
Lab 13: Testing microservices in a Docker/Kubernetes
environment.
Lab 14: Using Machine learning libraries for test case
generation.
Lab 15: Performing adversarial testing of a simple AI
model.
Practical Emphasis
Lab 1: Developing a Comprehensive Test Plan for a Web Application
Objectives:
o Learn to create a detailed test plan.
o Define test scope, objectives, and strategies.
o Identify test deliverables and resources.
Tools:
o A sample web application (provided by the instructor).
o Test management tool (e.g., TestRail, Jira).
Tasks:
1. Analyze the web application requirements.
2. Define the test scope and objectives.
3. Develop a test strategy, including testing types and techniques.
4. Identify test deliverables, resources, and timelines.
5. Document the test plan using a test management tool.
Deliverables:
o A comprehensive test plan document.
Lab 6: Utilizing OWASP ZAP or Burp Suite for Web Application Security Testing
Objectives:
o Learn to use security testing tools for vulnerability analysis.
o Identify common web application vulnerabilities.
o Perform penetration testing.
Tools:
o OWASP ZAP or Burp Suite.
o A vulnerable web application (e.g., OWASP Juice Shop).
Tasks:
1. Set up OWASP ZAP or Burp Suite.
2. Configure the tool to intercept and analyze web traffic.
3. Perform active and passive scanning of the web application.
4. Identify and analyze potential vulnerabilities (e.g., SQL injection, XSS).
5. Generate a security testing report.
Deliverables:
o A security testing report documenting identified vulnerabilities.
Lab 8: Setting up and using Selenium or Cypress for web UI test automation.
Objectives:
o Learn to setup a web UI test automation framework.
o Learn to write automated tests.
o Learn to execute and debug automated tests.
Tools:
o Visual studio code, or another IDE.
o Node.js and npm.
o Selenium or Cypress.
o ChromeDriver or other browser driver.
o A web application to test.
Tasks:
1. Install Node.js and npm.
2. Install Selenium or Cypress and the proper browser driver.
3. Create a project and add test files.
4. Write automated tests for basic web application functions.
5. Execute and debug the tests.
6. Create a report on the results.
Deliverables:
o A project that contains automated tests.
o A report documenting the test results.
Lab 13: Testing microservices in a Docker/Kubernetes environment.
Objectives:
o Learn how to test microservices.
o Learn how to use docker and kubernetes for testing.
o Learn how to test the interaction between microservices.
Tools:
o Docker desktop.
o Minikube or a cloud based kubernetes service.
o Postman or other API testing tool.
o A microservice application pre-built.
Tasks:
1. Setup Docker and Kubernetes.
2. Deploy the microservice application into Kubernetes.
3. Use Postman or another tool to test the API endpoints of the microservices.
4. Test the interaction between the microservices.
5. Document the testing process and results.
Deliverable A document describing the testing process and results.
Hardware/Software
Requirements
Schedule of Formative List in chronological order all forms of scheduled assessments and indicate when these will be taken by students
and Summative progressively from start to end of semester. (Formative and Summative Assessments).
Assessments Week Assessment Type Time Allocated (Hrs)
1, Test, open book
2, Assignment, Practicals
3 Final examination.
Schedule of Practicals to start on week 2
Laboratories Works
Practical Manuals See the course content
Relevant Policies And Use AI as a tool to make you efficient not to completely rely on it because examination methods remains traditional
Procedure Manuals