Полигамия в тестировании |
14.10.2015 10:15 |
Автор: Дэн Биллинг Оригинал статьи: https://thetestdoctor.wordpress.com/2015/02/03/promiscuity-and-the-tester/ Перевод: Ольга Алифанова Недавно я поучаствовал во встрече тестировщиков Лондона и слушал выступление Марка Винтерингэма, который рассуждал о ментальных моделях инструментов тестирования. Содержание его доклада и слайды можно посмотреть здесь: Почему Webdriver - это круто. Он рассказывал, как Webdriver помогает автоматизировать тестирование/проверки (нет, я не хочу развязывать дискуссию насчет определений в этой статье), и как этот инструмент облегчил его труд тест-консультанта. Марк также обратил внимание, что инструменты, которые мы используем, определяют наше мышление, поведение и взаимодействие с приложением. Они влияют на то, как мы принимаем решения, как мы общаемся. Иными словами, инструменты начинают определять, как именно мы тестируем - если мы позволим им это. Он сослался на один из самых ярких докладов конференции Test Bash 3 - "Автоматизация: время менять подходы" Иана МакКовветта (видео доклада можно посмотреть здесь) и сделал вывод, что к выбору инструментов и их использованию для достижения целей тестирования нужно подходить с осторожностью. В ходе беседы Марк агитировал нас за "полигамию" в отношении инструментов. Чтобы повысить их эффективность, нужно искать новые подходы, пробовать новые инструменты. Если мы ограничиваем себя определенным набором инструментов - мы, в конечном итоге, ограничим свое мышление. Полигамия - это, конечно, забавная, но очень точная аналогия.
Марк изучил доклады нескольких конференций, посвященных автоматизации, и просмотрел множество описаний вакансий, связанных с автоматизированным тестированием. Большинство из них связаны с использованием специфических инструментов, и в основном это Webdriver. Само по себе это явление - не проблема. Webdriver - крайне популярный инструмент, который стабильно работает и очень помогает в тестировании. Я спросил Марка, представляет ли повсеместное использование Webdriver какую-то угрозу для тестировщиков, и он ответил, что если вы прикипели к инструменту - рано или поздно он начнет диктовать вам, как тестировать. Другими словами, не давайте ни отрасли как таковой, ни популярности определенного инструмента определять, что вы за тестировщик, и как вам тестировать приложение. Я не использую Webdriver, но активно применяю другие инструменты для тестирования безопасности. В последнее время я использую Zed Attack Proxy и BurpSuite, и я заметил, что мой подход к тестированию стал ограничиваться моими способностями применять эти инструменты. Вместо того, чтобы искать новые способы использовать их для решения проблем, я применял их в меру своего владения ими. Инструмент начал диктовать мне, что мне делать - а этого, чувствовал я, нужно избегать. Те инструменты, о которых я упомянул выше - отличные помощники и большое подспорье в тестировании. Однако, используя их, я концентрировался только на той обратной связи, которую они мне предоставляют, а не на том, на чем должен был - на том, что мне нужно сделать, чтобы выявить уязвимости, исследовать функционал и уровень безопасности приложения, и начать мыслить, как хакер. Может, другая аналогия будет более понятной - когда человек учится водить машину, с ним ездит инструктор, или кто-то из родителей. У учебной машины есть руль, ручной тормоз, педали газа, тормоза и сцепления. Обычно это небольшая машинка, и учащийся ездит по улицам с не особо оживленным движением. Обучаясь, он выстраивает ментальную модель вождения в соответствии с теми инструментами, которые он использует - машиной и тем районом, по которому он ездит. Допустим, что потом он меняет машину, и в новой машине автоматическая коробка передач, и отсутствует педаль сцепления. Водителю больше не нужно решать, когда переключать передачи - машина сделает это за него. Давайте пойдем дальше и предположим, что у новой машины есть парк-троник, антибуксовочная система и адаптивный круиз-контроль. Эти помощники водителя снижают необходимость сконцентрироваться на таких навыках, как парковка, безопасная дистанция, соблюдение скоростного режима. Мы начинаем полагаться на инструменты и верить, что они справятся сами, переставая использовать наши ментальные модели, чтобы выполнить задачу самостоятельно. Становимся ли мы от этого лучше как водители? Сильно сомневаюсь. В будущем я постараюсь развить эту мысль далее и применить эту идею к тестированию безопасности, которым я занимаюсь. В прошлом году, когда я делал доклад "Новые приключения тестирования безопасности", я придумал мнемонику EXTERMINATE (спасибо, Энди, за этот чудесный комикс): (Источник изображения: http://cartoontester.blogspot.co.uk/2014/03/exterminate.html) Это моя личная ментальная модель тестирования безопасности, и в ближайшее время я займусь ее пересмотром и модификацией. При необходимости я буду делиться своими идеями и обсуждать свой подход. Доклады Марка (и Иана) вдохновили меня на размышления, как именно я использую инструменты для решения проблем тестирования. Но они также напомнили мне, что инструмент хорош ровно настолько, насколько хорош использующий его тестировщик. |