Послушайте, я не пытаюсь быть педантичным здесь. Ну, может быть, я. Но иногда в этом нет ничего плохого. Неправильное использование некоторых слов может показаться мелочью. Я имею в виду, что в этом такого?

Ну, это большое дело. Особенно когда речь идет об инженерной дисциплине. Или разработка программного обеспечения (которую мы иногда называем инженерией, но все мы знаем, что на самом деле это не так).

Теперь я понимаю, что менеджеры и другие не-разработчики не будут в курсе всего жаргона, который мы, разработчики, используем. Но когда они начинают повторять определенные термины, а затем использовать их неправильно, это создает пробел в общении, потому что у разработчиков другое представление о том, о чем идет речь. И да, даже многие разработчики тоже не понимают терминов правильно.

Итак, я представляю вам, возможно, неполный список наиболее раздражающих терминов, которые, как я вижу, используются неправильно. Наслаждаться.

Модульное / Интеграционное / Функциональное / Регрессионное тестирование

Святой ебать. Трудно даже понять, с чего начать. Они никогда не делают это правильно, и все они взаимозаменяемы. Для них это просто означает, что «любая компания будет лазить по веб-сайту, пока что-нибудь не сломается». Еще более безумно, когда у вас вообще нет отдела контроля качества.

Или как насчет того, чтобы сторонняя компания, с которой вы работаете, спросила вас о ваших модульных тестах. И они отвечают: «О да, мы проводим регрессионное тестирование для каждого выпуска». Но разработчики знают, что у нас вообще нет модульных тестов.

Итак, уточним:

  • Модульный тест

Это низкоуровневая проверка кода, написанного в коде, для проверки кода, на уровне функций, классов и т.д. Это не то, что вы делаете вручную вручную, и не разработчиком. Когда у вас есть модульные тесты, вы также получаете автоматическое тестирование, поскольку их можно запускать повторно каждый раз, когда вы что-то делаете, и, таким образом, сразу возникают проблемы. Модульные тесты — это круто. И люди редко их делают (по моему опыту)

  • Интеграционный тест

Интеграционный тест является более высоким уровнем, чем модульный тест, и пытается проверить взаимодействие между различными модулями кода, включая, возможно, внешние данные и системы. IE, он проверяет, как все более крупные движущиеся части работают вместе.

  • Функциональный тест

Следующий уровень — это функциональное тестирование, которое, как вы уже догадались, проверяет некоторую функциональность в системе, такую ​​единственную функцию от начала до конца. Это ближе к тому, что конечный пользователь считает важным. Эта функция работает? Он может включать в себя несколько модулей в системе и множество низкоуровневых функций и классов. Он охватывает все эти вещи и фокусируется на отдельных функциях независимо от того, как он реализован.

  • Регрессионный тест

Вероятно, наиболее неправильно понятый и наиболее часто используемый неправильно. Я слышу это все время. Он используется абсолютно всеми. Вы только посмотрите на название, хотя. Что означает регресс? Это значит вернуться. Поэтому, если вы тестируете программное обеспечение и обнаруживаете проблему, вам нужно ВЕРНУТЬСЯ НАЗАД в код, чтобы найти, где она работала, а затем сравнить код. Это очень специфично. Для этого даже есть инструменты, такие как git bisect. Конечно, я видел мало разработчиков, которые знают, что это такое. Многие разработчики даже толком не понимают, что такое бинарный поиск, не говоря уже об этом.

Заключение

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

PS.

Если я ошибся в каком-либо из этих терминов, пожалуйста, исправьте жестоко…