Фирма

«Инрэко ЛАН»

В ноябре мне довелось побывать на конференции SQA Days 8, на которой выступал Майкл Болтон с докладом «Два взгляда в будущее тестирования ПО».

Начну с представления. Майкл Болтон это человек, который:

  • имеет опыт в области тестирования более 20 лет;
  • является представителем школы контекстно-ориентированного тестирования;
  • выступает на конференциях, проводит тренинги и семинар;
  • с 2005 года является постоянным колумнистом одного из самых популярных журналов в области тестирования Better Software;
  • ведёт блог о тестировании

Майкл Болтон
В анонсе доклада говорилось, что будет рассмотрено два взгляда на будущее тестирования:

  1. «Тестировщики изолированы от программистов ради соблюдения и поддержания независимого мнения и объективности. Заслуженные тестировщики работают только со скрупулезно детализированными спецификациями, обдумывая планы, рисуя диаграммы состояний и создавая тестовые сценарии от начала проекта до завершения тестирования. В этом случае, любой тестировщик (вне зависимости от его опыта) будет в состоянии читать и следовать этим сценариям - более того, тестирование можно будет полностью автоматизировать - и таким образом, руководство будет уверенно в том, что код не содержит багов. Все решения будут приниматься на основе незыблемых численных показателей. Предложения по изменениям будут отклоняться, что будет основанием для исключения рисковых ситуаций. Это видение (а оно содержит некоторое количество в определённой степени эксцентричных фантазий) - тёмная сторона будущего тестирования»
  2. «Тестировщики являются активными исследователями, разумными критиками (critical thinkers) и весьма квалифицированными участниками команды разработки. Тестировщики не являются (да и не хотят быть) людьми, несущими ответственность за выпуск продукта. Вместо этого они своевременно предоставляют важную и заслуживающую доверия информацию руководству, которое может принимать добротные и обоснованные бизнес-решения. Тестировщики работают совместно не только с программистами, но и со всеми людьми, вовлеченными в работу над проектом и они в состоянии оценить любые риски в любой момент времени. Тестировщики обладают всесторонними знаниями об инструментах тестирования и об автоматизации, и могут самостоятельно решить, когда надо (и когда НЕ надо) их применять. Наиболее важно то, что тестировщики рады ответственной работе и изменениям в продукте и могут адаптировать различные практики и стратегии в целях выполнения миссии тестирования в соответствии с текущими условиями»


В плане было написано, что доклад будет с переводом. Но что бы услышать этот перевод, надо было получить приборчик с наушником. Сделать это оказалось не так просто… Их выдавали в коридоре. У стола была большая очередь, и никаких надписей не было видно, но из-за широких спин тестировщиков, я увидела, что кто-то оставляет в залог паспорта. Т.к. мне надо было получить 2 прибора (себе и Тане), а паспорт у меня был только свой, то я побежала к Тане и взяла ее паспорт. Отстояв в очереди, у стола я увидела объявление, что в залог принимаются только заграничные паспорта или права + документ на транспортное средство или 3000 р. Т.к. 6000 у меня не было, то пришлось снова сходить в зал и обменять у Тани паспорт на деньги. В общем, я еще раз отстояла в очереди, и, наконец, приборчики были у меня в руках! :-)

Пока я бегала туда – обратно, к сожалению, часть доклада была пропущена. Итак,… я подключаю наушники, включаю прибор, выбираю канал и слушаю… То, что я услышала, было очень интересно. Хотя были некоторые трудности синхронного перевода, но я постараюсь передать основные мысли его доклада:

Если Вы не управляете бюджетом, графиком, принятием и увольнением сотрудников, не занимаетесь обучением людей, то Вы не можете обеспечить качество, т.к. для этого не хватает полномочий. Мы не можем гарантировать качество, это даже не наша работа. Но что же тогда делать?! Остается только тестировать.

Существует определение: «компьютерная программа – набор команд компьютера». В этом определении явно не хватает «людей». Например, если попросить детей нарисовать дом, то у них на рисунках всегда кроме дома есть люди, солнце, дерево, небо, птицы. То есть дом – это только часть системы. Таким образом, более точным является определение: программа – это коммуникация между несколькими людьми и компьютером, а не просто набор команд. Если опираться на данное определение, то код - это не товар, а инструмент для решения задач заказчика. Соответственно, и качество – это не просто написание тестов, а множество факторов.

Что же тогда тестирование?

Тестирование – это больше, чем сверка «работает - не работает», это исследование кода, систем, отношений людей, поведение сетей, других программных продуктов и услуг.


Тестирование – это не математический взгляд, а гуманитарный (психологический, экономический, исторический, археологический, антропологический).

Тестирование - это подвержение сомнению продукта.


Нельзя быть уверенным в качестве, т.к. проверить все варианты невозможно. Даже если бы было реально 100% покрытие тестами, то в любом случае тестирование – это больше чем просто проверка. Скриптом не тестируем, а проверяем корректность работы программы. Не разумно проверять руками то, что можно делать скриптами быстро и бесплатно. А ручное тестирование – это тестирование, при котором работают не только руки, но и мозг. Fail(отказ) – не цель. Вопрос в том «есть ли проблема?» Возможны ситуации, когда тест может пройти, но проблема может существовать.

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

Тестирование решает проблемы. Проблема не с узким горлышком, а с тем, что не известно, что в бутылке. Роль тестировщика – помочь увидеть те вещи, которые никто не может увидеть.

Тестирование – область наук, где объективность понятие спорное. Надо думать не просто хорошо/плохо, а как это для конкретной категории. Мы не судьи или присяжные, мы просто повышаем качество.

Источники

  1. Обзор доклада М. Болтона на сайте SQA Days
  2. Top three testing challenges with Michael Bolton
  3. Майкл Болтон на SQA Days

Метки: SQA Days 8 | Майкл Болтон | Санкт-Петербург | тестирование

Добавить комментарий