Skip to content

Exercise 2: Input Domain Modeling

You are asked to design an input domain model for one feature of your group project individually. Implement this exercise using a new branch of your previously forked group project codebase.

We provide a template for creating the IDM in Markdown and Microsoft Word. Feel free to use it. We also provide an IDM example from last year's exercise.

At the end of the exercise, do not forget to schedule an one-on-one meeting with a teaching assistant to demonstrate your work.

Tasks

  1. Choose one complex function from your group project. The complexity of your chosen function will affect the final grade of this exercise. You can choose a function that is implemented by your workmate, but do note that plagiarism rule still applies.
  2. Create input domain model for that function. Feel free to choose whether to use interface-based or functionality-based approach to identify the characteristics and their partition.
  3. Identify the constraints between characteristics if exist.
  4. Choose the test values based on your input domain modeling. Feel free to use any criteria that you think is the most effective.
  5. After choosing the test values, do you think that all of them are already covered in the existing test?
  6. Improve the existing test using your identified test values.
  7. Arrange an one-on-one meeting with a teaching assistant to demonstrate your work. You are expected to be able to:
    • Explain the input domain modeling process of your work.
    • Explain the test values selection process of your work.
    • Explain the testing improvement after conducting this work.
    • Provide arguments from your choices on this work. E.g: choosing criteria, characteristics, IDM approach, etc.

Deliverables

At the end of this exercise, you are required to prepare the following artifacts:

  • A written document that describes the process of your work in completing this exercise. You can write the document as a Markdown-formatted text file or a PDF file. Give the document a descriptive name, e.g. exercise2.md, and put it into a folder called docs in your fork.
  • One or more changed test suites, if any, that had been updated from the result of this exercise.

    If there are no changes in the test suites, explain the reasons in the documentation.

The due date of this exercise is: 24 November 2021, 21:00 UTC+7. Please ensure any updates to the fork repository related to this exercise were made and pushed before the due date.

References

Appendix 1: Markdown Template

You can use the following Markdown template to document the IDM in your exercise2.md file.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# ISP Documentation for [Insert Function Name Here]

## Input Domain Model

| Characteristics  | b1            | b2            | ... |
|------------------|---------------|---------------|-----|
| Characteristic A | Partition A 1 | Partition B 2 |     |
| Characteristic B | Partition B 1 | ...           |     |
| ...              | ...           | ...           |     |

Note: You can write some explanation about how you design your IDM to help you
during demonstration.

## IDM Relabeling Table

| Characteristics | b1  | b2  | ... |
|-----------------|-----|-----|-----|
| A               | A1  | A2  |     |
| B               | B1  | ... |     |
| ...             | ... |     |     |

## Constraints

- Constraint 1
- Constraint 2
- ...

## Test Values and Example I/O

Criteria Used: [Define your chosen criteria here]

Note: You can write some explanation about how you choose your criteria to help
you during demonstration.

| Test Value | Example Input | Expected Output |
|------------|---------------|-----------------|
| A1B1...    | Input 1       | Output 1        |
| A1B2...    | Input 2       | ...             |
| ...        | ...           | ...             |

Tips: If you write using Markdown and want to export the document as PDF file, you can use pandoc to export text file written in Markdown into a PDF.


Last update: 2021-11-17 10:24:53
Created: 2021-11-17 10:24:53