понедельник, 15 марта 2010 г.

"Автоматизированное тестирование программного обеспечения"

Вероятно, в жизни каждого тестировщика рано или поздно наступает момент, когда встаёт вопрос об автоматизации тестирования. Именно поэтому я решила прочитать и описать свои впечатления от книги "Автоматизированное тестирование программного обеспечения. Внедрение, управление и эксплуатация" (авторы: Э.Дастин, Дж. Рэшка, Дж.Пол; издательство "Лори", 2003).
Сразу скажу, что я читала и оценивала эту книгу как человек, почти не сталкивавшийся с автоматизацией в своей практике. Почти - потому, что небольшой опыт хоть и был, но опыт этот не был успешным (думаю, что я об этом ещё напишу отдельно, т.к. осмысленный отрицательный опыт тоже ценен). Поэтому в первую очередь меня интересовали вопросы, с какой стороны за автоматизацию браться и что нужно, чтобы автоматизация удалась.

1. О чём эта книга.

Разумеется, книга посвящена вопросу внедрения автоматизированного тестирования, однако этот вопрос рассматривается с точки зрения встраивания автоматизации в (существующий) процесс разработки и тестирования ПО, поэтому также большое внимание (и в большом объёме!) в книге уделяется организации процесса тестирования вообще. (Соответственно, лично я для себя оценивала эту книгу с двух сторон: во-первых, с точки зрения именно вопроса автоматизации, во-вторых - с точки зрения организации процесса тестирования в общем.) Очень подробно в книге описывается весь процесс организации тестирования с акцентом на автоматизации, начиная с принятия решения о внедрении автоматизированного тестирования и заканчивая проведением тестирования, его оценкой и совершенствованием процесса.

2. Что мне понравилось.

С точки зрения автоматизации, мне в первую очередь понравилось то, что большое внимание уделяется рассмотрению целесообразности внедрения автоматизации тестирования в принципе. Автоматизация не преподносится как этакая панацея от всех бед и волшебное средство, делающее тестирование однозначно успешным. Достаточно подробно рассматриваются в книге ложные ожидания, часто связанные с автоматизацией, анализируются факторы, при которых внедрение автоматизации в принципе может и НЕ может оказаться успешным. При этом описываются те преимущества, которые реально могут дать средства автоматизации.

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

Кстати, меня лично очень интересовал в частности вопрос, как именно писать скрипты - не в смысле примеров кода, но в смысле каких-то хорошо зарекомендовавших себя подходов к написанию скриптов. Что приятно - и этот вопрос в определённой степени в книге рассматривается: например, приводятся рекомендации, как сделать скрипты сопровождаемыми, рекомендации по созданию фреймворка и т.п. 

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

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

3. Что мне не понравилось.

То, что я для себя выделила в книге как негативные моменты, в основном очень субъективно, но, тем не менее, перечислю:

- это книга переводная, и мне показалось, что временами перевод - в первую очередь перевод терминологии - был не слишком удачным; при этом оригинальные термины приводятся в книге крайне редко;

- периодически у меня создавалось впечатление, что достаточно часто какая-то часть информации в книге излишне повторяется;

- некоторые изложенные в книге идеи казались мне спорными, что, в общем-то, естественно; однако в качестве примера приведу цитату, которая меня особенно позабавила: "Не нанимайте тестироващика, у которого нет опыта программирования. Помните, что плохой программист не станет хорошим тестировщиком". :)

4. Что ещё хочу отметить.

Примерно пятую часть книги занимают приложения, которые представляют в той или иной степени отдельную ценность: 
- статья про тестирование требований;
- обзор существующих инструментов тестирования (на момент написания книги);
- план развития тестировщиков (с уклоном в автоматизацию);
- пример тестового плана (также учитывающий внедрение автоматизации);
- и кратко изложенные рекомендуемые методы и советы по организации работ с учётом внедрения автоматизации (со ссылками на главы из книги).

5. Выводы.

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

4 комментария:

  1. Zdravstvujte, Lena, ne mogli bi Vi mne preslatj knigu "Автоматизированное тестирование программного обеспечения: Внедрение, управление и эксплуатация" justalive@inbox.lv

    ОтветитьУдалить
  2. Добрый день!
    Я читала книгу в бумажном виде. Попробуйте поискать в интернете - книга достаточно старая, должна найтись.

    ОтветитьУдалить
  3. А про полезность vs вредность от random testing там нету?

    ОтветитьУдалить
    Ответы
    1. Добрый день!
      Вы знаете, я даже такого термина до вашего вопроса не встречала, ну или по крайней мере не помню, чтобы встречала. Так что не думаю, чтобы в книге это упоминалось.
      Кстати, само это понятие немного погуглила и поняла, что, наверное, не сталкивалась с задачами, где целенаправленное применение данной техники имело бы смысл. Однако т.к. я не нашла сходу толковой информации, то могу ошибаться. Но в любом случае была бы благодарна, если бы вы поделились, например, ссылками, где о данной технике можно почитать подробнее. Спасибо!

      Удалить