Почему продукты компании Apple завоевали мировое признание? Что позволило Google возглавить американский рынок поисковых систем? В борьбе на жестоком рынке программных разработок есть единственный способ обогнать конкурентов — сделать более удобный и качественный продукт. Алексей Федотов представляет серию тренингов о том, как ставить и достигать цели в области качества программных продуктов.
Алексей начал заниматься профессиональной разработкой программного обеспечения в 1991 году в научной лаборатории НИВЦ МГУ, выпускавшей математическую библиотеку для советских НИИ. Разрабатывал ПО в военных институтах, игровых проектах и доткомах конца прошлого века. Руководил разработкой и качеством продуктов в телекоммуникационных стартапах, Sun Microsystems и Intel Corporation. С 1992 года читает авторские курсы по математике и разработке программного обеспечения. Авторские тренинги по тестированию программного обеспечения были разработаны Алексеем для того, чтобы помочь своим сотрудникам более эффективно решать практические задачи разработки программного обеспечения. Поэтому помимо лекционного материала в тренингах достаточное внимание уделяется практическим занятиям в форме практикумов, деловых игр и личных проектов, помогающих решению реальных профессиональных задач участников. Тренинг состоит из трёх лекционных циклов по 6 часов, трёх практических занятий и домашних проектов:
- Основы тестирования — необходимые знания о тестировании программных продуктов для любого человека, связанного с разработкой программного обеспечения — тестировщика, разработчика и руководителя. Практическое занятие: инспекция Фагана. Проект: написание модульных тестов.
- Практика тестирования — важные знания о методологиях и практиках тестирования, необходимые тестировщикам и руководителям тестирования. Практическое занятие: написание функционального теста. Проект: эссе на тему тестирования программных продуктов.
- Управление тестированием — общие знания для руководителей с акцентом на специфику тестирования. Практическое занятие: совещание по управлению проектом. Проект: эссе на тему управления тестированием.
Cтруктура тренинга
- Основы тестирования:
- терминология тестирования;
- цель тестирования;
- тестирование и качество;
- артефакты и документация
- роли тестирования в проекте;
- язык рисков в тестировании;
- тестирование и требования;
- различные классификации тестирования;
- понятия статического и динамического тестирования;
- техники тестирования (черного и белого ящика, defect-based, experienced-based);
- уровни тестирования;
- взаимодействие в проектной команде;
- понятие цикла и раунда тестирования;
- понятие дефект, классификация дефектов, жизненный цикл дефекта, управление дефектами;
- понятие базы дефектов и основные принципы работы с базами дефектов.
- Тестирование в жизненном цикле программного обеспечения:
- категории и типы ПО;
- модели и методологии разработки ПО;
- место тестирования для каждой модели разработки ПО;
- уровни тестирования (модульное, интеграционное, системное, приемочное);
- типы тестирования;
- тестирование сопровождения.
- Статические методики:
- виды статического тестирования;
- этапы проведения статического тестирования;
- статические тестирование ПО;
- статическое тестирование документов.
- Методики разработки тестов:
- работа с требованиями;
- определение тестовых условий и создание тестовых сценариев;
- категории методик разработки тестов;
- методики разработки тестов с точки зрения на спецификации (black box):
- эквивалентное разбиение;
- граничные значения;
- таблицы решений;
- тестирование переходов состояний;
- тестирование use case'ов;
- методики разработки тестов для тестирования методов;
- методика, основанная на опыте;
- выбор методики разработки тестов.
- Автоматизированное тестирование:
- когда и как автоматизировать тестирование;
- автоматизация функционального тестирования (подходы, цели, пермимущества и недостатки, оценка целесообразности;
- нагрузочное тестирование (понятие производительности, виды нагрузочного тестирования, этапы, инструменты).
- Управление тестированием:
- организация тестирования:
- задачи тестменеджера;
- задачи тестировщика;
- планирование тестов и оценка трудозатрат:
- стратегия тестирования;
- планирование тестирования;
- координирование тестирования с жизненным циклом ПО;
- критерии готовности продукта;
- оценка трудозатрат;
- отслеживание и контроль прогресса тестирования:
- мониторинг прогресса тестирования;
- отчеты о тестировании;
- контроль тестирования;
- метрики тестирования;
- управление конфигурациями;
- управление дефектами.
- организация тестирования:
- Риски в тестировании:
- риск, как возможная проблема;
- риски проекта;
- риски продукта;
- характеристики рисков: вероятность и воздействие;
- анализ рисков;
- управление рисками.
- Различные подходы к тестированию:
- тестирование, основанное на рисках;
- стохастическое тестирование;
- подходы, основанные на неисправностях (регрессионное тестирование);
- подходы, основанные на соответствии процессам;
- динамические и эвристические подходы;
- консультативные подходы;
- тестирование методом свободного поиска (Exploratory Testing).
- Стандарты и улучшение процесса тестирования:
- ISO, IEEE;
- процесс тестирования и CMMI;
- процесс тестирования и TPI.
- Инструментальные средства:
- средства управления тестированием (багтрекеры, управление требованиями);
- средства поддержки статического тестирования;
- средства поддержки спецификации тестов (проектирования тестов, поддержки тестовых данных );
- средства поддержки выполнения и протоколирования тестов;
- средства поддержки тестирования производительности;
- средства автоматического тестирования (функционально тестирование);
- выгоды и риски использования инструментальных средств тестирования.
Комментариев нет :
Отправить комментарий