Software Verification and Validation course, University of Malaya

Description of the course

The course introduces students the concepts, principles, techniques, and tools of software verification and validation within modern software development together with its formal techniques. The course covers from test design and test plan in test driven development of agile to conduct tests using tools. The course also exposes students to the formal approach of static analysis and model checking in verifying uncertainty in software design models and requirements.

Description of the participants

Participants are full-time full time graduate students at the University of Malaya. A total of 20 students attended the course in semester 1 of academic year 2022 – 2023.

Description of gamified design thinking activities

Design thinking activities were deployed for strategizing which appropriate testing techniques to use on the open-source code as part of a group project. The objective of the project-based class activity was to design a testing plan through appropriate evaluation of selected techniques based on requirements and specifications, design artefacts, or the source code.

Students worked in teams of 5 individuals. Activities were organized as follows:

Step 1. Organization.

Students organized the necessary activities to complete the blueprint of the testing plan documentation.

Step 2. Team building.

Students worked in groups, assigning a specific role and responsibilities to each team member, distributing and coordinating tasks appropriately to operate as a high performing team. They developed and signed a group collaboration contract. Students recorded meetings using a meeting log.

Step 3. Proposing a test plan.

Students proposed a test plan to ensure the solution on paddy harvesting (see above course Advanced Algorithms) executes well. They recorded all activity or actions taken on  ICT-INOV platform. Teams formulated a test plan and test case specifications, paying particular attention to non-functional requirements.

Step 4. Testing.

Students conducted the tests outlined in the test plan and recorded the result in a test log. They were challenged to predict the defect the software may produce and report the findings on a defect prediction report. They developed user acceptance testing using established questionnaire models and conducted the test. They developed test report, which included recommendations for the software development team in a test summary and test completion section.

Step 5. Final presentation.

Students presented their test management plan blueprint and project work experiences to the class, outlining how they worked as a team, key decisions made, and test planning and reporting.