Блог A1QA

О тестировании и качестве ПО

Пол Джеррард про IoE: Необходимо создавать новую модель тестирования. Часть 2

Читайте начало интервью здесь.

A1QA: Как будут использоваться инструменты тестирования IoE?

Пол Джеррард: Совершенно очевидно, что ручное тестирование никогда не потеряет своей актуальности, но со временем, как мне кажется, большая часть тестирования будет проводиться только с использованием инструментов автоматизации. Инструменты будут необходимы для выполнения очень больших объемов тестов. Основной вопрос будет заключаться в том, как мы будем создавать эти сотни, тысячи или даже миллионы тестов для использования с данными инструментами.

Предположим, нам необходимо протестировать городскую смарт-систему, которая отслеживает движение транспортных средств и использование парковок. Нам понадобится способ симуляции реального передвижения автомобилей по дороге. При этом машина должна быть на дороге не одна! Рядом с ней будут и другие транспортные средства, каждое из которых движется в своем направлении. Автомобили должны получать информацию о ближайших местах для парковки. А тестируемая система должна направлять автомобили к ближайшему свободному месту парковки. Или не так… Система должна направлять машину не к ближайшему парковочному месту, а туда, куда захочет владелец автомобиля. Но на дороге может случиться все, что угодно. При тестировании мы не сможем учитывать изменение погодных условий, поведение пешеходов и других участников дорожного движения.

Конечно, далеко не каждая система настолько сложна. Но уже сейчас устройства, разработанные для использования в больницах и других учреждениях, имеют свои особенности. Например, приложение, которое предупреждает вас о предстоящем визите доктора, следит за графиком приема лекарств и измеряет ваши жизненные показатели, может использовать сотни тысяч сценариев. Что касается небольших и простых приложений, они все чаще начинают взаимодействовать со сложными системами. Все это требует качественно нового подхода к тестированию. Необходимо создавать новую модель тестирования.

A1QA: Что же входит в понятие этой новой модели?

Пол Джеррард: Существующие подходы к тестированию не смогут справиться с новыми возможностями разработки ПО, такими как непрерывная поставка, Big Data, Internet of Things или глобальная компьютеризация.

Все эти явления требуют новых стратегий тестирования и даже нового способа мышления. Существующие модели тестирования (поэтапное тестирование, тестирование с использованием сценариев, исследовательское тестирование, Agile и т.п.), в основном, применимы в конкретном контексте.

Эти модели не подходят для тестирования IoE. Они не согласованы, противоречивы, не охватывают всех аспектов тестирования… А главное – они устаревают. К сожалению, в тестировании новых технологий, а в частности IoE, существующие технологии нам ничем не помогут.

Я предложил базовую модель тестирования, которая не зависит от контекста. Я попытался описать такую модель в своих аксиомах тестирования. Данные аксиомы представляют собой попытку определить набор правил и принципов, которые должны лечь в основу всех тестов. Некоторые люди, которые использовали мои аксиомы, говорят, что они хорошо работают.

Конечно, эти аксиомы не перевернут ваш мир. Они не более чем темы для размышления. Но, если вы решите, что они верны, вы сможете уберечь себя от бесконечных обсуждений того, какой вид тестирования лучше, какие достоинства и недостатки есть у каждого из видов тестирования и так далее.

При описании новой модели тестирования (The New Model for Testing) я немного развил аксиомы тестирования. В этой модели я просто зафиксировал те мыслительные процессы, которые происходят в моей голове во время тестирования. Если вы изучите эту модель, вы будете более четко понимать ваши действия при тестировании. По крайней мере, я на это надеюсь. Как сказал Джордж Бокс: «Все научные модели неверны, но некоторые полезны». Эта модель может быть неправильной, но в ней можно найти и полезную информацию.

Я буду рад, если моя модель поможет вам в вашей работе. Если же вы посчитаете, что я не прав в каких-то моментах, то сообщите мне. Я буду работать над улучшением своей модели с учетом ваших замечаний.

Итак, в своей работе я попытался смоделировать мыслительный процесс тестировщиков. Полное описание модели вы можете прочитать здесь.

A1QA: В новой модели Вы используете термин «логистика тестирования» (Test Logistics). Что он означает?

Пол Джеррард: При проведении тестирования «на лету» многие процессы происходят исключительно в голове тестировщика. Никто не может проследить или проконтролировать, что им движет, а сам мыслительный процесс может занимать несколько минут или секунд. Но если мы говорим о тестировании сложной системы с тысячами необходимых проверок, то нам придется четко спланировать последовательность действий. А учитывая разнообразие тестовых сред и привлечение большого количества тестировщиков, планирование может растянуться на несколько недель или месяцев.

Проектная документация может включать только основные моменты, а может содержать полное описание системы со всеми подробностями. Это зависит от применяемого подхода.

Я называю трудности, связанные с окружением, и все вопросы по документации «логистикой тестирования». Они не являются трудностями самого тестирования. Масштабы и сложность логистики тестирования могут существенно варьироваться. А основные мыслительные процессы тестирования одинаковы во всех средах.

Таким образом, в рамках описания модели, я буду игнорировать логистику тестирования. Давайте представим тестировщика, который обладает безупречной памятью и может выполнять разработку и подготовку теста в собственной голове. Предположим, что окружение настроено и тестовые данные подготовлены. Неважно, как и кем. Теперь мы можем сосредоточиться на основных мыслительных процессах и активностях тестирования.

Моя модель описывает идеальную ситуацию. В этом она не отличается от всех остальных моделей. Однако она позволяет нам более четко понять то, о чем должны думать тестировщики.

A1QA: Вы бы не могли кратко рассказать нам об основных положениях вашей модели?

Пол Джеррард: В своей модели я говорю о следующем:

  1. Мы выявляем и изучаем источники знаний для построения моделей тестирования;
  2. Мы используем созданные модели тестирования, чтобы проверить и подтвердить корректность полученных знаний;
  3. Мы используем модели для передачи информации (разработке и) тестированию.

Я разграничиваю понятия «изучение» (exploration) и «тестирование». Основным отличием моей модели является смысл, который я вкладываю в термин Exploration. Этим термином я обозначаю сбор информации о тестируемой системе из различных источников.

Если мы исключаем логистику тестирования из своей модели, то процессы становятся упрощенными и их даже можно рассматривать как универсальные. Таким образом, основные навыки разработчиков и тестировщиков могут сливаться в единое целое.

Из описания активностей в процессах изучения и тестирования становится ясно, что навыки, необходимые для их выполнения несколько отличаются от традиционного восприятия тестирования.

Мы привыкли воспринимать процесс тестирования следующим образом: независимая команда тестирования поэтапно выполняет определенные действия. Моя модель предполагает наличие других процессов и навыков.

Я надеюсь, что модель станет стимулом для нового восприятия тестирования. И, возможно, породит немало споров.

Читайте третью часть интервью здесь.

Поделиться статьей: