Logo CitForum CITForum на CD Форумы Газета Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

21.05.2012

Google
WWW CITForum.ru
2005 г.

Препарируем RUP — задачи и роли в тестировании

Вячеслав Панкратов, Software-testing.ru

Классификация задач и ролей в тестировании, основанная на методологии RUP.

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

Как мне кажется, связана такая ситуация с тем, что существует определённое непонимание процессов связанных с тестированием и обеспечением качества. Между тем, направление тестирования чётко определено ролями и задачами, которое оно решает. Определившись с ролями и задачами, можно не только представить себе более-менее стандартный процесс тестирования, но также понять, что к нему не относится. Заметим, я не отождествляю процессы тестирования и обеспечения качества. К задачам обеспечения качества я планирую вернуться в последующих публикациях. Сейчас я предлагаю рассматривать тестирование, как часть процесса обеспечения качества.

Попробуем определиться и понять, какие же роли и задачи решаются направлением тестирования. Чтобы не изобретать велосипед, я предлагаю взять за основу существующую методологию RUP (Rational Unified Process), как наиболее общий и полный вариант.

Аналогии

Есть замечательная реклама: Как делают автомобили SAAB? Берут самолёт и отсекают всё лишнее, что помогает ему взлетать.

Попробуем взять шаблон RUP-а для MTP (Master Test Plan) и отсечь всё лишнее, что не касается темы данной статьи. Самое интересное, что отсечь пришлось практически весь шаблон, оставив только одно приложение и табличку, для расчета ресурсов. Добавим перевод, вырежем лишнее.

Деятельность/Задачи тестирования (Testing Activities)

