Я только что закончил двухнедельную работу, в ходе которой написал около 150 строк кода для реализации новой функции. Я написал около 900 строк кода для тестирования этой новой функции.
Начните писать хорошие тесты прямо сейчас
Начинающие инженеры, постарайтесь как можно раньше писать хорошие тесты. Просто погуглите «‹ ЗДЕСЬ ВАШ ЯЗЫК ПРОГРАММИРОВАНИЯ ›структура тестирования / учебное пособие› », и все будет в порядке. Достаточно даже написать тонну «if x else y» после ваших программ. Просто начни.
Тестирование - один из самых важных и недооцененных навыков в разработке программного обеспечения. На самом деле есть целые отделы, в обязанности которых входит только тестирование!
Написание хороших тестов положительно влияет на то, как вы проектируете и пишете код. Хорошие тесты подтверждают высокое качество вашего кода. Будущие изменения кода будут основываться на тестах, чтобы убедиться, что все работает должным образом.
Комплексные тесты укрепляют доверие и уверенность в ваших способностях среди коллег. Эти качества имеют решающее значение для получения первой работы. Это наиболее эффективный способ стать лучшим разработчиком.
Насколько ценен разработчик, если он / она знает массу языков / фреймворков / инструментов, но создает контент, который постоянно подвержен ошибкам? За написанным кодом нет доверия. Это означает, что к тому, кто это написал, нет никакого доверия.
Используйте тесты, чтобы придать себе уверенности!
Ошибки стоят дорого
Исследование IBM сообщает:
«Стоимость исправления ошибки, обнаруженной после выпуска продукта, была в четыре-пять раз больше, чем ошибка, обнаруженная во время проектирования, и до в 100 раз больше, чем ошибка, указанная в техническом обслуживании. фаза ».
А теперь взглянем на несколько примеров:
- НАСА - 18 миллионов долларов. Ошибка программного обеспечения приводит к отклонению ракеты от курса.
- Toyota - 3 миллиарда долларов и минимум четыре жизни. Программная ошибка антиблокировочной системы тормозов привела к «залипанию» акселератора. Автомобиль с этой ошибкой внезапно вышел из-под контроля на скорости более 100 миль в час и разбился, в результате чего погибли все четверо, находившиеся в машине.
- Knight Capital Group - 440 миллионов долларов. Ошибка программного обеспечения в 2012 году привела к тому, что они потеряли почти в 4 раза больше денег, чем они заработали в предыдущем году.
Полную статью с информацией из этого раздела можно найти здесь. Стоит прочитать.
Не позволяйте тестированию снижать вашу продуктивность
Будьте осторожны при написании тестов. Не бывает полного кода.
Ошибки будут возникать несмотря ни на что. Не тратьте часы на то, чтобы проверить ошибку, которая, скорее всего, никогда не произойдет. Подготовьте свой код функции / задачи и разработайте свой тест, чтобы охватить крайние случаи (переменная x может быть только 1–10) и наиболее очевидные (переменная x может быть только числом).
Начало будет тяжелым. Скорость, с которой вы будете писать код, снизится, но эти вложения окупятся. Ваши тесты сэкономят вам и вашим сверстникам время, которое вы никогда не вернете, и позволят сделать больше вещей. Это здорово! Способность придумывать контрольные примеры / сценарии для проверки также со временем станет лучше и быстрее.
Как человек, в обязанности которого входит проведение собеседований с людьми, я ищу это доверие в потенциальных кандидатах в тестах, которые они пишут для своих проектов.
К сожалению, большинство начинающих разработчиков, которых я вижу, обычно не сосредотачиваются на тестировании. Это настолько обычное явление, что это норма. Хотя я не ставлю большие отметки кандидату, который не уделяет слишком много внимания тестированию, я почти всегда буду настаивать на собеседовании с кандидатом, который делает это.
Тестирование важно. Начинай сейчас
Вам, как инженеру-программисту, платят за создание кода, который будет использоваться для создания какой-то ценности. Энергия, которую вы тратите на создание кода, может быть использована для зарабатывания денег (услуги или продукты), обучения (научные инструменты), убийства (ракеты), исследования (космические шаттлы), лечения (медицинские устройства) и защиты (устройства наблюдения, безопасность дома). . Тестирование важно.
Есть разные виды тестирования. Есть инструменты, которые нравятся сообществу. Есть золотые правила написания / разработки тестов. КТО ЭТО ЗАБОТИТСЯ СЕЙЧАС. Просто начни.
Если вам понравился этот пост, подпишитесь на меня, чтобы узнать больше о том, как стать эффективным инженером-программистом. Хотите работать со мной бесплатно? "Напишите мне". Давайте вместе займемся тестированием.