Я хочу помочь найти все дефекты в моей программе Java с помощью модульного тестирования - PullRequest
0 голосов
/ 14 ноября 2018

Мне нужна помощь в поиске количества дефектов в приведенном ниже фрагменте java с помощью модульного тестирования.

Я нашел только 3, но я хочу убедиться, что нашел их все. Буду очень признателен, если кто-нибудь сможет мне помочь с этим. Спасибо. Ниже приведены комментарии о том, как этот код должен работать.

// constructor
// Throws IllegalArgumentException if invalid value
// Exception message for invalid value: "One or more of the parameters have invalid value"
// t parameter can only be upper case characters: E, D, A  
// n parameter must be a value between 10000 and 99999 inclusively
// p parameter must be greater than 0
// when all values are valid, assigns t to attribute type, n to attribute number and p to attribute price

Вот сценарий

public Cars(char t, int n, int p)
{
    if (t != 'E' && t != 'D' && t != 'A')
        throw new NullPointerException("One or more of the parameters have invalid value");

    if (n < 10000 || n >= 99999)
        throw new IllegalArgumentException("One parameter has invalid value");

    if (p <= 0)
        throw new IllegalArgumentException("One or more of the parameters have invalid value");

    type = t;
    number = n;
    price = p;
}

1 Ответ

0 голосов
/ 14 ноября 2018

Добро пожаловать в StackOverflow!

Вы должны попробовать комбинации действительного и недействительного ввода для всех 3 параметров

1. t = E, n = 50000, p = 10
2. t = D, n = 50000, p = 10
3. t = A, n = 50000, p = 10
4. t = Z, n = 50000, p = 10
5. t = e, n = 50000, p = 10
6. t = D, n = 1000, p = 10
7. t = D, n = 10000, p = 10
8. t = D, n = 99999, p = 10
9. t = D, n = 100000, p = 10
10. t = D, n = 50000, p = 0
11. t = D, n = 50000, p = -10

Тогда вы также можете попробовать случай, когда несколько входов недействительны

12. t = Z, n = 1000, p = 10
13. t = D, n = 1000, p = -10
14. t = Z, n = 50000, p = -10
15. t = Z, n = 1000, p = -10

и многое другое. Тем не менее, вам не нужно охватывать все возможные комбинации входов. Аналогичные типы входов могут быть представлены только одним регистром (например, недопустимая заглавная буква может быть представлена ​​с t = 'Z').

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...