Тестирование ПО


    Темы лекции:
  • Разработка программного обеспечения
  • Релизный процесс
  • Тестировщик в процессе разработки
  • Виды тестирования
  • Практика

Сергеева Анастасия

Часть 1

Разработка программного обеспечения

  • Что такое ПО?

  • Любая программа от маленькой страницы до мощной системы проектирования
    YANDEX

  • Откуда это все берется?

  • Идея или необходимость?
    YANDEX

Выделяем следующие виды разработок:

  • Заказная - заказчик пришел в ИТ-фирму, чтобы решить свою проблему (необходимсоть)

  • Продуктовая - проанализировав рынок, было выявлено, что есть необходимость в каком-либо сервисе - его и делаем и продаем (идея)

Поняли, что необходимость в ПО есть.
Что дальше?

Разрабатываем!
YANDEX

Этапы разработки ПО

  • Анализ требований и проектирование
  • Кодирование и дизайн
  • Тестирование и отладка
  • Примечание!
    QA [Quality Assurance]- обеспечения качества выпускаемого продукта на всех этапах и стадиях жизненного цикла разработки ПО.
    QC [Quality Control]- получение информации о соотвествии продукта и требований к нему.
  • Внедрение
  • Сопровождение и улучшение
В зависимости от вида разработки и выбранной методологии эти этапы могут использоваться один или несколько раз.

Методологии разработки

Waterfall

Каскадная модель - Водопад - Waterfall
YANDEX

Плюсы модели

  • Полное документирование каждого этапа;
  • Четкое планирование сроков и затрат;
  • Прозрачность процессов для заказчика;

Минусы модели

  • Надо сразу знать все требования;
  • Нельзя ничего существенно изменить;
  • Велика цена изменений в требованиях;

Методологии разработки

Гибкая модель - Agile

- это философия.

    Основные принципы:
  • это быть командами профессионалов, не нуждающейся в начальниках
  • это работа вместе с клиентом, эксперименты и готовность к изменениям
  • это быстрый выпуск работающего качественного продукта

мы рассмотрим методики — Scrum и Kanban

- это набор готовых правил, показывающих как организовать рабочий процесс по принципам Аджайл

YANDEX

Плюсы модели

  • Короткие и понятные итерации в итоге которых - рабочая версия продукта;
  • Тесное общение всех участников процесса разработки;
  • Гибкая система внесения изменений;

Минусы модели

  • Высокая степень самоорганизации;
  • Постоянные изменения проекта отодвигают его от финальной версии;
  • Сложность в оценка времени достижения "идеальной" версии и ее цена;

Как выглядит работа в рамках скрам-модели:

  • Составляем список задач и доработок
  • Выбираем те задачи, которые делаем сейчас
  • Назначаем ответственных на каждую задачу и исполняем их
  • Получаем новую версию продукта
  • Ретроспектива
  • Планируем следующий спринт
YANDEX

Особенности модели:

  • Каждая задача - "фича", которую можно "продать";
  • Нет оценки временем, но есть приоритеты;
  • Нет спринтов - всё делается тогда, когда это нужно;
  • Лимит на количество задач;

Плюсы модели:

  • Визуализация;
  • Не надо планировать - надо делать;
  • Внимание к мелочам;

Минусы модели:

    аналогично scram +

  • Нет сроков;
  • Лимит на количество задач

Часть 2

Релизный процесс

C чего начинается релиз?

YANDEX YANDEX
    Преимущество баг-трекеров:
  • Типирование и группировка задач.
  • Назначение и уведомления всех участников.
  • Настраиваемый жизненный цикл для задачи.
  • Отслеживание продвижение проекта при помощи досок.
  • Автоматический сбор статистики.

Пример просмотра задач в Яндекс.Трекер:

YANDEX

Пример реальной встречи

YANDEX
Итог встречи
  • Теперь все в курсе изменений;
  • Нашли решение проблем;
  • Обновили диаграмму и проанализировали ритм работы

Burndown
- диаграмма сгорания задач, где шкала OY - затраченное время на задачи, а OX - дни до конца спринта

YANDEX

Пример виртуальной встречи

YANDEX

Система контроля версий

YANDEX

Пример использования системы контроля версий

YANDEX YANDEX

Часть 3

Тестировщик в процессе разработки

Когда начинается тестирование?

  • Планирование и проектирование - изучение требований, уточнение интересующих вопросов
  • Кодирование и дизайн - тестирование в ветке разработчика, помощь в поиске причин дефекта
  • Исправление ошибок - проверка функций и возвращение их на доработку
  • Сопровождение - анализ ошибок от пользователей

Зачем начинать тестирование так рано?

Цена дефекта увеличивается со временем его обнаружения

YANDEX

Что делает тестировщик?

  • Тестирование в ветке разработчика
  • Тестирование релиза
  • Исследование и регистрация дефектов
  • Проектирование тест-планов и сценариев
  • Постановка задач на автотесты
  • Анализ требований
  • Внесение улучшений в продукт

Что надо уметь?

  • Планировать действия
  • Проектировать тесты
  • Наблюдать результат выполнения тестов
  • Находить дефекты
  • Описывать дефекты
  • Общаться с людьми

Часть 4

Виды тестирования

YANDEX YANDEX
YANDEX YANDEX YANDEX
YANDEX YANDEX
YANDEX

Практика

Задача: протестировать стул, находящийся в аудитории

    Требования к стулу:
  • Он должен cтоять на ножках
  • Он должен иметь сидушку, чтобы на нем можно было сидеть
  • Он должен иметь спинку, чтобы на нее можно было наклониться
  • Он должен быть подъемным
  • Он должен выдержать вес человека до 150 кг
  • Он должен быть пригодным для использования более 10000 раз
  • Он должен cтоять в аудитории и т.д.
YANDEX

Итог

О чем мы сегодня говорили?

    Темы лекции:
  • Разработка программного обеспечения
  • Релизный процесс
  • Тестировщик в процессе разработки
  • Виды тестирования
  • Практика

Домашняя работа

Написать тестовые ситуации на каждый тип функционального и нефункционального тестирования для окна отправки сообщения на Яндекс.Ямб
  1. Отправить на e-mail y.students@yandex.ru ФИО и желаемьй логин
  2. С полученным логином и паролем зайти в Яндекс.Коннект: https://connect.yandex.ru/
  3. Перейти в раздел "Трекер" в очередь YAMB
  4. Нажать кнопку "Создать задачу":
    • В качестве Названия задачи указать "Домашняя задача #1"
    • Выбрать шаблон "Домашняя работа №1" и вместо слов <Тестовый случай> вписать соответсвующие ответы на домашнюю задачу
  5. Нажать кнопку "Создать"

примечание:
если у задачи статус "в работе" - ее взяли на проверку;
"требуется информация" - есть замечания и их надо исправить;
"решен" - решение задачи принято.

Яндекс.Ямб можно посмотреть в Яндекс.Коннекте

Литература

Спасибо за внимание!

Вопросы?