Больше рецензий
15 марта 2015 г. 00:59
202
4
РецензияКлассическая книга по тестированию программного обеспечения, третье издание. Первое издание книги вышло аж в 1979 году, что по меркам мира ПО -- это практически каменный век. В то время компьютеры и компьютерное время были запредельно дорогими, а работа программистов на их фоне -- дешевой, однако сейчас ситуация практически противоположная, и некоторые части книги выглядят довольно забавными в современной реальности. Например, для прикладного или даже системного программирования видится сомнительной техника создания графов причин-следствий (Cause-Effect Graph) или таблиц решений (Resultant Decision Table) для каждого тестируемого куска функциональности ввиду их слишком большого размера и сложности составления. Ни один вменяемый менеджер не позволит своим разработчикам тратить кучу времени на рисование этих графов и составление таблиц, когда можно запрограммировать текущее понимание задачи, провести ряд тестов, а потом дорабатывать его итеративно. Да, все эти техники (и даже куда более экстремальные) скорее всего используются в сверхкритичном ПО (ПО для космических аппаратов, для управления ядерными реакторами и т.п.), однако это отдельная специализированная область, а данная книга нацелена на широкую аудиторию.
Самый главный message (эмм, "посыл"?) книги: тестирование -- это процесс поиска ошибок, а не доказательства, что ошибок в программе нет. Ошибки в программе есть всегда (см., например, аксиомы Шуры-Буры), и свыкнуться с этой мыслью также не всем разработчикам удается легко и непринужденно. Книгу вряд ли можно использовать как сборник рецептов, приводящих к успеху, скорее это некий вводный материал, который позволяет вникнуть в проблему в первом приближении. Соответственно, целевая аудитория -- студенты и другие начинающие программисты, которые хотят понять, что же такое тестирование и с чем его едят. Другая альтернатива -- преподаватели, которым надо прочитать 1-2 обзорных лекции по тестированию. Технические специалисты, перед которыми уже стоят конкретные задачи, будут читать другую литературу, более специализированную.
И все же, есть разделы, которых книге не хватает. Первый такой раздел -- раздел про автоматизацию процесса тестирования. Какие средства есть сейчас для настройки регулярного (например, ночного) тестирования, как строится процесс тестирования в компаниях. Также можно было добавить отдельный раздел про обеспечение качества в целом, и про то, как как тестирование в него вписывается (термин Quality Assurance вообще в книге не упоминается, к слову). Без этого картина является неполной. Будем надеяться, что это все появится в четвертом издании.