ALMELN.ru

Хранилище текстов, отзывов и закладок о тестировании, обеспечении качества и литературе

View the Project on GitHub

Риски и тестирование программного обеспечения

В учебных программах по дисциплине “Обеспечение качества и тестирование программ” есть темы и задания:

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

В программе обучения базового уровня International Software Testing Qualifications Board “Сертифицированный тестировщик” указано на необходимость понимать и помнить:

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

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

«Ключевые процессы тестирования. Планирование, подготовка, проведение, совершенствование», Рекс Блэк, Москва, Лори, 2006, 36-39 страницы:

Риск качества (Quality Risk). Потенциальный вид ошибки, способ поведения системы, при котором она, вероятно, не соответствует обоснованным ожиданиям качества системы, имеющимся у пользователя или заказчика. Заметим, что риск качества - это потенциальный, а не обязательный результат с вероятностью больше нуля или миньше единицы.

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

Используя этот перечень в качестве затравки, Джамал вместе с участниками семинара приступил к мозговому штурму, выделяя те отдельные проблемы, которые подпадают под каждую из категорий рисков, и проверяя, нет ли пропущенных категорий. Макс обнаружил, что пропущена категоиря “удобство использования”, а Косимо добавил конкурентные недостатки. После того как были предприняты усилия по устранению избыточной информации и комбинированию пересекащихся проблем, группа выделила около 80 отдельных проблем.

Имея перечень видов ошибок, теперь можно расставить риски, связанные с ними, по приоритетам и определить действия по смягчению критических рисков. Джамал пояснил, что для оценки рисков он использует упрощенную методику анализа видов ошибок и их влияния. Он попросил участников семинара для каждого вида ошибок рассмотреть три фактора: серьезность, приоритетность и вероятность - и проранжировать их по шкале от 1 (небольшой риск) до 5 (наименьший риск). Серьезность - значимость влияния ошибки для данного вида ошибок, принимает одно их возможных значений от 1 (наиболее разрушительная) до 5 (наименее разрушительная).

  1. Потеря данных. Ошибки, относящиеся к этому виду ошибок, могут вызывать потерю пользовательских (конечного пользователя, оператора системы и т.п.) или системных данных.
  2. Потеря функциональности. Ошибки, относящиеся к этому виду ошибок, могут заблокировать использование основной функциональности (могут включать в себя и нефункциональные проблемы, например, связанные с производительностью, которые вызывают неприемлемые задержки в использовании функций).
  3. Потеря функциональности с наличием обходного пути. Ошибки, относящиеся к этому виду, могут заблокировать использование основной функциональности, но для пользователя существует разумных обходной путь.
  4. Частичная потеря функциональности. Ошибки, относящиеся к этому виду, могут заблокировать использование некоторой несущественной части функциональности.
  5. Косметическая ошибка. Ошибки, относящиеся к этому виду, допускают нормальное функционирование системы, но со значительными недостатками (в особенности, в пользовательском интерфейсе или в способности системы реагировать на запросы пользователя).

“Сертифицированный тестировщик Программа обучения Базового уровня”. Версия 2011 (от 13 апреля 2011 года), International Software Testing Qualifications Board, Андрей Конушин (председатель), Александр Александров, Алексей Александров, Татьяна Смехнова, Елена Абрамова. 73-75/101 страница:

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

Риски проекта

Риски проекта – это риски, которые влияют на способность проекта достигнуть его целей, и включают:

Организационные факторы:

  • Недостаток квалификации, подготовки и сотрудников;
  • Личные проблемы сотрудников;
  • Политические проблемы, такие как:
  • Тестировщики в недостаточной степени сообщают о своих проблемах и результатах тестирования;
  • Неспособность следовать информации, полученной во время тестирования или рецензирования (например, не улучшать практики разработки или тестирования);
  • Неверное отношения к тестированию или ложные ожидания (например, не принимать во внимание значение найденных во время тестирования дефектов);

Технические проблемы:

  • Проблемы в определении верных требований;
  • Объем, при котором требования не могут соответствовать заданным ограничениям;
  • Вовремя не готово тестовое окружение;
  • Позднее преобразование данных, планирование миграции и разработки тестовых данных и средств преобразования\миграции тестовых данных;
  • Низкое качество проектирования, кода, конфигурационных и тестовых данных и тестов;

Проблема поставщика:

  • Отказ третьей стороны;
  • Проблемы контракта.

При анализе, управлении и уменьшении этих рисков менеджер тестирования должен следовать хорошо обоснованным принципам управления проектом. «Стандарт по тестовой Документации для Программного Обеспечения» (IEEE Std 829-1998) содержит шаблон плана тестирования, требующий определения рисков и непредвиденных обстоятельств.

Риски продукта

Риски продукта – это потенциальные области сбоя (неблагоприятные будущие события или опасность) в ПО или системе, т.к. они подвергают риску качество продукта, например:

  • Поставка потенциально ненадежного ПО;
  • Возможность того, что программное\аппаратное обеспечение может нанести вред человеку или компании;
  • Плохие характеристики ПО (например, функциональность, надежность, удобство использования или производительность);
  • Неполнота и низкое качество данных (например, проблемы миграции, преобразования и перемещения данных, отклонение от стандарта данных);
  • программное обеспечение, которое не выполняет предполагаемых функций.

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

Риски продукта – это особенный тип рисков, который влияет на успех продукта. Тестирование как действие, контролирующее риски, позволяет определить остаточные риски путем измерения эффективности исправления критичных дефектов и плана на случай непредвиденных обстоятельств.

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

  • Определения методики тестирования для использования;
  • Определения объема тестирования, которое должно быть выполнено;
  • Установления приоритетов для тестирования, что бы найти критичные дефекты как можно раньше;
  • Определения, нужны ли дополнительные, не связанные с тестированием действия по уменьшению рисков (например, проведение тренинга для неопытных проектировщиков).

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

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

  • Оценке (и переоценке на регулярной основе) того, что может пойти неверно (риски);
  • Определению, какие риски наиболее важны для решения;
  • Выполнение действий по работе с этими рисками.

В дополнение, тестирование может поддерживать нахождение новых рисков, помогает определить какие риски должны быть уменьшены, а также может снижать неопределенность в отношении рисков.

25.02.2018. Перейти на Главную страницу