--------------------------------------
***1 лекция***
1) Концепция
2) Описание требований
3) Дизайн
4) Реализация
5) Тестирование
6) Инсталяция и наладка
7) Эксплуатация и поддержка
8) Вывод из эксплуатациии
1. Функциональность
2. Надежность
3. Удобство использования
4. Эффективность
5. Удобство сопровождения
6. Портативность
1. Денежные потери
2. Снижение репутации
3. Потеря потенциальных клиентов
4. Рост косвенных затрат на создание продукта
Идеальный тестировщик:
- Soft Skills:
Внимательность
Усидчивость
Коммуникабельность
Умение аргументировано отстаивать свою точку зрения
Активность
Умение примерять роль различных пользователей
Планирование
Ответственность за свои решения и дейтствия
Структурированная, граммотная речь
- Hard skills:
Работа с различными ОС
Знаине англ
Понимание клиент-серверного взаимодейтствия
умение гуглить
Charles (или любой другой сниффер): просмотр запросов, rewrute запросов
Postman
Представление о тест-кейсах, чек-листах
Jira/Redmine/Trello/TFS - баг трекеры
-------------------
ДЗ:
Эссе "Почему я хочу пойти в тестирование, как я вижу свое развитие" в пдф.
От чего зависит цена дефекта? Чем ближе к выходу программы - тем дороже ошибка,
влияет на репутацию продукта, компании,
2) Надежность
3) Удобство использования
4) Эффективность
5) Удобство сопровождения
6) Портативность
---------------------
***2 лекция***
**Теория тестирования**
1. модульное (компонентное)
2. интеграционное
3. системное - это когда тестируем продукт со стороны пользователя( когда
реализованы все составные части приложения и тестируем систему в целом)
4. (Регресионное)?доп
5. приемочное доп
**Уровни тестирования**
- снизу вверх (один плюс один, потом к этим модулям еще плюс один и т.д.)
- сверху вниз (уменьшаем)
- большой взырв (все модули соединяем и тестируем)
Выполняется методом черного ящика, т.к. то что проверяется, это внешние сущности,
которые не требуют взаимодейтсивя с внутренними устройством программы (интерфейс,
общение клиента и сервера проверяем, а ккак это работает в коде - не проверяем).
Лучше проводит в том окружении, которое будет приближенно к окружению конечного
пользователя.
Подходы:
**Классификация**
- Не функциональное
- Изменений
Проводится на основе:
базовые функции:
Установка
Авторизация на корректные данные и разлогиниться
кликабельность кнопок
добавление в корзину
интерфейс приятный
рабочая корзина
пуш уведомления
отказ от заказа
определение региона
Удаление
- Почтовое приложение
на существующую почту
Пароль мин
разлогин
шрифты
кликабельность кнопок
сохранение черновиков
ответ на письма
пересылка
Отмена отправки письма, после какое-то время после отправки
поле ввода отправителя (что можно ввести несколько6 что они валидный)
прочитанность
Удаление
- Мессенджер
запуск приложение
удаление аккаунта
получение сообщений
Редактирование сообщений
пересылка сообщений
вставка текста
создание беседы
настройки профиля (фио, фото, доп инфа, тема приложения, ящык приложение)
статус собеседника
в каком формате работает (портретный или альбомный режим, развернул или сжал
окно)
- Приложение госуслуг
запуск приложения
редактирование профиля
Верификация данных
поиск
доступность услуг
платежная система
корректность данных
Служба поддежрки
Локализация
- Приложение «Напоминания»
запуск
Crud операции
Настройка уведомления
Повторы
приоритетность напоминаний
преднастроенное время
- Shazam
Установка и удаление
Запуск
Доступ к микрофону
и выдает ли вообще
локализация
история поиска
проигрыш музыки
поиск и сортировка
Установка и удаление
Запуск
скачивание и воспроизведение
Покупка подписки
стутус пользователя
кроссплатформенность и кроссбраузерность
поиск по критериям
Пуш уведомления
система платежей
- Инстаграм
Установка и удаление
Запуск
доуступ к фотографии
кнопка загрузки
работа фильтров
интенсивность всех фильтров
Провекра редактирования
подпись
поделиться
сохранить
лайк
комментарии
добавить в истории
сохраняли фотографии
архивация
ограничение символов
- Калькулятор
запуск
удаление символов
работа с памятью
история вычислений
дробные числа
Нефункциональное тестирование
- Почтовое приложение
проверка шифрования
защита от скриншота
- Мессенджер
- Приложение госуслуг
биометрия и двухфакторная
Юзерфрендли
- Приложение«Напоминания»
- Shazam
- Spotify
много пользователей
- Инстаграм
при вводе пароля, чтобы прикрывался (то что это вообще есть), автозаполнение,
sql-инъекции
- Калькулятор
поддержка ОС
**Тестирование локализации**
**Тестирование установки**
**Тестирование конфигурации**
- клиентская
- кросплатформенная
- Кросбраузерная
- Драйвера
- Серверная
- взаимодействие с сетевыми адаптерами
в пдф
Связанное с изменениями
Виды:
признки позитивности:
- позитивное - проверяем нормальные сценарии системы. Проверяем то, что система
делает то, для чего была создана (окно отправки сообщения - туда можно вставлять
текст, проверяем, что вствляется текст, а потом другое), Пример - калькулятор -
умножение чисел. Окно логина - ненулевой пол, из допустимых символов (от 3 до 10
букв и только из букв). Проверю,
- бутфорсить логин или пароль (много раз вводить пароль, чтобы проверить, пустит
или нет)
- ввести неверно 3 раза пароль -не выводит капчу (если это было предусмотрено)
**Знание о системе**
- белый ящик (стеклянный, открытый) - знание всей системы: из чего, как устроено,
какие алгоритмы, код знаем, особенности реализации в зависимости от системы,
тестируется не внешний интерфейс, а функционал (занимаются разработчики). Знаем,
при каких данный сработает неверно алгоритм, знаем, какие данные нужно вводить, Эти
кейсы можно автоматизировать (отправку сообщений можно автоматизировать)
- черный ящик - основана исключительно на внешнем интерфейсе (нажали и произошел
ожидаемый результат). Смотрим с точки зрения пользователя. Тест кейсы составлены
еще до тестирования. Это дымовое, регрессионное, тестировани еудобство
использования
- серый ящик - внутреннее устройство известно частично - знаем конкретный алгоритм,
как реализовывается. Мы как бы пользовтаель - идем по интерфейсу, но знаем, какие
данные нужны алгоритму и тестируем их
Подход:
Степень автоматизации:
Тестирование документации:
**Тестовые артефакты**
- Тест-план
- Описывает весь объем работ по тестированию, начиная с описания объекта,
стратегии, расписания, критериев начала и окончания тестирования, до необходимого в
процессе работы оборудования, специальных знаний, а также оценки рисков с
вариантами их разрешения
- Тест-кейс
- Последовательность действий, по которой можно проверить соответствует ли
тестируемая функция установленным требованиям
- Чек-лист
- Набор тест-кейсов
- Баг-репорт
---------------------
**Лекция 3**
- Взаимный просмотр.
- Вопросы.
- Уточняющие вопросы.
- Продумывание тест-кейсов (чек-листов).
- Исследование системы.
- Визуализация
- Прототипирование.
1. Spotify
2. TikTok
Бизнес: видео платформ для оротких видео, интеграция рекламы между роликами
Бизнес: простое и удобное приложение для зазаказы пиццы с меню и оплатой любым
способом
4. Инстаграм
5. ВК
Пользовательское:удобная навигация,
6. Авито
7. Покупка авиабилетов
8. Юла
9. Telegram
**Тестовые артефакты**
Это точно баг? если функционал не прописан в требованиях, но работает, то это ФИЧА
и ее документируют
- требования
- пользовательский опыт
- Заголовок -
- Принцип “Где? Что? Когда?”
- Где? —В каком элементе ПО возникает дефект
- Что? —Что происходит/непроисходит согласно документации/представлению о
нормальной работе продукта
- Когда? —При каких действиях возникает дефект
- Приоритет
- Шаги воспроизведения
- Фактический результат
- Ожидаемый результат
- Окружение
**Тест-кейсы**
Состоит из:
- ID кейса Пример, 1
- Заголовок Пример, тест-кейс для отправки файла в чат
- Шаги Пример, нажать плюс у поля ввода в чате, выбрать файл из фалйовой системы,
нажать отправить
- Ожидаемый результат Пример, файл отправлен
Улучшения
Пример
- ID кейса Пример, 1
- Заголовок Пример, тест-кейс для отправки файла в чат
- Шаги Пример,
1. выбрать файл из файловой системы для отправки - файл выбран
2. Отправить файл - файл отправлени виден в чате у отправителя и получателя
- Ожидаемый результат Пример, файл отправлени виден в чате у отправителя и
получателя
**Чек-лист**
Чек-лист может быть абсолютно разного уровня детализации. Насколько детальным будет
чек-лист, зависит от требований к отчётности, уровня знания продукта сотрудниками и
сложности продукта.
Из чего-состоит:
- Id тест-кейса (действия)
- название тест-кейса (действия)
- Результат
Плюсы:
Минусы:
**Тест-план**
Плюсы:
Шаблон:
**Тестовое покрытие**
где:Tcov-тестовое покрытие
---------------------
**Лекция 4**
**Приоритет и серьезность**
Серьезность, классификация:
Как оценить серьезность бага: как работает программа с этим багом, как влияет на
функционал
- Оценка:
- базовый функционал
- основной
- Дополнительный
Приоритет - это качественный показатель продукта в целом или его компонентов. Можем
отсортировать баги по приоритетам, оценить соклько плохих багов, наскольо баги
распределены по функциональным областям (чаты или стикеры), аналитику собирать,
какие баги заведены, починены (качество продукта). Баги с наивысшем приоритетом
чинятся быстрее.
Приоритет, классификация:
**Adventure time**
- Что?
- Мессенджер
- регистрация
- Отправка/получение сообщений
- Отправка/получение файлов
- Авторизация
- установка мессенджера
- создание профиля
- Уведомления
- доступ к контактам и отображение имени
- удаление мессенджера
- редактирование профиля
- звонки
- Аватарки профиля
- Пересылка, редактирование и удаление сообщений
- голосовые сообщения
- групповые чаты
- Блокировка пользователя
- Пины сообщений
- поиск по чатам
- местоположение
- Стикеры
- Видеозвонки
- Смена языка
- никнейм
- статус пользователя (ластсин)
- прочитанное сообщение или нет
Дополнительный:
Не отправляется сообщение:
- приоритет - желательный
- Серьезность - средняя, низкая
- приоритет - блокирующий
- Серьезность - высокая
- Приоритет - стандартный
- серьезность - средняя
- приоритет - желательный
- Серьезность - низкий
**Баг-трекеры**
Недостатки:
Другие:
- гитхаб
- система управления проектами
- trello
- jira
- redmine
- mantis
- VS
- bugzilla
Полезное:
- JQL —язык Jira для поисковых запросов. Удобно использовать для поиска задач,
более гибкая настройка
Фильтры:
Борды:
---------------------
**Лекция 5**
Чем удобен баг-трекер по сравнению с постановкой задачи письмом? Все всем наглядно,
быстрый доступ к задачам, видно статус задачи, конфиденциальность, приоритетность,
поиск есть
**Тест-дизайн**
Техники тест-дизайна:
- Классы эквивалентности: -набор данных, которые программа обрабатывает одинаковым
образом, и получается один и тот же итог. Позитивный и негативный сценарий. Класс
эквивалентности делим на подклассы, на атомарные
- 0—15(интервал) —красный
- 16 —27 —синий
- 28 —59 —зеленый
- 60 —100 —желтый
Позитивный: от 0 до 100
Класс "синий" - 20
Класс "зеленый" - 35
Класс "желтый" - 70
- Граничные значения
- 0—15(интервал) —красный
- 16 —27 —синий
- 28 —59 —зеленый
- 60 —100 —желтый
Класс "красный": 1
Класс "синий":17
Класс "зеленый": 29
Класс "желтый": 61
строим таблицу:
| | Тест1 | Тест2 |
Тест3 | Тест4 |
| ------------------------------------------------------------ | ----- | ----- |
----- | ----- |
| Условия (то, какая комбинация произошла, почему авторизация прошла или нет) |
| | | |
| Красный (номер состоит только из цифр) | Да | Да |
Нет | Нет |
| Зеленый (всего 11 чисел) | Да | Нет |
да | Нет |
| Действие(что сделать нужно) | | |
| |
| Итог (авторизовалась или нет, например) | 1 | 2 |
3 | 4 |
- Состояний и переходов
- Попарное тестирование
Смысл: сделать как можно меьнше проверок, но чтобы они были достаточны для
качественного проекта. По правилу Паретта 80:20 (80%качества достичь при 20
комбинациях данных) 98%деффектов возникали при конфликте пар или одного входного
параметра
- email (поле 1)
- gender (поле 2)
- Чек-бокс (поле 3)
- Сценарии использования
Матрица соответствия требований - тот документ, который предствляем в виде
таблицы. Она помогает видеть требования, проверки, соотносить их,
стурктиурированный вид требований к продукты, насколько покрыли требования
проверками, поддержка всего в актуальном состоянии.
1. Декомпозиция требований
2. Разработка тест-кейсов и чек-листов
3. Заполнение матрицы
4. Поддержка матрицы
Доступные устройства: HuaweiAndroid 11, Google Pixel 2 Android 10, Samsung Android
11, Google Pixel 3 Android 10, Xiaomi Mi 8 Lite Android 8, Windows 10, Windows 7,
macOS 11.0, macOS 10.13, Ubuntu 18.04, Ubuntu 20.04
1. В чате есть две кнопки для записи голосового сообщения. Было ограничение на
запись голосового сообщения 5 минут. Ограничение убрали
Эквивалентное разбиение:
Зеленое - 0 - 5
Красноте 3 минуты
К1 нажимается - 1
к1 не нажимается - 2
К2 нажимается - 3
К2 не нажимается - 4
Попарное тестирование:
состояний и переходов:
классы эквивалентности:
2test3 = ok
_test = no
граничные значение:
принятие решений:
начинается с символа(позитивный)
начинается с цифры
Содержит .
содержит -
1. В трёх сообщениях можно отправить максимум 10к символов. При этом слово не может
разбиваться посередине
классы эквивалентонсти
диапазон от 1 до 10к + (отправка трех сообщений с общим количеством символов 10
к)
граничные значения:
сценарии исползвоания
6. Добавили две формы поиска: по чату и по всем чатам одновременно. Поиск принимает
латинские буквы, цифры, символы (точка, дефис). В поиск можно вбивать символы
одновременно (и искать одновременно)