Несовершенное программное решение может оказать колоссальный эффект на генерацию доходов, надежность и репутацию в долгосрочной перспективе. Так, прежде чем доставить ПО клиенту, каждая компания должна гарантировать, что оно работает безупречно и соответствует всем спецификациям и требованиям. Поэтому тестирование уже сейчас становится неотъемлемой и значимой частью жизненного цикла разработки ПО. В этом нам поможет подход TDD (Test Driven Development) — разработка через тестирование. Основные принципы его применения:
- прежде чем писать код реализации некой возможности, пишут тест, который позволяет проверить, работает этот будущий код реализации или нет
- создают реализацию возможностей и добиваются того, чтобы она успешно прошла тестирование
- выполняют, если это нужно, рефакторинг кода (рефакторинг, который при наличии теста способен указать разработчику на правильность или неправильность работы системы, вселяет разработчику уверенность в его действиях)
Наша небольшая простая функция, которую мы будем тестировать, должна всего лишь проверять сложность пароля по следующим правилам:
- количество символов от 8 до 20
- наличие цифр
- наличие спецсимволов
- наличие прописных и строчных букв
Также нам представлен набор тестовых данных для проверки