ДОПОЛНИТЕЛЬНОЕ ОБРАЗОВАНИЕ
В ТУСУРЕ

ТОЧНЫЕ ЗНАНИЯ
ОТТОЧЕННЫЕ НАВЫКИ

тел. +7 (3822) 70-17-36

Специалист по вопросам поступления

  • Безрукова
  • Вера Петровна

Специалист по вопросам обучения школьников

  • Тахтабаева
  • Ильмира Хусаиновна

Куратор дистанционного обучения

  • Завадовская
  • Олеся Александровна
 

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

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

Именно для вас – наш курс «Тестирование и контроль качества ПО». С этим курсом вы:

  • Получите широкий кругозор в сфере тестирования;
  • Научитесь основным техникам и познакомитесь с основными инструментами тестирования;
  • Узнаете, как построен процесс тестирования в ведущих компаниях;
  • Создадите план развития на год, чтобы стать успешным тестировщиком.

Рекомендуемая подготовка слушателя

Курс предназначен для специалистов, имеющих начальные знания в сфере IT. Опыт работа в сфере тестирования желателен, но не обязателен.

Программа обучения

1. Введение в тестирование ПО

  1. Основные определения тестирования,«что такое тестирование?»
  2. Цели и задачи процесса тестирования.
  3. Полный цикл тестирования. Фазы тестирования.
  4. Когда тестирование полезно, а когда - нет. Определение цены ошибки. График изменения цены ошибки.
  5. Различные области тестирования: функционал, производительность, безопасность, нагрузка, надежность, совместимость, юзабилити.
  6. Различные способы организации тестирования: зависимое и независимое, валидация и верификация, контроль качества и обеспечение качества.
  7. Различные тесты: позитивные, негативные и исследовательские.
  8. Стратегии: тесты белого, чёрного и серого ящика.

Практическое задание: придумываем, как тестировать интернет-магазин.

2.   Требования (requirements)

  1. Зачем тестировщику требования?
  2. Определение требования.
  3. Характеристики требований.
  4. Классификация требований.
  5. Требования по уровням детализации.
  6. Методы сбора требований.
  7. Документирование требований, версионирование, трассируемость.
  8. Стандарты документирования требований.

3. Баг-трекинг

  1. Жизненный цикл (Workflow) ошибок: каким бывает? Что от него зависит, как подстроиться?
  2. Глоссарий баг-трекинга в различных компаниях.
  3. Формулирование ошибок: как сделать так, чтобы нас поняли?
  4. Идеальное оформление баг-репорта.
  5. Критичность и приоритет ошибок.
  6. Severity vs. Priority.
  7. Инструменты баг-трекинга: Bugzilla, Jira, Redmine.

Практическое задание: регистрируем ошибки в BTS

4.   Тест-анализ

  1. Что такое тест-анализ, кому и когда он нужен. Как сокращать количество тестовых проверок, увеличивая количество находимых ошибок?
  2. Покрытие входных данных. Допустимые и недопустимые данные.
  3. Эквивалентное разбиение.
  4. Анализ граничных значений.
  5. Попарное комбинирование.
  6. Предположение ошибок.
  7. Учебный проект: составление набора входных данных для тестирования учебной программы.
  8. Комбинаторное тестирование (ДП3 и Pairwise).
  9. Тестирование состояний и переходов (State & Transition Testing).

Практическое задание: тестируем сайт. 

5.   Тест-дизайн

  1. Когда и каким образом надо документировать тесты?
  2. Роли в документировании тестовых наборов.
  3. Тест-кейсы и чек-листы: что использовать?
  4. Test case: Правила написания, степень детализации, независимость.
  5. Эффект пестицида и способы борьбы с ним.
  6. Инструментарий для документирования тестов: sitechco, testrail, testlink.
  7. Отчет о тестировании.

Практическое задание: пишем тесты для интернет-магазина. 

6.   Исследовательское тестирование

  1. Отличия исследовательского, ad hoc и monkey-testing.
  2. Как тестировать продукт, по которому нет документации?
  3. Помощники от более опытных: чит-листы и тест-туры.
  4. Майнд-мапы как средство хранения схем тестирования.
  5. Мнемоники и эвристики исследовательского тестирования.

Практическое задание: тестируем интернет-магазин. 

7.   Регрессионное тестирование

  1. Определение регрессии.
  2. Регрессия ошибки (Bug regression).
  3. Регрессия старых ошибок (Old bugs regression).
  4. Регрессия побочного эффекта (Side effect regression).
  5. Организация регрессионного тестирования. 

