IT-Академия Алексея Сухорукова
22
Вячеслав Маслов
 Высшее профильное образование (информационные
технологии)
 Стаж работы в сфере IT 10 лет (с 2004 года)
 Опыт работы на позициях рядового тестировщика, тим-
лида, начальника отдела контроля качества
 С 2013 года преподаватель курса «Тестирование ПО» в ИТ-
Академии
 За это время выпустил порядка 8 групп, в том числе 1
онлайн группу
3
• процесс исследования программного
обеспечения с целью получения
информации о качестве продукта
• сравнение изготовленного программного
продукта с тем, насколько он
соответствует ожиданиям заказчиков
 Рост сложности программного обеспечения
 Понижение технической квалификации
пользователей
 Критически важные приложения (therac-25,
mim-104)
 Повышение эффективности процесса
разработки
 Рыночная конкуренция
4
Что делает тестировщик
 Изучает продукт
 Выполняет тесты
 Разрабатывает тесты
 Пишет отчеты о найденных ошибках (баг-репорты)
 Проверяет исправление ошибок
 Автоматизирует тесты
 Взаимодействует с другими участниками процесса
5
Кто он тестировщик?
 Не обязательно профильное образование в IT
(математика, точные науки)
 Важны личные качества (внимательность,
коммуникабельность)
 Знание предметной области большой плюс
(иностранные языки, бухгалтерский учет)
 Нужно уметь разбираться в софте, продвинутый
пользовательский уровень
 Карьерный рост: аналитик, менеджер проектов
6
Содержание курса теория
 1. Введение в профессию инженера
тестирования
 2. Жизненный цикл разработки
программного обеспечения
 3. Цели и задачи процесса
тестирования
 4. Методы и виды тестирования
 5. Тестовая документация