Рассмотрим более подробно существующие активности/задачи связанные с тестированием:

  • Планирование тестов (Plan Test)
    • Определение требований к тестам (identify requirements for test)
    • Оценка рисков (assess risk)
    • Разработка стратегии тестирования (develop test strategy)
    • Определение ресурсов (identify test resources)
    • Создание расписания/последовательностей (create schedule)
    • Разработка Плана тестирования (generate Test Plan)
  • Дизайн тестов (Design Test)
    • Анализ объёма работ (prepare workload analysis)
    • Определение и описание тестовых случаев (identify and describe test cases)
    • Определение и структурирование тестовых процедур (identify and structure test procedures)
    • Обзор и оценка тестового покрытия (review and assess test coverage)
  • Разработка тестов (Implement Test)
    • Запись или программирование тестовых скриптов (record or program test scripts)
    • Определение тесто-критичной функциональности в Дизайне и Модели реализации (identify test-specific functionality in the Design and Implementation Model)
    • Создание/подготовка внешних наборов данных (establish external data sets)
  • Выполнение тестов (Execute Test)
    • Выполнение тестовых процедур (execute Test procedures)
    • Оценка выполнения тестов (evaluate execution of Test)
    • Восстановление после сбойных тестов (recover from halted Test)
    • Проверка результатов (verify the results)
    • Исследование неожиданных результатов (investigate unexpected results)
    • Запись ошибок (log defects)
  • Оценка тестов (Evaluate Test)
    • Оценка покрытия тестовыми случаями (evaluate Test-case coverage)
    • Оценка покрытия кода (evaluate code coverage)
    • Анализ дефектов (analyze defects)
    • Определение критериев завершения и успешности тестирования (determine if Test Completion Criteria and Success Criteria have been achieved

Роли в тестировании (roles)

Роль Описание
Тест-менеджер, менеджер проекта по тестированию

(Test Manager, Test Project Manager)

Производит управленческий контроль (management oversight)

Ответственность:

  • Обеспечивает техническое направление
  • Получает необходимые ресурсы
  • Обеспечивает управленческую отчётность
Тест дизайнер

(Test Designer)

Определяет, приоритизирует и обеспечивает разработку тестовых случаев

Ответственность:

  • Разрабатывает план тестирования
  • Разрабатывает модель тестирования
  • Оценивает эффективность тестирования
Тестировщик, Инженер по тестированию

(Tester)

Выполняет тесты

Ответственность:

  • Выполняет тесты
  • Фиксирует результаты
  • Восстанавливает тесты и систему после сбоев
  • Документирует запросы на изменение
Администратор тестовой системы, приложений поддерживающих жизненный цикл тестирования

(Test System Administrator)

Обеспечивает управление и поддержку тестовых окружений и данных

Ответственность:

  • Администрирует систему управления тестированием
  • Инсталлирует и управляет доступом к тестовым системам
Администратор баз данных, менеджер баз данных

(Database Administrator, Database Manager)

Обеспечивает управление и поддержку тестовых данных (баз данных)

Ответственность:

  • Администрирует тестовые данные (базы данных)
Тест-дизайнер

(Designer)

Устанавливает и определяет операции, атрибуты и связи тестовых классов

Ответственность:

  • Устанавливает и определяет тестовые классы
  • Устанавливает и определяет тестовые наборы (пакеты)
Разработчик тестов

(Implementer)

Разрабатывает юнит тесты (unit tests), тестовые классы и тестовые наборы (пакеты)

Ответственность:

  • Создаёт тестовые классы, собирает тестовые пакеты и интегрирует их с тестовую модел

Как видите, при ближайшем рассмотрении, оказывается, что тестирование вполне определённый процесс с выделенными ролями и зоной ответственности для различных игроков проекта. Порядок перечисления задачи определяет обычный (полный) цикл проведения тестирования. Такой цикл может применятся, как для проектов ориентированных на длительные итерации, так и для «быстрых» проектов ведущихся по эволюционным методикам (evolutionary) или согласно набирающему обороты XP.

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

Подписка на новости CITForum.ru

Новые публикации:

19 мая

  • Прозрачный механизм удаленного обслуживания системных вызовов

  • Система моделирования Grid: реализация и возможности применения

    Газета:

    Майкл Стоунбрейкер:

  • Ошибки в системах баз данных, согласованность "в конечном счете" и теорема CAP

  • Дискуссия по поводу "NoSQL" не имеет никакого отношения к SQL

    29 апреля

  • Материалы конференции "Корпоративные Базы Данных-2010"

  • Разные облики технологии баз данных (отчет о конференции)

    14 апреля

  • MapReduce: внутри, снаружи или сбоку от параллельных СУБД?

  • Научные вызовы технологиям СУБД

    Обзоры журнала Computer:

    31 марта

  • Рационализация согласованности в "облаках": не платите за то, что вам не требуется

  • Взаимные блокировки в Oracle

  • Архитектура среды тестирования на основе моделей, построенная на базе компонентных технологий

  • Объектное представление XML-документов

    Газета:

  • Microsoft для российских разработчиков: практика с элементами фундаментальности

    10 марта

  • HadoopDB: архитектурный гибрид технологий MapReduce и СУБД для аналитических рабочих нагрузок

  • Классификация OLAP-систем вида xOLAP

  • BGP. Три внешних канала. Балансировка исходящего и входящего трафиков

    Газета:

  • Что мы знаем об iPhone 4G?

    17 февраля

  • MapReduce и параллельные СУБД: друзья или враги?

  • Объектно-ориентированное программирование в ограничениях: новый подход на основе декларативных языков моделирования данных

  • Системологический подход к декомпозиции в объектно-ориентированном анализе и проектировании программного обеспечения

    Газета:

  • Эволюция Wine

    3 февраля

  • Дом на песке

  • Реальное переосмысление "формальных методов"

  • Интервью с Найджелом Пендзом

    Газета:

  • iPad. Первый взгляд на долгожданный планшет от Apple

  • Я не верю в iPad

    20 января

  • SQL/MapReduce: практический подход к поддержке самоописываемых, полиморфных и параллелизуемых функций, определяемых пользователями

  • Данные на лету: как технология потокового SQL помогает преодолеть кризис

    Обзоры журнала Computer:

    2 декабря

  • Сергей Кузнецов. Год эпохи перемен в технологии баз данных

    18 ноября

  • Генерация тестовых программ для подсистемы управления памятью микропроцессора

  • Сравнительный анализ современных технологий разработки тестов для моделей аппаратного обеспечения

    Все публикации >>>


  • IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

    Информация для рекламодателей PR-акции, размещение рекламы — тел. +7 495 6608306, ICQ 232284597 Пресс-релизы — pr@citforum.ru
    Послать комментарий
    Информация для авторов

    Редакция раздаёт котят!

    Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
    Copyright © 1997-2000 CIT, © 2001-2009 CIT Forum
    Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...