8.   Тестирование мобильных приложений

  1. В чем сложности тестирования мобильных приложений?
  2. Best-practices: получениеобратнойсвязи, Fabric.io: Crashlitycs, Beta, Answers.

9.   Нефункциональное тестирование

  1. Подготовка к нефункциональному тестированию: что нам важно учесть? Какие особенности продукта?
  2. Проведение тестирования надежности.
  3. Проведение тестирования юзабилити.
  4. Проведение тестирования производительности (нагрузочное, Microsoft Load Testing, Jmeter). Типы нагрузки, симуляция поведения пользователей.
  5. Проведение тестирования совместимости и окружений.
  6. A/B - тестирование. Что это и какое отношение имеет к тестированию вообще?

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

10. Автоматизированное тестирование

  1. Модульное тестирование. Драйверы. Заглушки.
  2. Интеграционное тестирование. Способы интеграционного тестирования.
  3. Системное тестирование.
  4. Unit-тестирование: кому и насколько нужно? Драйверы. Заглушки.
  5. Идеальное Соотношение Unit-тестов, автотестов интерфейса, и ручных тестов.
  6. Метрика покрытия кода.
  7. Codeception
  8. Системы автоматизированного тестирования: Selenium, HP QC, TestComplete.

Практическое задание: автоматизируем тестирование интернет-магазина с помощью Selenium IDE. 

11. Место тестирования в области Обеспечения качества (Quality Assurance)

  1. Определения “качество”, “обеспечение качества", "управление качеством", "спираль качества”.
  2. Стоимость обеспечения качества.
  3. Достаточный уровень тестирования, правило Парето.
  4. Запланированное старение, специалисты по параметризации.
  5. ISO 9001, TQM, цикл PDCA.
  6. ГОСТ 34. 

12. Организация процесса тестирования в компании

  1. Место тестирования в процессе разработки ПО.
  2. Варианты организации процесса разработки в компании и место тестирования в них (Waterfall, Agile, V-Model, Iterative, Incremental, RAD, Spiral, DevOps).
  3. Кто круче: программист или тестировщик?
  4. Тестирование - общее дело.
  5. Метрики тестирования и качества.
  6. Подсчет стоимости тестирования: Оценка трудоемкости задач.  Эмпирическое правило Брукса. Практические соображения. Метод  анализа видов ошибок и их влияния (FMEA).
  7. Ручное и автоматизированное тестирование: когда какое использовать? Формула для вычисления необходимости автоматизации тестирования.
  8. Скриптовое и исследовательское тестирование: как выбрать и как совмещать?
  9. Как выглядит процесс тестирования в различных компаниях ( Гиганты: Google и Microsoft, Стартапы: маленькие начинающие проекты, Аутсорсинговые компании). 
  10. Разработка, управляемая поведением (TDD, BDD).
  11. Приемочное тестирование.
  12. Организация тестовых сессий.
  13. Организация получения автоматической обратной связи.
  14. Построение инфраструктуры для обеспечения качества (ландшафт (dev-test-stage-prod), CI, Bugtracker).
  15. Сохранение знаний по проекту.
  16. Работа с техническим долгом.

Практическое задание: разрабатываем процесс тестирования своей мечты.

13. Построение карьеры в сфере тестирования

  1. Почему уметь тестировать это круто? (ответ: эти знания всегда востребованы и практически не устаревают)
  2. Почему тестировщики недооценены? (но приходит DevOps).
  3. Какие бывают возможности роста в сфере тестирования?
  4. Что требуется от тестировщиков разных уровней?
  5. Чему важнее всего учиться?
  6. Удовольствие от тестирования: от чего зависит? Как увеличить?
  7. Как получить необходимый опыт для первого места работы?
  8. Как тестировщику развиваться в любом проекте у любого работодателя.
  9. Правила написания «правильного» резюме.

Практическое задание: делаем идеальное резюме и создаём план саморазвития на год. 

14. Подведение итогов

  1. Финальный экзаменационный тест по всему курсу (30 вопросов).
  2. Дискуссия: чему мы научились за это время?
  3. Как это использовать?
  4. Для закрепления и развития: что смотреть/слушать/читать.
  5. Какие есть конференции по теме тестирования.
  6. Варианты сертификации в области тестирования - ISTQB, CSTE.

Продолжительность обучения

  • учебная программа: 72 часа;
  • продолжительность обучения: 2 месяца.

Форма обучения

  • очно-заочная.

Выдаваемые документы

  • удостоверение о повышении квалификации ведущего государственного технического вуза.

Телефон: 8 (3822) 70-17-36, 53-30-77
ул. 19 Гвардейской дивизии, 9а,
пр. Ленина, 40, оф. 127