понедельник, 20 сентября 2010 г.

Тренинг «Тестирование программного обеспечения»

Почему продукты компании Apple завоевали мировое признание? Что позволило Google возглавить американский рынок поиска? В борьбе на жестоком рынке программных разработок есть единственный способ обогнать конкурентов — сделать более удобный и качественный продукт. Алексей Федотов представляет серию тренингов о том, как ставить и достигать цели в области качества программных продуктов.

Алексей начал заниматься профессиональной разработкой программного обеспечения в 1991 году в научной лаборатории НИВЦ МГУ, выпускавшей математическую библиотеку для советских НИИ. Разрабатывал ПО в военных институтах, игровых проектах и доткомах конца прошлого века. Руководил разработкой и качеством продуктов в телекоммуникационных стартапах, Sun Microsystems и Intel Corporation. С 1992 года читает авторские курсы по математике и разработке программного обеспечения.Авторские тренинги по тестированию программного обеспечения были разработаны Алексеем для того, чтобы помочь своим сотрудникам более эффективно решать практические задачи своих проектов. Поэтому помимо лекционного материала в тренингах достаточное внимание уделяется практическим занятиям в форме практикумов, деловых игр и личных проектов, помогающих решению реальных профессиональных задач участников.Тренинг состоит из трёх лекционных циклов по 6 часов, трёх практических занятий и домашних проектов:
  • Основы тестирования — необходимые знания о тестировании программных продуктов для любого человека, связанного с разработкой программного обеспечения — тестировщика, разработчика и руководителя. Практическое занятие: инспекция Фагана. Проект: написание модульных тестов.
  • Практика тестирования — важные знания о методологиях и практиках тестирования, необходимые тестировщикам и руководителям тестирования. Практическое занятие: написание функционального теста. Проект: эссе на тему тестирования программных продуктов.
  • Управление тестированием — общие знания для руководителей с акцентом на специфику тестирования. Практическое занятие: совещание по управлению проектом. Проект: эссе на тему управления тестированием.

    Cтруктура тренинга

    1. Основы тестирования:
      1. терминология тестирования;
      2. цель тестирования;
      3. тестирование и качество;
      4. артефакты и документация 
      5. роли тестирования в проекте;
      6. язык рисков в тестировании;
      7. тестирование и требования;
      8. различные классификации тестирования;
      9. понятия статического и динамического тестирования;
      10. техники тестирования (черного и белого ящика, defect-based, experienced-based);
      11. уровни тестирования;
      12. взаимодействие в проектной команде;
      13. понятие цикла и раунда тестирования;
      14. понятие <дефект>, классификация дефектов, жизненный цикл дефекта, управление дефектами;
      15. понятие базы дефектов и основные принципы работы с базами дефектов.
    2. Тестирование в жизненном цикле программного обеспечения:
      1. категории и типы ПО;
      2. модели и методологии разработки ПО;
      3. место тестирования для каждой модели разработки ПО;
      4. уровни тестирования (модульное, интеграционное, системное, приемочное);
      5. типы тестирования;
      6. тестирование сопровождения.
    3. Статические методики:
      1. виды статического тестирования;
      2. этапы проведения статического тестирования;
      3. статические тестирование ПО; 
      4. статическое тестирование документов.
    4. Методики разработки тестов:
      1. работа с требованиями;
      2. определение тестовых условий и создание тестовых сценариев;
      3. категории методик разработки тестов; 
      4. методики разработки тестов с точки зрения  на спецификации (black box):
        1. эквивалентное разбиение;
        2. граничные значения;
        3. таблицы решений;
        4. тестирование переходов состояний; 
        5. тестирование use case'ов;
      5. методики разработки тестов для тестирования методом; 
      6. методика, основанная на опыте; 
      7. выбор методики разработки тестов.
    5. Автоматизированное тестирование:
      1. когда и как автоматизировать тестирование?
      2. автоматизация функционального тестирования (подходы, цели, пермимущества и недостатки, оценка целесообразности;
      3. нагрузочное тестирование (понятие производительности, виды нагрузочного тестирования, этапы, инструменты).
    6. Управление тестированием:
      1. организация тестирования:
        1. задачи тестменеджера;
        2. задачи тестировщика;
      2. планирование тестов и оценка трудозатрат:
        1. стратегия тестирования;
        2. планирование тестирования;
        3. координирование тестирования с жизненным циклом ПО;
        4. критерии готовности продукта; 
        5. оценка трудозатрат; 
        6. различные подходы к тестированию (тестирование, основанное на рисках; стохастическое тестирование; подходы, основанные на неисправностях; подходы, основанные на соответствии процессам; динамические и эвристические подходы; консультативные подходы);
      3. отслеживание и контроль прогресса тестирования:
        1. мониторинг прогресса тестирования; 
        2. отчеты о тестировании; 
        3. контроль тестирования; 
        4. метрики тестирования;
      4. управление конфигурациями; 
      5. управление дефектами.
    7. Риски в тестировании: 
      1. риск, как возможная проблема; 
      2. риски проекта; 
      3. риски продукта; 
      4. характеристики рисков: вероятность и воздействие; 
      5. анализ рисков; 
      6. управление рисками.
    8. Тестирование методом свободного поиска (Exploratory Testing) 
    9. Стандарты и улучшение процесса тестирования: 
      1. ISO, IEEE; 
      2. процесс тестирования и CMMI; 
      3. процесс тестирования и TPI.
    10. Инструментальные средства:
      1. средства управления тестированием (багтрекеры, управление требованиями); 
      2. средства поддержки статического тестирования; 
      3. средства поддержки спецификации тестов (проектирования тестов, поддержки тестовых данных ); 
      4. средства поддержки выполнения и протоколирования тестов; 
      5. средства поддержки тестирования производительности; 
      6. средства автоматического тестирования (функционально тестирование); 
      7. выгоды и риски использования инструментальных средств тестирования.

    0 коммент.:

    Отправить комментарий