5.3 KiB
Decision Table
|-----------------+------------+---------------+------------------------| | number_of_items | total_cost | delivery_time | cost | |-----------------+------------+---------------+------------------------| | <= 3 | <= 100 | NEXT_DAY | 25 | |-----------------+------------+---------------+------------------------| | <=3 | <= 100 | SECOND_DAY | 10 | |-----------------+------------+---------------+------------------------| | <= 3 | <= 100 | THIS_WEEK | number_of_items * 1.50 | |-----------------+------------+---------------+------------------------| | <= 3 | > 100 | NEXT_DAY | 35.00 | |-----------------+------------+---------------+------------------------| | <= 3 | > 100 | SECOND_DAY | 15.00 | |-----------------+------------+---------------+------------------------| | <= 3 | > 100 | THIS_WEEK | 10.00 | |-----------------+------------+---------------+------------------------| | > 3 | <= 100 | NEXT_DAY | number_of_items * 6.00 | |-----------------+------------+---------------+------------------------| | > 3 | <= 100 | SECOND_DAY | number_of_items * 2.50 | |-----------------+------------+---------------+------------------------| | > 3 | <= 100 | THIS_WEEK | 0.00 | |-----------------+------------+---------------+------------------------| | > 3 | > 100 | NEXT_DAY | number_of_items * 7.50 | |-----------------+------------+---------------+------------------------| | > 3 | > 100 | SECOND_DAY | number_of_items * 3.50 | |-----------------+------------+---------------+------------------------| | > 3 | > 100 | THIS_WEEK | number_of_items * 2.50 | |-----------------+------------+---------------+------------------------|
time take to generate this : 14.20 min (including song selection 😜 )
Equivalance testing:
Input parameters:
- number of item
- Positive integers are the valid values.
- total cost
- Positive numbers are the valid values.
- delivery time
- NEXT_DAY , SECOND_DAY and THIS_WEEK are the valid values.
Equivalance partitions
|-----------------|----------------|---------------------------------|----------------|
| Input | Partition Type | Partition Condition | Selected Value |
|---|---|---|---|
| number_of_items | Valid | <= 3 | 3 |
| Valid | > 3 | 4 | |
| Invalid | <= 0 | -1 | |
| ----------------- | ---------------- | --------------------------------- | ---------------- |
| total_cost | Valid | <= 100 | 100 |
| Valid | > 100 | 101 | |
| Invalid | < 0 | -2 | |
| ----------------- | ---------------- | --------------------------------- | ---------------- |
| delivery_time | Valid | NEXT_DAY, SECOND_DAY, THIS_WEEK | SECOND_DAY |
| Invalid | Null or unsupported value | null | |
| ----------------- | ---------------- | --------------------------------- | ---------------- |
Test cases
|-----------|-----------------|------------|---------------|------------------|---------------------------------|
| Test Case | number_of_items | total_cost | delivery_time | Partition Type | Expected Outcome |
|---|---|---|---|---|---|
| 1 | 3 | 100 | NEXT_DAY | All Valid | 25.00 |
| 2 | 3 | 150 | SECOND_DAY | All Valid | 15.00 |
| 3 | 4 | 100 | THIS_WEEK | All Valid | 0.00 |
| 4 | 4 | 150 | NEXT_DAY | All Valid | 30.00 |
| 5 | -1 | 100 | NEXT_DAY | Invalid Items | Exception |
| 6 | 3 | -50 | SECOND_DAY | Invalid Cost | Exception |
| 7 | 3 | 100 | null | Invalid Delivery | Exception |
| ----------- | ----------------- | ------------ | --------------- | ------------------ | --------------------------------- |
Boundary Value
|-----------------|------------|
| Input | Boundaries |
|---|---|
| number_of_items | -1 |
| 0 | |
| 1 | |
| 3 | |
| 4 | |
| ----------------- | ------------ |
| total_cost | -1 |
| 0 | |
| 1 | |
| 100 | |
| 101 | |
| ----------------- | ------------ |
| delivery_time | n/a |
| ----------------- | ------------ |