Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Тестирование приложений > Можно ли создать идеальный unit-test?


Автор: ZZZkoderZZZ 11.3.2013, 12:48
Добрый день.

Можно ли создать юнит-тест, который гарантирует правильную работу программы?

Unit-test как правило не покрывает все возможные наборы входных данных. Значит ошибка может возникнуть на не покрытых тестом данных, и такой тест не гарантирует правильную работу программы. 

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

Автор: LSD 11.3.2013, 13:59
Цитата(ZZZkoderZZZ @  11.3.2013,  13:48 Найти цитируемый пост)
Можно ли создать юнит-тест, который гарантирует правильную работу программы?

Можно:
Код

    @Test
    public void universalTest() {
        fail("There are bugs in application");
    }


В принципе если у метода конечное число входных параметров и метод stateless, то можно перебрать все входные параметры (хотя даже это не дает 100% гарантии). А так тестирование призвано уменьшить количество ошибок, но не устранить их полностью (это просто не реально).

Автор: ZZZkoderZZZ 11.3.2013, 16:13
Например есть метод
Код

int F(char);
 
Можно его проверить на всех значениях. Где гарантия, что программы
Код

F(1);
F(2);
F(3);

и 

Код

F(2);
F(1);
F(3);

дадут на F(3) одинаковые значения?
Т.е. условия тестирования меняются в процессе тестирования. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)