Please enable JavaScript.
Coggle requires JavaScript to display documents.
Agile Scrum - Coggle Diagram
Agile Scrum
Про тестирования
Виды багов
Функциональные
Дизайн
Удобство использования
Локализация
Орфография
Баг контента
Безопасность
Совместимость
3
UX (User Experience), юзабилити - то, где мы разместим
элемент на сайте, корзину, блок, кнопку
Простота и Удобство использования
2
UI
Виды
Автоматизация
Ручное
На основе требований
Е2Е
Пример
на пример протестировать работу воспроизведения трека:
зайти в приложение(любое музыкальное)
включить трек
кнопка перемотка вперед
кнопка перемотка назад
регулятор громкости
ползунок перемотки
остановка на паузу
снятие с паузы
и кнопочка зацикливание трека, его повтор
выйти из приложения
и того 10 тест кейсов, это е2е тестирование,
и в тоже время является smoke а так же, получается эти 10 тест кейсов являются тест сьют набором, т.к тестируют определенный функционал
Smoke(системное)
Набор тест suite(сьютов)
Которые заносим в тестовый цикл
для проверки билда
Sanity(системное)
Это если в смоук какой то тест кейс не прошел
или не работает какая то кнопка и
её пофиксили, то перепроверка этой функции
Санити тестирование
Регрессионное
Полное
К примеру, когда решена проблема
с производительностью
При изменении окружения
Например
Смена БД с MySQL на Oralce
Частичное
Выбираем тест кейсы в которых часто
встречаются баги
Граничных значений
Пассивные
Ввод не правильных данных
Позитивные(в первую очередь)
Для изменений кода в отдельных
разделов системы
Делается в конце спринта
Интеграционное
Тестирование отдельных модулей
программы
Приложение имеет 3 модуля, например
«Страница входа»
«Почтовый ящик»
«Удалить электронную почту».
Каждый из них интегрирован логически.
«Почтовый ящик»: проверьте его
интеграцию с модулем
«Удалить электронную почту».
Ad-hock / Manking /
Исследовательское
Без документации
и требований
Нужны только для одного
запуска, если дефект
не обнаружен
Динамическое
Обычное, системное, с выполнением
кода, т.е запуском приложения
Статические
Ревью документов
Требование к спецификации
Проектный документ
Исходный код
ТЕСТИРОВАНИЕ НА ОСНОВЕ РИСКА (RBT)
минимизирования уровня рисков продукта и информирования заинтересованных лиц о текущем состоянии рисков с начальных стадий проекта.
Заказчик сказал сделать веб прил.
Риски - потеря аудитории, т.к нативные приложение лучше
Информируем заказчика
Не функциональное
UI
То, как будет выглядеть
UX - User Experience
Юзабилити
то, где мы разместим элемент
на сайте, корзину, блок, кнопку
Удобство интерфейса
Пример:
надежность, эффективность,
юзабилити, поддерживаемость,
переносимость
Системное тестирование
На этом этапе проводится не только функциональное тестирование, но и оценка характеристик качества системы - ее устойчивости, надежности, безопасности и производительности.
Front
Это GUI(UI)
нужно выполнить
Проверка производительности
Изменения или обновления
приложения, которые могут сломать
функциональность интерфейса
Back-end (или тестирование базы данных)
проверяет серверную часть мобильного приложения. Все, что введено и / или сохранено во внешнем интерфейсе, проверяется во внутреннем. Также проверяется безопасность и производительность мобильного приложения.
Совместимость с несколькими сетями
Test cases
Установка и удаление
Функциональность
Обмен данными
Интерфейс
Обязательно протестируйте разные версии основных платформ (iOS и Android).
Принцип ящика
Black box
Обычное системное
тестирование
Grey box
Смесь Black box и While box
Тестируется API
While box
Баги заводятся на уровне
кода
Тест план
составляется QA-лидом команды тестировщиков. Но он может неоднократно редактироваться и самими тестировщиками
Тест дизайн
Главной целью тест-дизайна
является покрытие тестами всего
функционала, используя при этом
минимальное количество тестов.
Техники дизайна
Анализ граничных значений
Проверить от 1 до 10
Это: - 1, 1, 2, 5, 9, 10, 11
До, само, после, середина, и, до, само, после
разделение на классы
эквивалентности
делит вводимые данные
на классы эквивалентных друг другу значений,
на базе которых создаются тест-кейсы
один тест находит ошибку, то и другой,
скорее всего, найдет ошибку и наоборот
Пример
От 1 до 1000
2 класс Недопустимые значения
От - ∞ до 0.
От 1001 до + ∞.
Специальные символы (# @ + — / _ : ; “ ‘ и т.д.).
Буквы.
Итого минимум 5 тестов:
46, -37, 1773, Имя, $_=#.
Gherkin
GIVEN - дано
WHEN - когда я сделал что то
AND - и сделал дополнительно что то, дополнительный шаг (ввел имя AND пароль в след шаге)
THEN - увидел что то
Отличие E2E, Системного, функционального и
тестирования
Е2Е
тест E2E всегда является системным
тестом, но системный тест не обязательно
является тестом E2E.
Пример
Добавить товар в корзину
Оформить заказ
Оплатить
Завершить
Системный
На этом этапе проводится не только функциональное тестирование, но и оценка характеристик качества системы - ее устойчивости, надежности, безопасности и производительности.
Сценарии
Тестовый сценаирий
На пример нужно:
проверка функциональности входа
Сценарий тестирования
Описание по пунктам всевозможных
сценариев проверки тестового сценария
Типы
Agile Testing: практика тестирования программного обеспечения, которая следует принципам гибкого манифеста, делая упор на тестирование с точки зрения клиентов, которые будут использовать систему
Тестирование API
Тестирование API
Тестирование граничных значений
Тестирование совместимости
Accessability
Для людей с ограниченными возможностями
Load testing
Проверка приложения в пиковых условиях
Занимается отдельный тестировщик
Секъюрити тестинг
Так же отдельный тестировщик
UI / UX
Cross...
Пирамида тестирования
Обязанности по
тестированию
SDET (Software Development Engineer in Test) инженер по разработке ПО в тестировании — это ИТ-специалист, который может одинаково эффективно работать в сфере разработки и тестирования, и он / она принимает участие в полном процессе разработки ПО. В отличие от Quality Analyst (QA), которым желательны базовые знания в программировании, но нет необходимости писать код, SDET это делает на постоянной основе, совмещая в себе и тестировщика и разработчика.
Состоит из:
Dev
QA
Автоматизаторы qa
SDET
QA ручные тесты
UI и е2е qa и команда по автоматизации
API - иногда dev, Автоматизаторы и SDET
Unit - разрабы
SDLC
Сбор требований и анализ
обсуждаются способы
выполнения каждого требования
конкретное представление о продукте
установление понимания того, зачем нужно каждое требование
как будут протестированы требования
На этом этапе, на основе требований, тестировщики могут начинать писать тест кейсы, подбирать инструменты тестирования, определять для себя риски, время, и если какой то функционал меняется или добавляется, думать примерно какие тест кейсы войдут в частичное регрессию
Документация
SRS(Software requirement specification, ориентир для разработчиков продукта) - спецификация требований ПО, он содержит все требования к продукту, он действует в течении всего SDLC
Проектирование, исследование,
дизайн и исследование
технические детали проекта
риски
затраты времени
используемые технологии
и инструменты
бюджет
определит лучший подход
к проектированию продукта.
архитектура системы
спецификации
функции
требования
дизайн (ПО UI, архитектура
ПО (план по написанию кода), make upЫ)
Подключается Solution архитектор
Документация
все предложенные подходы
документируются спецификацией
DDS(Design Document Specification) -
это уже сама спецификация проекта, DDS рассматривается всеми заинтересованными сторонами и на основании различных параметров, таких как оценка риска, надежность продукта, модульность системы, бюджет и временные ограничения для продукта подбирается наилучший подход к проектированию, данный подход четко определяет все архитектурные модули продукта а также его связь с внешними и сторонними модулями
Разработка (SPRINT)
Front-end разработчики начнут реализацию необходимых интерфейсов, а также GUI для подключения к back-end серверу
Администраторы базы данных создают необходимые в соответствии с требованиями данные
Разработчики работают над созданием модульных(Unit) тестов для каждого компонента(классов и методов)
Каждый класс нельзя покрыть юнит тестами, по этому по методологии TDD - сначала нужно писать тесты и под них рабочий код
Тестирование
Валидация
Тот ли продукт мы разрабатываем
Верификация
Правильно ли делаем продукт
Получаем Build
Развёртывание
Подготовка к развёртывание релиза
Приемочные (UAT - User Acceptance Testing) и пользовательские тесты
Тестируют те, кого предусмотрит компания
Как правило конечный пользователь
Прохождение критериев релиза
Стиль кода
Отсутствие приоритетных багов
Покрытие тестами на 90%
Документация на не закрытые баги и перенос в следующий спринт
Тесты девов и qa
Регрессиия
Go / No-Go miting
Встреча перед релизом
Всё ли критерии выполнены
Пост продакшн релиз верефекейшн
Как только развернули сборку релиза доступную
клиенту, переходим к проверке релиза
Т.е, то что тестировали неделю или две, будем проверять за день, но, не углубляясь в функциональное тестирование, но на предмет основного функционала
Верефицируем внедрение сторисов в продакшне
баги, тесты
Мини отчёт в Slack
Если нашли критичны баг
Банально сообщаем в Slack и репортим в Jira
Вил такого фикса - в hot fix
Если же фиксить долго, то откатываем
релиз и переносим его
Поддержка и обновления
CI /CD
CI
Написание кода
Unit
Build
Деплой в репозиторий
return;
CD
Тестирование
Подготовка к деплою
Деплой в продакшн
return;
Круговорот между непрерывным
процессом разработки
И
QA командой
Sprint
Grooming
Рассматривают все эти задачи, возможно ли это все физически сделать и все ли требования готовы и далее дает оценку каждой задачи сколько времени на нее уйдет
Ставятся поинты
Еженедельные встречи, что бы запланировать бег лог
Planing
Команда выбирает над какими задачами будет работать что бы уложится в срок и продукт работал по принципу MVP, после этого этап СПРИНТА официально открыт
Одна из трех встреч
собрание plaing pocker
разбивают сториз на приоритезированные задачи
Stand Ups
Каждый день команда делится своими результатами
Deno плказ
Демонстрация того, что команда сделала
Retrospective
Тут мы обсуждаем что прошло плохо, а что хорошо и что можно улучшить, это есть система Scrum
Длительность 1 - 4 недели
Может появится хот фикс в спринте, если
используем в нашем по - и ПО другой компании,
и из за них у нас появится баг к примеру
Scrum роли
Клиент
Владелец продукта
Промежуточные звено между клиентом
и компанией
Бизнес аналитик
Общается с владельцем продукта
Понимает все процессы
Связывает клиента и владельца продукта
С командой разработки
Переводит задачи в бек лог, но не
управляет бек логом спринта
Команда разработки
Scrum master
Scrum team
ВП
Скрам мастер
5 dev
2 QA
Среды
Staging
Проверка перед боем, среда максимально
приближенная к реальности, сюда идут
менеджеры, тестировщики, заказчик, бизнес пользователи и обычные пользователи (на усмотрение компании)
Продакшн
Среда где находятся сами пользователи
Dev
UAT - User Acceptance Testing
настроена на «принятие пользователем» новых функций. (то есть бизнес пользователями, заказчиками, и обычными пользователями, так сказать на усмотрение компании), Бета версия продукта
тестирование обычно выполняется лицами в группе пользователей или лицами, специально определенными для выполнения этой задачи
Разногласия в UAT и Staging
UAT входит в среду Staging, но в тоже время UAT тестирование это когда после Staging, так же ведется проверка конечными пользователями
Смотря как в компании называются окружения. У кого-то UAT выделяется в отдельную среду, у кого-то входит в Staging. В любом случае это все проходит перед Production.
JIRA
type = Bug AND project = BQA22RUS AND text ~ humans
reporter =
"pavel.yaylenko@mail.ru
" AND type = Bug AND text ~ MarketWatch
Confluence
Инфа о проекте
О сотрудниках
PTO календарь
Как установить инструменты
Словарь терминов
Разница Scrum и Kanban
Основная разница между Scrum и Канбан — в длине итераций. В Scrum итерации — 2 недели, в Kanban задачи программисту можно «подсовывать» хоть каждый день. В Kanban не принято делать оценку.Итак, в Scrum наша цель — закончить спринт, в Kanban — задачу. Scrum — это автобус, который останавливается лишь на определенных остановках, где люди выходят группами. А Kanban — это маршрутка: захотел пассажир выйти, попросил водителя и вышел там, где ему нужно.
Основные различия между
Waterfall и Agile
В agile задачи должны выполняться параллельно, так как новые функции появляются каждую неделю, поэтому времени и ресурсов для поэтапного выполнения задач не хватает. Это обеспечивает системе гибкость, меньшее количество багов и большую вероятность к удовлетворению клиента. В то же время, модель waterfall не обладает гибкостью: она не допускает никаких доработок после реализации модуля, в случае изменений придется построить весь проект с нуля и тестирование может быть выполнено только в конце разработки.