Software Testing course, University of Malaya

Description of the course

The course provides in-depth knowledge on software testing processes. It covers basic principles of software testing and test activities that include the test plan, test design, monitoring, implementation, and test closure. Students become familiar with test design techniques and methods used in both black box and white box testing of static and dynamic approaches. Upon completion of the course, students are able to recognize various types and levels of testing as well as categorizing and applying software testing process and techniques.

Description of the participants

Participants are full-time undergraduate students at the University of Malaya. A total of 99 students attended the courses in semester 2 of academic year 2022 – 2023.

Description of gamified design thinking activities

Design thinking was used to analyze appropriate testing techniques to be applied on open-source code as part of a group project, the objectives of which are to design a complete test plan and conduct tests for an open-source application to achieve full test coverage.

The course organization deploys project-based learning approaches. Some of the activities include:

  • Downloading and executing selected open-source software.
  • Elaborating the functionality of the software by listing the software requirements.
  • Analyzing the structural and dynamic behavior of the software’s program code.
  • Formulating the software test design specification using black box approaches.
  • Designing the tests based on the strategies formulated.
  • Executing the test cases with test data based on the test case specification and test procedure specification.
  • Applying ethical principles, standards, and professional computer ethics.
  • Functioning effectively as a team member.
  • Checking the coverage of each test conducted.
  • Communicating effectively on complex computer science activities through reports and presentations.

Students worked in groups of 5 individuals. They worked in their groups to identify clear roles and responsibilities for team members. Subsequently, they organized their semester-long work for successfully delivering the blueprint of documentation.

Teams selected a project in the following topics:

  • Mental healthcare.
  • Agriculture.
  • Environmental care.
  • Smart homes.

They were required to analyze at least 10 requirements, not including login and registration, and develop a project description. Each team member conducted a complete test for at least 2 requirements. Teams were required to ensure that the software could be executed well on their computers or an on-line system. They studied the functionality of the software by reading the manual, if available, or by executing the software several times to understand the software requirements.

In the following steps, teams formulated the test plan, test design specification, and test case specification using black box approaches. They carefully specified test data either using equivalence partitioning or boundary value analysis. The work revolved around use case testing, and specifically:

  • GUI testing.
  • State transition testing.
  • Decision table testing.
  • Error guessing testing.

Students categorized the test plan, test design specification, and test case specification  by test level, and specifically as unit test, integration test, or system test. Then, they refined the test procedure specification. Teams executed the tests and recorded the results into the test log, test incident report, test summary report, and test completion report. Finally, teams presented their test results and project work experiences via an oral presentation of 30 minutes. Specifically, they presented how they worked as a team, key decisions made, and summary of tests concluded.

Work was organized in the following steps, the results of each were published on the ICT-INOV digital learning platform.

Step 1. Team building and project assignment.

Students formed teams and developed a team collaboration contract. They became familiar with the project objectives.

Step 2. Discovery and project theme selection.

Students worked within their teams to decide on application to be tested. They prepared a software brief description.

Step 3.Test process design.

Students design the test specifications based on black box testing techniques.

Step 4. Final project submission and presentation

Students submitted and presented a test report, which included the group contract, software brief description, test plan, test design specifications, test case specifications, test procedure specifications, test log, test incident report, test summary report, and test completion report.