понедельник, 1 сентября 2014 г.

The Art of Software Testing. Гленфорд Майерс


Она же "Искусство тестирования программ" в русском переводе.
Ссылка на OZON.

Книга, впервые выпущенная в 1979 году. И до сих пор она не устарела. Ну, как не устарела Smile :)
На самом деле я не могу рекомендовать ее новичкам, которые ничего не знают о тестировании и это их немного пугает "а вдруг я не смогу?". Потому что многие главы тяжело читать, книжка "серьезная" и написана тяжелым языком.

С другой стороны, некоторые считают книгу Романа Савина попсой. Вот для них Майерс будет в самый раз!

Мне понравилось то, что в книге есть примеры, иногда простые и понятные, иногда запутанные и сложные, но есть! Мне понравилось то, что в третьем издании книга стала более современной, туда добавились главы о тестировании удобства использования и мобильных приложений, это круто! Поэтому, если и покупать, то только третье издание (или позднее).

Перед тем, как начать читать книгу, автор предлагает пройти простенький тест. Да да, то самое тестирование треугольника, о котором много наговорено! И тем не менее, этот тест не проходят даже люди с опытом работы, что уж говорить о начинающих?

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

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

Еще у него хорошо описан главный вопрос тест-дизайна и проектирования тестов:

Как из всех возможных тестов выбрать такое их подмножество, чтобы обеспечить максимальную вероятность обнаружения большинства ошибок?

Вообще глава про проектирование тестов мне очень нравится. Хорошие примеры, важные пометки "на что обратить внимание, где еще может сломаться", хотя бы ради нее могу порекомендовать книгу! Да, это не "вау, must read", но тоже вполне любопытно.

А при анализе ошибки важно понимать ответы на следующие вопросы:

  1. Где была допущена ошибка?
  2. Кто допустил ошибку?
  3. Какова причина ошибки?
  4. Как можно было предотвратить ошибку?
  5. Почему ошибка не была обнаружена раньше?
  6. Каким образом ошибку можно было обнаружить раньше?
Конечно, эти вопросы нужны не для того, чтобы наказать виноватого, а для того, чтобы улучшить процессы, это очень важно!

А еще Майерс хорошо пишет о говнокоде и о самом сложном при разработке и анализе ошибок - об умении думать.

В общем, книжка не для новичков, слегка устаревшая, но все равно может нанести непоправимую пользу, было бы желание! 

Комментариев нет:

Отправить комментарий