Уточнение того, что подразумевается под «полным покрытием пути» - PullRequest
0 голосов
/ 09 июня 2018

В классе нам дали этот статический метод, который нас просят проверить.Предполагается, что метод (но не всегда) возвращает то же самое целочисленное значение, которое было задано в качестве входных данных.

static int identity(int x) {
        if (20 <= x && x <= 30) {
            x /= 2;
        }
        if (5 <= x && x <= 15) {
            x *= 2;
        }
        return x;
    }

В вопросе предлагается создать минимальный набор тестов с «полным покрытием пути»,Поскольку есть два условных оператора, вы должны генерировать 2 ^ n тестов, в данном случае это 4.Однако невозможно создать тест, в котором первое условие истинно, а второе условие ложно.Означает ли это, что минимальное количество тестов с «полным охватом пути» равно 3?

1 Ответ

0 голосов
/ 18 июня 2018

По POV тестера я бы посмотрел на границы ваших диапазонов, чтобы определить ваше тестовое покрытие.Вы не хотите просто убедиться, что операторы if выполнены - вы хотите проверить границы диапазонов, а также один вход в пределах диапазона.

Учитывая это, я бы протестировал следующие входы иожидайте следующие результаты:

| input | output |
| 19    | 19     | (just outside first boundary minimum)
| 20    | 20     | (just inside first boundary minimum)
| 24    | 24     | (value within the range)
| 30    | 30     | (just inside first boundary maximum)
| 31    | 31     | (just outside first boundary maximum)
| 4     | 4      | (just outside second boundary minimum)
| 5     | 10     | (just inside second boundary minimum)
| 10    | 20     | (value within the range)
| 15    | 30     | (just inside second boundary maximum)
| 16    | 16     | (just outside second boundary maximum)

Если вы хотите узнать больше, Google Граничное тестирование.

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