Больше рецензий

raro4ka

Эксперт

Эксперт говорит NO WAR

30 декабря 2019 г. 01:37

79

4 Testers gonna test!

Designing good tests is one of the hardest tasks
in software development.

Что?
Маленькая книга, провокационно обещающая сорвать покровы с автоматизации тестирования ПО. Автор - бывший сотрудник Microsoft, один из соавторов «How We Test Software at Microsoft» (не читала, но осуждаю). Также за его авторством вполне вменяемая статья в довольно бесполезном сборнике «Beautiful Testing: Leading Professionals Reveal How They Improve Software» .

О чём?
На самом деле, данная книга ничего не срывает. Основные идеи давно известны, но сияние истины не тускнеет от многократного повторения. Тем более, что воплощение этих идей на практике всегда встречает трудности:

* Основная задача тестировщика - тестировать. Умение кодить - вспомогательный навык.
* Правильный и тщательный тест-дизайн - краеугольный камень любого вида тестирования. Особенно автоматизированного.
* Автоматизация - не "серебряная пуля". Применяйте там, где уместно и где окупятся затраты.
* 100%-ной автоматизации не бывает.
* "Ручные" тестировщики не вымрут, как и "автоматизированные", ибо в будущем профессия будет требовать всё больше творческого подхода.
* Автоматизированное тестирование GUI - почти ничем не оправдываемое зло. UI тесты хрупкие и трудно поддерживаемые (см. доклады Андрея Солнцева).
* Автоматизация пользовательских сценариев не должна иметь высший приоритет.
* А вот нагрузочное и стресс-тестирование хорошо подходят для автоматизации.
* Код автотестов - это код. С ним надо обращаться соответственно: репозиторий, версионность, code review, линтеры, дебаггеры.
* Автоматизация автотестов: запуск, сбор результатов, создание записей в баг-треккере. Всё это должно быть максимально автоматизировано, чтобы оставить драгоценное время на главное - тестирование (см. статью Алана в «Beautiful Testing»).

Что-то ещё?
Да. Мне показалась интересной классификация Five Orders of Ignorance, "Пяти порядков незнания". Её автор не Алан, а Phillip Glen Armour. Она не специфична для тестирования, но может быть полезна в работе:

0OI (нулевой порядок) - отсутствие незнания. Когда у человека есть знание и он может это продемонстрировать в ясной форме.
1OI - отсутствие знания. Когда человек что-то не знает и ему самому известно об этом.
2OI - отсутствие осведомлённости. Когда человек что-то не знает и ему об этом не известно.
3OI - отсутствие процесса. Когда у человека нет достаточно эффективного способа выяснить, что он неосведомлён о чем-то.
4OI - мета-незнание. Когда человек не знает о "Пяти порядках незнания". Вы прочли этот текст и теперь сместились на порядок :)

Для кого книга?
Она коротенькая, так что попробовать прочитать может любой желающий.
Однако текст не обновлялся с 2013 года, что сразу скептически настраивает инженеров, которым обычно нужна самая новая информация. Здесь полезными для них могут быть части про тест-дизайн, ибо столько лет прошло, а проблема никуда не делась и сообщество продолжает ходить по одним и тем же граблям.
А так основная аудитория - менеджеры разных уровней, имеющие отношение к тестированию. Особенно те, которые регулярно прибегают с горящими глазами и хотят заавтоматизировать всё на 100% прямо сейчас.

Ладно, где искать?
Найти книгу можно на LeanPub абсолютно for free.
Языка не стоит бояться, он очень простой, читать несложно.

Если вам хочется больше контента от автора, то существует англоязычный подкаст "AB Testing" от Алана и его бывшего коллеги из Майкрософт, Брента Дженсена. Подкаст довольно болтологичный (первые минут 15 ведущие обсуждают всё подряд, от блюд на завтрак до новой стиральной машинки) и тоже относящийся к процессам и принципам, нежели к конкретным проблемам тестирования.