Еще один тест (Another Test)
Как пред отвратить уход д искуссии от о сновной темы? Когд а
возникает по сторонняя, но интересная мысль, д обавьте в список еще
од ин тест и вернитесь к о сновной теме.
Я люблю про странные д искуссии (вы уже прочитали большую
часть книги, поэтому, скорее всего, пришли к такому же вывод у
само стоятельно). Если по стоянно жестко след ить за соблюд ением
о сновной
темы
обсужд ения,
можно
потерять
множество
бриллиантовых ид ей. Вы перескакиваете с од ной темы на д ругую, затем
на третью и, наконец, не успеваете заметить, что ушли д алеко от того, с
чего начали. А кого это волнует, вед ь обсужд ать вещи в таком стиле –
это круто!
Иногд а программирование – это прорыв, генерация гениальной
ид еи и вд охновение. Од нако в большинстве случаев программирование
– весьма рутинная работа. У меня есть д есять вещей, которые я д олжен
реализовать. Я по стоянно отклад ываю на потом зад ачу номер четыре.
Од ин из спо собов избежать работы (и, возможно, сопутствующего
страха) – вступить в д линные про странные рассужд ения на самые
разные темы.
Потеряв огромное количество времени впустую, я пришел к вывод у,
что иногд а лучше со сред оточиться на конкретной проблеме и не
отвлекаться на побочные мысли. Когд а я работаю в под обном стиле, я
приветствую любые новые ид еи, од нако не позволяю им слишком
сильно отвлекать мое внимание. Я записываю новые ид еи в список и
затем возвращаюсь к тому, над чем я работаю.
Регрессионный тест (Regression Test)
Что необход имо сд елать в первую очеред ь в случае, если обнаружен
д ефект? Написать самый маленький из всех возможных тестов, который
не работает, и во сстановить его работо спо собно сть.
Регрессионные тесты – это тесты, которые вы наверняка написали
бы в процессе обычной разработки, если бы своевременно обнаружили
проблему. Кажд ый раз, столкнувшись с необход имо стью написать
регрессионный тест, под умайте о том, как вы могли бы узнать о
необход имо сти написать этот тест ранее, то есть тогд а, когд а
выполняли разработку.
Полезным может оказаться тестирование на уровне всего
приложения. Регрессионные тесты д ля всего приложения д ают
пользователям возможно сть сообщить вам, что неправильно и чего они
на самом д еле ожид ают. Регрессионные тесты меньшего масштаба
являются д ля вас спо собом улучшить качество тестирования. Если вы
получили д оклад о д ефекте, в котором описывается появление
большого отрицательного целого числа в отчете, значит, в буд ущем вам
необход имо
уд елить
д ополнительное
внимание
тестированию
граничных значений д ля целых чисел.
Возможно, д ля того чтобы изолировать д ефект, вам потребуется
выполнить рефакторинг системы. В этом случае, д емонстрируя д ефект,
система как бы говорит вам: «Ты еще не вполне закончил проектировать
меня».
Do'stlaringiz bilan baham: |