Тестирование кода

Опубликовано 2015.04.01

Прежде всего скажу - любой код нуждается в тестировке. Даже предельно простая программа или сайт могут начать сбоить, и не только при изменении кода продукта. Ведь работа того же сайта зависит и от рабочего окружения. Например от версии php или mysql. Или, к примеру, возросшая нагрузка на сервер окажет какое-то влияние на процессы сайта. Если повезёт - то даже отмена перехода на летнее/зимнее время может как то повлиять на выборки из БД, различные фильтры или статистику. Поэтому код нужно тестировать. Приветствуется как ручная тестировка - это когда тестировщик сидит и пытается положить программу/сайт, делая всё не так как нужно, так и автоматическая. Например Unit тесты или Selenium. Создавая тесты вы избавите себя от необходимости ручной проверки кода. Просто гоняйте тесты по крону, скажем раз в несколько часов или раз в день, в зависимости от сложности проекта.

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

Есть такой подход - когда вначале пишутся тесты, а потом уже код. Тогда вы точно не забудете о тестах:) Каждый начальник, да и просто программист, должен понимать, что http://webmartsoft.ru/ - разработка и тестирование проектов - это такие же важные моменты, как и планирование архитектуры продукта, его продвижение или работа над юзабилити.

Если вы хотите, чтобы ваш продукт был качественным - пишите тесты.

Приведу несколько примеров из своей практики:

Система статистики собирала данные о просмотрах(среди них был UserAgent) и складывала их в БД MySQL. Всё работало корректно. Затем проект переехал на БД MSSQL. Всё работало корректно. Затем тестировщик сообщает, что статистика работает некорректно, засчитываются не все показы. Проверил - всё работает. Оказывается проблема была в том, что браузер тестировщика имел длинный UserAgent, длиннее, чем поле в БД. С MySQL всё работало, так как БД сама обрезала лишнее и записывала строку, а MSSQL строку не обрезала не могла добавить запись в БД.

Перестал работать забор статистики из Яндекс Метрики. Код не трогали. Оказывается владелец аккаунта на Яндексе сменил пароль от учётной записи, и из-за этого перестал работать token приложения. О проблеме узнали примерно через 8 часов, от менеджера проекта. А если бы был тест - узнали бы через 5 минут после поломки.