SIT323-Validation and Testing Assignment
- Subject Code :
SIT323
Introduction
Assessment Tasks 1 and 2 comprise parts of the one project. These require you to design, develop and test software related to a task allocation problem in which a parallel program is partitioned into a set of tasks and these tasks need to be allocated to a set of processors such the amount of energy consumed is minimised.
- In brief, Assessment Task 1 focuses on designing, developing and testing a new program such that it is able to:
- Validate/invalidate the two kinds of data files related to configuration and task allocations.
- Validate/invalidate allocations that are described in the allocations file.
- Compute and display the amount of energy consumed by each allocation.
- Display each allocation.
- In brief, Assessment Task 2 requires you to focus on:
- Designing, developing and testing a cloud solution.
- Loading data from a configuration file to compute one or more allocations of tasks
such that the amount of energy consumed is valid and is the lowest that you can achieve. Note, there might be more than one allocation where the consumed energy is the same and the lowest. - Optimisation techniques.
- Computing and displaying the amount of energy consumed by these allocations.
- Displaying these allocations.
- Ensuring that these new allocations are valid.
Objectives
The main objectives for Assessment Task 1 are:
1. Design and develop a new program to work with the two types of input data files. Their formats are described in the following sections: Task Allocation file format (.taff) Configuration file format (.cff)
2. Design and develop many unit tests.
3. Code to conventions and standards.
Testing Requirements Unit Tests
Our software solution for Assessment Task 1 requires testing. You must design and develop several unit tests for the following functionality.
- Determining whether the amount of RAM required by a task is less than or equal to the amount of RAM associated with a processor.
- Computing the runtime of a task allocated to a processor.
- Computing the energy consumed by a task for running on a processor.
- Computing the energy consumed by a task for local communications.
- Computing the energy consumed by a task for remote communications.
- Computing the total energy consumed by a task, i.e., the sum of the energies consumed related to the previous three points (3, 4 and 5).
- Computing the total energy consumed by an allocation.
Validating files and allocation
1. Your software solution for Assessment Task 1 must be able to validate both text input data files (taff and cff).
Invalid aspects of these files are displayed to a user via the GUI.
2. Your software solution for Assessment Task 1 must be able to validate allocations too,but only if both input data files are valid. Consequently, it is possible to have perfectly valid input files, but an allocation is invalid.
For example, an allocation is invalid if the accumulated runtime of tasks exceeds the overall program runtime.