Белковый тестировщик
Вступление
Тестировщики для контроля качества продуктов применяют средства автоматизации, анализаторы сетевого трафика, инструменты отладки… а также головной мозг для выполнения, так называемого, «ручного тестирования». Данное словосочетание неудачно по той причине, что процесс тестирования невозможно свести только к мышечной активности. Тем более руки в этом процессе задействованы незначительно. А вот от работы нервной системы в целом и зависит результат. В данной статье я постараюсь раскрыть то, как можно применять знания о высшей нервной деятельности человека для успешного решения задач по тестированию.
Тип нервной системы
Выдающийся физиолог Иван Павлов, изучая рефлексы, обнаружил индивидуальные различия в свойствах нервной системы у высших животных. Так, одни собаки демонстрировали быстрое формирование положительных условных рефлексов, но при этом выработка тормозных процессов требовала значительно большего времени. Другие — проявляли обратные свойства нервной системы.
На основе работ Павлова был проведен эксперимент на ткацкой фабрике. Было замечено, что некоторые станочницы распутывают нить сразу, как только появляются узлы, а другие – ждут до последнего. Но в итоге результат у всех был приблизительно равный. Экспериментаторы попросили станочниц, которые ждут до последнего, сразу распутывать узлы, а другим — дольше отдыхать, но исправлять уже более тяжелые поломки. Оказалось, что обмен стратегиями привел к ухудшению производства.
Итак, забирая задачу в тестирование необходимо ориентироваться не только на приоритет, но и на индивидуальный ритм работы. Если вы только закрыли сложную функцию, бывает полезно перейти к задаче легкой, пусть даже с низким приоритетом. В противном случае, из-за переутомления нервной системы, качество тестирования может сильно пострадать. Однако нередко встречаются люди, которые быстро и успешно справляются с несколькими тяжелыми задачами подряд, но после им требуется длительный отдых.
Зрение
В подавляющем большинстве случаев тестировщики получают информацию через зрительный канал. При этом человек отчётливо видит только те объекты, проекция которых попадает на область сетчатки глаза, называемую центральной ямкой и состоящую из колбочек. Колбочки — это светочувствительные рецепторы глаза, отвечающие за дневное зрение и имеющие нередко отельные нейроны. Диаметр центральной ямки соответствует приблизительно двум градусам поля зрения. Следовательно, только пара градусов вокруг точки фиксации взгляда воспринимаются человеком отчетливо. Помимо этого, область, где волокна зрительного нерва соединяются с сетчаткой глаза, вовсе лишена светочувствительных рецепторов. Эта зона называется слепым пятном и занимаем промежуток поля зрения между 10 и 20 градусами по горизонтали от точки фиксации взгляда. Однако мы воспринимаем мир отчетливо, без выпадающих фрагментов. Это связано с тем, что головной мозг умеет достраивать восприятие, основываясь на предыдущем опыте. При этом данная часть отражаемого мира является иллюзорной. Особенно это очевидно, если взглянуть на иллюзию, обнаруженную физиологом Лудимаром Германом.
На пересечении белых линий мы видим серые пятна, хотя в действительности их там нет.
Иллюзия Мюллера-Лайера демонстрирует влияние прошлого опыта на восприятие.
Красные отрезки имеют одинаковую длину, но верхний воспринимается как более длинный. Интересно, что данная иллюзия не проявляется у жителей племен, живущих в округлых хижинах.
Другой важной характеристикой зрительной системы являются факторы влияющие на абсолютный порог обнаружения сигнала. Во-первых, чем больше площадь стимулируемой сетчатки, тем меньшая сила требуется для обнаружения сигнала. Во-вторых, менее интенсивный свет, действующий в течение продолжительного времени оказывает то же влияние, что и более интенсивный свет, действующий кроткосрочно.
Итак, выполняя тестирование следует учитывать, что адекватную информацию о продукте возможно получить только на точке фиксации взгляда. Способ с быстрым прокликиванием сайта, надеясь, что таким образом все недостатки будут обнаружены, является неэффективным. В таких условиях максимум, что мы сможем наблюдать — это способность человеческого мозга воссоздавать зрительный мир на основе предыдущего опыта. Эффективнее будет подходить к тестированию, как к процессу постоянных замеров, для проверки заранее подготовленных гипотез.
Внимание
Внимание человека от части зависит от характеристик раздражителя. Одной из таких характеристик является интенсивность. Рассмотрим элементы веб-страницы известного поисковика.
Выше вариант ожидаемый. Предположим, что во время тестирования мы получили следующие фактические результаты.
В первом варианте мы сразу обнаруживаем баг не прикладывая существенных усилий. Во втором — не так просто, ситуация еще больше усложнится, если ожидаемый вариант убрать из поля зрения. Наблюдаемый нами баг в первом варианте часто называют очевидным. Но как мы это видим из данного примера, очевидность бага ничего не говорит о его важности: баг в первом варианте является косметическим, а во втором — осложняет доступ к целому сервису. Однако оба рассмотренных вариант следует отнести к легким для человеческого внимания, что нельзя сказать о следующем.
Здесь обнаружить пропавшую ссылку становится еще сложнее. Это связано с колебаниями внимания: очень много интенсивных изменений.
Стоит также учитывать, что успешное завершение деятельности освобождает внимание, а затянувшаяся задача, наоборот, привлекает дополнительное. Следовательно, для проверки задачи с огромным количеством багов требуются значительные ресурсы именно внимания, а не только общие энергетические ресурсы. Найти баг на фоне многочисленных багов значительно сложнее, чем найти тот же баг на фоне стабильной среды.
В XIX веке Вильям Гамильтон провел эксперимент по измерению объема внимания. Он бросал горсть бобов в ящик и пытался определить их количество. Оказалось, что ответы точные, если количество бобов не превышает 6-7 штук.
Век спустя Дональд Бродбент использовал методику дихотомического слушания для изучения механизмов внимания. Суть методики заключается в том, что в одно ухо испытуемого предъявляются три цифры, а в другое (в то же самое время) — три други цифры. В одном случае испытуемых просили воспроизвести цифры, предъявляемые через какое-либо ухо. В другом случае их просили воспроизвести в порядке предъявления. Ожидалось, что точность ответов будет около 95%, т.к. воспроизвести необходимо всего 6 элементов. Но в обоих экспериментах результаты оказались значительно ниже. В первом случае верность воспроизведения была около 65%, а во втором — 20%. Бродбент объяснил эту разницу необходимостью во втором эксперименте чаще переключать внимание.
Дэниел Саймонс и Дэниел Левин провели эксперимент, в котором помощник экспериментатора с картой университетского городка в руках просил ничего не подозревающих прохожих показать дорогу до близлежащего здания. После 10-15 секунд разговора, между помощником и прохожим протискивались двое других помощников, несущих дверь. В это время первый помощник подхватывал задний конец двери, а помощник, который прежде нес эту часть двери, оставался стоять за дверью и продолжал спрашивать дорогу. Если смотреть со стороны прохожего, дверь на короткое время скрывала его собеседника, а когда ее уносили, перед ним оказывался другой человек. Два помощника были по-разному одеты и различались ростом примерно на 5 см. Их голоса также явно различались. Оказалось, что более 50% испытуемых не обнаруживали подмену людей.
Вольфганг Келер, проводя эксперименты на человекоподобных обезьянах обнаружил, что обезьяна использует палку для подтягивания банана только в том случае, если и банан и палка одновременно попадают в поле зрения животного.
Итак, находить баги значительно проще, проводя тестирование на стабильном стенде. Нельзя упускать возможность дробить продукт на модули и тестировать сначала изолировано каждый модуль, а затем переходить к системному тестированию. Каждый присутствующий баг в продукте снижает вероятность обнаружения другого бага из-за возрастания колебания внимания. Не бойтесь возвращать задачу на доработку, обнаружив только основные баги. Дальнейшее тестирование забагованной функции мало эффективно. Учитывайте, что ожидаемый результат желательно зафиксировать в визуальном виде и держать при себе во время тестирования. Помните, что переключение внимания сильно снижает качество тестирования. Старайтесь не прыгать по задачам, а доводить начатое до завершения. Автоматизируйте все повторяющиеся процедуры. Взаимодействуйте с группой людей не более 7+-2 человека, т.к. большее количество людей превысит объем вашего внимания.
Установки
Дмитрий Узнадзе проводил эксперимент, во время которого испытуемым предлагалось несколько раз ощупывать правой рукой маленький шар, а левой — большой. Затем в обе руки помещались одинаковые шары. Но испытуемым казалось, что в правой руке шар большего размера, чем в левой.
Абрахам и Эдит Лачинс предлагали испытуемым решить мыслительную задачу: при помощи трех сосудов получить нужный объем воды.
С 1 по 8 задачи решаются по формуле b – a – 2c, а вот 9 решается более простым способом a – c. Оказалось, что успешно преодолев первые восемь задач, испытуемые не могли справится с простой девятой.
Итак, повторяя одни и те же тест-кейсы со временем вы перестанете замечать баги. Но этого можно избежать, меняя последовательность шагов и некоторые условия. Чем более вариативно будет ваше тестирование, тем выше качество продукта вы получите в конечном итоге.
Мышление
В одном из экспериментов Якова Пономарева испытуемые получали листы бумаги, на которых были изображены четыре точки, расположенные в виде квадрата. Задача заключалась в том, чтобы перечеркнуть четыре точки тремя линиями, не отрывая руки. В одном случае испытуемые перед основным заданием выполняли наводящие упражнения: например, испытуемые должны были многократно снимать расположенные на шахматной доске четыре пешки тремя ходами фигуры, которая может «брать» пешки и как ферзь, и как «дамка» при игре в шашки. При этом пешки были расположены так, что испытуемые проделывали движение, путь которого совпадал с линиями перечеркивания точек в основной задаче.
Полученные результаты говорили о том, что наводящие задания, выполняемые перед основным, никак не влияют на успех. Однако если испытуемые получали наводящие задание после неудачных попыток решить основное — решение основного задания приходило на ум мгновенно.
Итак, стратегия составления перед тестированием исчерпывающего плана может оказаться не такой эффективной, как кажется на первый взгляд. Вся информация, которую вы обдумаете перед тестированием, во время тестирования будет недоступна в силу особенностей человеческого мышления. Лучшие результаты можно получить проводя тестирование в несколько этапов. На первом этапе мы проводим первичный сбор информации. Затем выполняем тест-кейсы из списка основных возможностей функции, при этом параллельно исследуем тестируемую функцию и накапливаем нужную информацию. Далее, на основе полученных данных во время первичного тестирования, готовим новую группу тест-кейсов и выполняем второе тестирование. Важно помнить, что во время тестирования вам обязательно придут на ум тест-кейсы, о которых на стадии планирования вы даже не догадывались.
Заключение
В процессе работы тестировщик постоянно сталкивается с ограничениями, которые накладывают особенности человеческой психики. Но, несмотря на это, человеческий мозг на данный момент, является самый эффективным инструментом поиска багов. Но, как и любым другим инструментом, им необходимо хорошо владеть для достижения положительных результатов. Использование сильных сторон психики и обход ограничений позволяют достичь эффекта, недоступного пока средствам автоматизации.