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
- 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.
- 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.
- Identify the constraints between characteristics if exist.
- Choose the test values based on your input domain modeling. Feel free to use any criteria that you think is the most effective.
- After choosing the test values, do you think that all of them are already covered in the existing test?
- Improve the existing test using your identified test values.
- 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 calleddocs
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
- Ch 6. Input Space Partitioning slide at Paul Amman's Introduction to Software Testing book website
- 6.005 — Software Construction on MIT OpenCourseWare | Reading 3: Testing
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 |
|
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.
Created: 2021-11-17 10:24:53