Java

Что значит "код покрыт тестами"?

это значит, что код покрыт тестами
ЕГ
Евгений Губарев
4 306
Лучший ответ
Значит, что при прогоне этих тестов будет выполнено достаточное количество кода. В идеале - весь, но иногда этот идеал бывает сложно и дорого обеспечить.
100% покрытие кода тестами означает, что в процессе прогона всего набора тестов будет выполнена каждая инструкция тестируемого кода. Меньше 100% - соответственно, часть тестируемого кода не выполняется.

Но даже 100% покрытие тестами не гарантирует отсутствия ошибок: тесты могут только показать, что код правильно работает с тестовым набором данных, но не могут доказать, что с другими наборами данных ошибок не будет.

Тесты - это просто самый дешёвый способ показать, что в типичных ситуациях код работает нормально.
₩§₩Rashid₩§₩ ₩§₩Imarov₩§₩ А код тестировщики вручную тестируют или пишут специальные скрипты?
??be@utiful Life "Тесты - это просто самый дешёвый способ показать, что в типичных ситуациях код работает нормально."

А насколько дорог способ тщательного полексемного ревью кода? Когда проверяется каждый токен данного ЯП в коде ну или, проще говоря, каждая буква.
Оценишь ли ты этот способ как просто дорогой или как крайне дорогой? А может быть, не такой уж и дорогой?
Способ этот, надо сказать, бывает продуктивен, особенно если код пишется в спешке или в каком-то ином стрессе. И ошибки он находит как раз те, которые тестами не найти.
Это значит, что код покрыт тестами. Каждая строчка кода проверяется каким-то тестом (если не проверяется - значит, тестами она не покрыта).
АШ
Андрей Швец
75 735
??be@utiful Life Неверно. Не бывает текстов на каждую строчку. Бывают тесты на функции, классы или еще крупнее.
Построчная, полексемная проверка кода возможна только глазами и должна входить в ревью. Хотя многие люди испытывают неприязнь к подобной рутине, но именно она часто выявляет баги, особенно если работают люди со стрессом, если спешка и т. д. И некоторые из этих багов не могут быть выявлены никакими тестами, или только при покрытии кода тестами аж "в несколько слоев" :)
Написаны скрипты, которые позволяют автоматически протестировать весь функционал кода.
Эти скрипты и есть тесты.
Dastan Beishenbekov
Dastan Beishenbekov
92 464
Это значит, что код покрыт тестами.

К примеру есть код который должен выполнять 200 000 различных функций и их сочетаний.
После изменений в коде непонятно исполняются все функции как задумано или нет.
По этому нужно проверить что возложенный функционал работает без проблем.
Вот эту задачу и выполняет процесс тестирования работоспособности.
С помощью тех самых тестов которые покрывают код.
Можно конечно делать все это в ручную но это в тысячу раз дольше и гораздо затратнее.
Иван Сергеев
Иван Сергеев
12 592
Выпили? А мы тут причем?
Сирен Калимуллин Не обижайся Андрей. Под настроение мне просто смешно зазвучало Это слово. А так, разобъяснили наконец. Просто с этим делом не сталкивался.