7
Содержание курса практика (блок #1)
 1.Исследовательское тестирование
 2.Поиск и документирование
обнаруженных дефектов
 3.Системы учёта дефектов
 4.Разработка тестовых случаев
 5.Тестовые данные и классы
эквивалентности
 6.Система управления тестированием
TestLink
8
Содержание курса практика (блок #2)
 1. Цели и методы автоматизированного
тестирования
 2. Быстрый старт с Selenium IDE
 3. Команды и локаторы в Selenium
 4. Усложняем тесты и учимся делать
роботов
 5. Нагрузочные тесты на JMeter
9
10
11
Разделы
дисциплины
Требования
для ПО
Проектирован
ие ПО
Инженерия
ПО
Тестирование
ПО
Обслуживани
е ПО
Управление
конфигурацие
й ПО
Управление
разработкой
ПО
Процесс
разработки
ПО
Инструменты
для
разработки
ПО
Качество ПО
Локализация
ПО
12
•В любой момент времени сложно сказать, в каком
состоянии находится проект и каков процент его
завершения
Недостаток
прозрачности
• Без точной оценки процесса разработки срываются графики
выполнения работ и превышаются установленные бюджеты.
Сложно оценить объем выполненной и оставшейся работы
Недостаток контроля
• Невозможность наблюдать ход развития проекта не позволяет
контролировать ход разработки в реальном времени
Недостаток
мониторинга
• У заказчиков постоянно возникают новые идеи относительно
разрабатываемого программного обеспечения
Неконтролируемые
изменения
• Самый сложный процесс — поиск и исправление ошибок в
программах. Поскольку число ошибок в программах заранее
неизвестно, то заранее неизвестна и продолжительность отладки
программ и отсутствие гарантий отсутствия ошибок в программах
Недостаточная
надежность
•Нет гарантий отсутствия ошибок в программах вплоть до
формальной сдачи программ заказчикам.
Отсутствие гарантий
качества
13
Жизненный цикл проекта (англ. Project Life Cycle) — последовательность
фаз проекта, задаваемая исходя из потребностей управления проектом.
В рамках методологии Института управления проектами (англ. Project
Management Institute) жизненный цикл проекта имеет 5 фаз:
Завершение
Контроль и мониторинг
Выполнение
Планирование
Инициация
14
Определение требований
Проектирование
Разработка
Тестирование и отладка
Инсталляция поддержка
15
Планирование
Реализация
Проверка
Оценка
RUP
16
V diagram (model)
17
Ценности
личности и их
взаимодейств
ия важнее,
чем процессы
и
инструменты,
рабочее
программное
обеспечение
важнее, чем
полная
документация,
сотрудничеств
о с заказчиком
важнее, чем
контрактные
обязательства,
реакция на
изменения
важнее, чем
следование
плану.
18
Удовлетворение клиента за счёт ранней и бесперебойной поставки ценного ПО
Приветствие изменения требований, даже в конце разработки. Это может повысить конкурентоспособность
полученного продукта
Частая поставка рабочего ПО (каждый месяц или неделю или ещё чаще)
Тесное, ежедневное общение заказчика с разработчиками на протяжении всего проекта
Проектом занимаются мотивированные личности, которые обеспечены нужными условиями работы,
поддержкой и доверием.
Рекомендуемый метод передачи информации это личный разговор (лицом к лицу)
Рабочее ПО — лучший измеритель прогресса
Спонсоры, разработчики и пользователи должны иметь возможность поддерживать постоянный темп на
неопределенный срок
Постоянное внимание на улучшение технического мастерства и удобный дизайн
Простота — искусство НЕ делать лишней работы
Лучшие архитектура, требования и дизайн получаются у самоорганизованной команды
Постоянная(Частая) адаптация(улучшение эффективности работы) к изменяющимся обстоятельствам
19
20
Короткий цикл обратной связи (Fine scale
feedback)
Разработка через тестирование (Test driven
development)
Игра в планирование (Planning game)
Заказчик всегда рядом (Whole team, Onsite
customer)
Парное программирование (Pair
programming)
Непрерывный, а не пакетный процесс
Непрерывная интеграция (Continuous
Integration)
Рефакторинг (Design Improvement, Refactor)
Частые небольшие релизы (Small Releases)
Понимание, разделяемое всеми
Простота (Simple design)
Метафора системы (System metaphor)
Коллективное владение кодом (Collective
code ownership) или выбранными
шаблонами проектирования (Collective
patterns ownership)
Стандарт кодирования (Coding standard or
Coding conventions)
Социальная защищенность
программиста (Programmer welfare):
40-часовая рабочая неделя
(Sustainable pace, Forty hour
week)

01ka-nov

  • 1.
  • 2.
    22 Вячеслав Маслов  Высшеепрофильное образование (информационные технологии)  Стаж работы в сфере IT 10 лет (с 2004 года)  Опыт работы на позициях рядового тестировщика, тим- лида, начальника отдела контроля качества  С 2013 года преподаватель курса «Тестирование ПО» в ИТ- Академии  За это время выпустил порядка 8 групп, в том числе 1 онлайн группу
  • 3.
    3 • процесс исследованияпрограммного обеспечения с целью получения информации о качестве продукта • сравнение изготовленного программного продукта с тем, насколько он соответствует ожиданиям заказчиков
  • 4.
     Рост сложностипрограммного обеспечения  Понижение технической квалификации пользователей  Критически важные приложения (therac-25, mim-104)  Повышение эффективности процесса разработки  Рыночная конкуренция 4
  • 5.
    Что делает тестировщик Изучает продукт  Выполняет тесты  Разрабатывает тесты  Пишет отчеты о найденных ошибках (баг-репорты)  Проверяет исправление ошибок  Автоматизирует тесты  Взаимодействует с другими участниками процесса 5
  • 6.
    Кто он тестировщик? Не обязательно профильное образование в IT (математика, точные науки)  Важны личные качества (внимательность, коммуникабельность)  Знание предметной области большой плюс (иностранные языки, бухгалтерский учет)  Нужно уметь разбираться в софте, продвинутый пользовательский уровень  Карьерный рост: аналитик, менеджер проектов 6
  • 7.
    Содержание курса теория 1. Введение в профессию инженера тестирования  2. Жизненный цикл разработки программного обеспечения  3. Цели и задачи процесса тестирования  4. Методы и виды тестирования  5. Тестовая документация 7
  • 8.
    Содержание курса практика(блок #1)  1.Исследовательское тестирование  2.Поиск и документирование обнаруженных дефектов  3.Системы учёта дефектов  4.Разработка тестовых случаев  5.Тестовые данные и классы эквивалентности  6.Система управления тестированием TestLink 8
  • 9.
    Содержание курса практика(блок #2)  1. Цели и методы автоматизированного тестирования  2. Быстрый старт с Selenium IDE  3. Команды и локаторы в Selenium  4. Усложняем тесты и учимся делать роботов  5. Нагрузочные тесты на JMeter 9
  • 10.
  • 11.
    11 Разделы дисциплины Требования для ПО Проектирован ие ПО Инженерия ПО Тестирование ПО Обслуживани еПО Управление конфигурацие й ПО Управление разработкой ПО Процесс разработки ПО Инструменты для разработки ПО Качество ПО Локализация ПО
  • 12.
    12 •В любой моментвремени сложно сказать, в каком состоянии находится проект и каков процент его завершения Недостаток прозрачности • Без точной оценки процесса разработки срываются графики выполнения работ и превышаются установленные бюджеты. Сложно оценить объем выполненной и оставшейся работы Недостаток контроля • Невозможность наблюдать ход развития проекта не позволяет контролировать ход разработки в реальном времени Недостаток мониторинга • У заказчиков постоянно возникают новые идеи относительно разрабатываемого программного обеспечения Неконтролируемые изменения • Самый сложный процесс — поиск и исправление ошибок в программах. Поскольку число ошибок в программах заранее неизвестно, то заранее неизвестна и продолжительность отладки программ и отсутствие гарантий отсутствия ошибок в программах Недостаточная надежность •Нет гарантий отсутствия ошибок в программах вплоть до формальной сдачи программ заказчикам. Отсутствие гарантий качества
  • 13.
    13 Жизненный цикл проекта(англ. Project Life Cycle) — последовательность фаз проекта, задаваемая исходя из потребностей управления проектом. В рамках методологии Института управления проектами (англ. Project Management Institute) жизненный цикл проекта имеет 5 фаз: Завершение Контроль и мониторинг Выполнение Планирование Инициация
  • 14.
  • 15.
  • 16.
  • 17.
    17 Ценности личности и их взаимодейств ияважнее, чем процессы и инструменты, рабочее программное обеспечение важнее, чем полная документация, сотрудничеств о с заказчиком важнее, чем контрактные обязательства, реакция на изменения важнее, чем следование плану.
  • 18.
    18 Удовлетворение клиента засчёт ранней и бесперебойной поставки ценного ПО Приветствие изменения требований, даже в конце разработки. Это может повысить конкурентоспособность полученного продукта Частая поставка рабочего ПО (каждый месяц или неделю или ещё чаще) Тесное, ежедневное общение заказчика с разработчиками на протяжении всего проекта Проектом занимаются мотивированные личности, которые обеспечены нужными условиями работы, поддержкой и доверием. Рекомендуемый метод передачи информации это личный разговор (лицом к лицу) Рабочее ПО — лучший измеритель прогресса Спонсоры, разработчики и пользователи должны иметь возможность поддерживать постоянный темп на неопределенный срок Постоянное внимание на улучшение технического мастерства и удобный дизайн Простота — искусство НЕ делать лишней работы Лучшие архитектура, требования и дизайн получаются у самоорганизованной команды Постоянная(Частая) адаптация(улучшение эффективности работы) к изменяющимся обстоятельствам
  • 19.
  • 20.
    20 Короткий цикл обратнойсвязи (Fine scale feedback) Разработка через тестирование (Test driven development) Игра в планирование (Planning game) Заказчик всегда рядом (Whole team, Onsite customer) Парное программирование (Pair programming) Непрерывный, а не пакетный процесс Непрерывная интеграция (Continuous Integration) Рефакторинг (Design Improvement, Refactor) Частые небольшие релизы (Small Releases) Понимание, разделяемое всеми Простота (Simple design) Метафора системы (System metaphor) Коллективное владение кодом (Collective code ownership) или выбранными шаблонами проектирования (Collective patterns ownership) Стандарт кодирования (Coding standard or Coding conventions) Социальная защищенность программиста (Programmer welfare): 40-часовая рабочая неделя (Sustainable pace, Forty hour week)