Похожие презентации:
П11. Тестирование
1.
C какими багами и ошибками вы сталкивались виграх, приложениях или на сайтах?
2.
Mars Climate OrbiterОшибка Mars Climate Orbiter
заключалась в том, что одна из команд
разработчиков использовала
британскую систему единиц (фунтсила), а другая — метрическую
(ньютоны). Из-за несоответствия в
расчетах тяги двигателя, аппарат
отклонился от запланированного курса
и сгорел в атмосфере Марса на высоте
около 57 км вместо ожидаемых 110 км.
3.
Ущерб: Стоимость миссии составляет около 125миллионов долларов.
4.
Ariane 5Главная ошибка ракеты «Ariane 5»
произошла 4 июня 1996 года.
Причиной стала попытка
конвертировать 64-разрядное
число с плавающей запятой в 16разрядное без обработки
исключений. В результате ракета
самоуничтожилась спустя 40
секунд после старта, уничтожив
четыре спутника.
5.
Ущерб: Стоимость потерь оценивалась от $360до $500 миллионов.
6.
Какие выводы можно сделать?7.
Тестирование8.
Тестирование — это процесс проверки соответствияПО заявленным требованиям. Это сравнение
«Ожидаемого результата» и «Фактического
результата».
9.
Схожие понятияQA (Обеспечение качества) - Это процесс. Набор мероприятий,
охватывающих все этапы разработки, направленных на предотвращение
дефектов (налаживание процессов, стандарты кода, обучение).
QC (Контроль качества) - Это проверка результатов. Анализ готового
продукта на соответствие требованиям.
Тестирование - Это инструмент. Непосредственное выполнение тестов
(руками или кодом) для обнаружения ошибок.
10.
QA: Создать инструкцию по сборке автомобиля, чтобы на конвейере неошибались.
QC: Проверить, закручены ли гайки на готовом автомобиле.
Тестирование: Проехать на автомобиле и проверить, работают ли тормоза.
11.
А почему еще важно тестирование?12.
ЦельГлавная цель тестирования: Предоставить информацию о качестве продукта
и снизить риски появления дефектов у конечного пользователя.
13.
Классификация. По знанию системыЧерный ящик - Мы не видим код. Мы действуем как пользователь: подаем
что-то на вход и проверяем выход. (Пример: проверить форму логина на
сайте).
Белый ящик - Мы видим код и структуру. Мы проверяем логику, условия,
циклы. (Пример: Unit-тесты, Code Review).
Серый ящик - Комбинация.
14.
Классификация. По объекту тестированияФункциональное - "Что система делает?" (Может ли пользователь положить
товар в корзину?).
Нефункциональное: - "Как система работает?"
● Нагрузочное: Выдержит ли сайт 10 000 пользователей одновременно?
● UI/UX: Удобно ли пользователю? Не "поехала" ли верстка?
● Безопасность: Можно ли взломать систему?
15.
Классификация. По степени автоматизацииРучное: Тестировщик проходит сценарии руками.
Автоматизированное: Специальные скрипты проверяют другой код.
16.
Unit-тесты (Модульные):Основа пирамиды. Пишут
разработчики. Проверяют
маленькие куски кода
(функции). Их должно быть
много.
17.
Проверка взаимодействиямежду модулями (например,
API и База Данных).
18.
Системное: Проверка всейсистемы целиком.
19.
Приемочное: Проверказаказчиком/пользователем
перед релизом.
20.
21.
Баг-репортТема: Кратко и емко. Где? Что? Когда?
Шаги воспроизведения:
Открыть сайт...
Нажать кнопку...
Фактический результат: Что случилось?
Ожидаемый результат: Как должно было быть.
Серьезность: Насколько технически сильно это ломает систему
Приоритет: Как срочно это нужно чинить
22.
23.
Из чего состоит тест?Предварительные условия: Что нужно сделать до начала
Шаги: Куда нажать, что ввести.
Ожидаемый результат: Что должно произойти. (сверить)
24.
Еще немного основных принципов тестирования25.
1. Тестирование демонстрирует наличие дефектов, а не их отсутствие.2. Исчерпывающее тестирование невозможно.
3. Раннее тестирование.
4. Скопление дефектов.
5. Тестирование зависит от контекста.
6. Заблуждение об отсутствии ошибок.
26.
Тестируем лифт27.
Представьте программу. Она принимает на вход трицелых числа (длины сторон треугольника). Программа
должна вывести, какой это треугольник:
Разносторонний, Равнобедренный или
Равносторонний.
Написать список тестовых наборов (входные данные ->
ожидаемый результат), чтобы проверить эту
программу. (с пояснением)
28.
Базовые тесты: 3, 4, 5 (разносторонний); 5, 5, 5 (равносторонний); 5, 5, 3(равнобедренный).
Не треугольник: 1, 2, 5 (сумма двух сторон должна быть больше третьей,
иначе треугольник не сложится). Это главная проверка логики!
Нули: 0, 5, 5 (сторона не может быть нулем).
Отрицательные числа: -5, 5, 5.
Нечисловые данные: Ввести букву "А" вместо цифры.
Перестановки: Если баг в коде, то 5, 5, 2 может сработать, а 2, 5, 5 — нет.
29.
В интернет-магазине работает система скидок взависимости от суммы заказа. Протестируйте функцию
и найдите условия, при которых покупатель останется
без скидки или программа упадет.
30.
Тестирование банкомата31.
Классификация оценок0-39: Неудовлетворительно
40-59: Удовлетворительно
60-79: Хорошо
80-100: Отлично
32.
Тестирование чайника (UX/Нефункциональноетестирование)
Новый умный Wi-Fi чайник. Он имеет кнопки управления, экран, приложение
для смартфона и функцию поддержания температуры.
Тесты, проверяющие его:
Производительность
Удобство
Безопасность
Среда
33.
Тестирование регистрацииПоле "Имя пользователя" при регистрации. Поле принимает от 3 до 50
символов.
34.
Программа принимает на вход целое число X ивыдает целое число Y
35.
Нейтральный элемент: X=0Отрицательное число: X=-5
Очень большое число: X=2147483647
Нечисловой ввод: X= "Привет"