Похожие презентации:
6. Лабораторная работа. Тестирование программных продуктов
1. Лабораторная работа. Тестирование программных продуктов
2. Цель работы
Целью лабораторной работы является:• Изучение основных стратегий и методов тестирования программных
продуктов;
• Приобретение практических навыков выбора стратегии тестирования
для различных задач;
• Освоение методов разработки тестовых наборов данных;
• Проведение сравнительного анализа эффективности различных
подходов к тестированию;
• Формирование умений документирования и анализа результатов
тестирования.
3. Краткие теоретические сведения
Тестирование программного обеспечения (ПО) — это процесс проверкисоответствия программы заявленным требованиям, выявления и устранения
ошибок. Тестирование занимает от 30 до 60% времени разработки, а его
стоимость возрастает с усложнением программ и повышением требований к
качеству.
Основные принципы тестирования:
1. Известность результата: до начала теста должен быть определён
ожидаемый результат.
2. Независимость тестирования: программу не должен тестировать её автор.
3. Анализ результатов: каждый тест должен быть тщательно
проанализирован.
4. Тестирование на некорректных данных: важно проверять реакцию
программы на ошибочные или неожиданные входные данные.
5. Проверка побочных эффектов: необходимо выявлять непредусмотренные
изменения в системе.
6. Эффективность теста: удачным считается тест, обнаруживший новую
ошибку.
7. Закон ошибок: вероятность наличия ошибки выше в тех частях
программы, где уже найдено много ошибок.
4. Методы ручного тестирования
Ручное тестирование применяется на ранних этапах, когда автоматизацияневозможна или нецелесообразна.
1) Инспекции исходного текста:
• Проводятся группой специалистов (автор, проектировщик,
тестировщик, координатор).
• Анализируется листинг программы и спецификация.
• Программист объясняет логику, инспекторы задают вопросы и
выявляют ошибки по заранее составленному списку.
2) Сквозные просмотры:
• Группа (3–5 человек) мысленно прогоняет тесты, отслеживая значения
переменных на бумаге или доске.
• Отличается от инспекции более свободной процедурой обсуждения.
3) Индивидуальная проверка:
• Один специалист (не автор) читает код, проверяет его по
контрольному списку и вручную прогоняет тестовые данные.
5. Автоматизированное тестирование
1. Тестирование по принципу «белого ящика» (White Box)Основано на знании внутренней структуры и логики программы.
Методы:
• Покрытие операторов: каждый оператор программы выполняется хотя
бы один раз.
• Покрытие решений (переходов): каждое ветвление (if, case) проверяется
на истинность и ложность.
• Покрытие условий: проверяются все возможные результаты каждого
логического условия.
• Комбинаторное покрытие условий: проверяются все возможные
комбинации условий в сложных ветвлениях.
6. Автоматизированное тестирование
2. Тестирование по принципу «чёрного ящика» (Black Box)Программа рассматривается как «чёрный ящик», тестирование ведётся
только по спецификации и внешним интерфейсам.
Методы:
• Эквивалентное разбиение: входные данные делятся на классы
эквивалентности. Тесты строятся так, чтобы покрыть каждый класс
(правильные и неправильные данные).
• Анализ граничных значений: особое внимание уделяется значениям на
границах допустимых диапазонов (минимум, максимум, значения чуть
выше/ниже границы).
• Анализ причинно-следственных связей: строится таблица истинности
для сложных условий.
• Предположение об ошибке: тесты разрабатываются с учётом типичных
ошибок программистов (деление на ноль, переполнение буфера).
7. Шаблон тест-кейса
Ниже представлен шаблон формирования тест-кейса:8. Шаблон тест-кейса
Ниже представлен пример тест-кейса:9. Шаблон тест-кейса
Рекомендации по заполнению:• Описывайте шаги максимально чётко и кратко (обычно 3–8 шагов).
• В предусловиях указывайте всё, что должно быть выполнено до начала
теста.
• В тестовых данных приводите конкретные значения, если они важны
для проверки.
• Ожидаемый результат должен быть однозначным и проверяемым.
• В фактическом результате фиксируйте реальное поведение системы,
даже если оно отличается от ожидаемого.
• Статус «Blocked» используется, если тест невозможно выполнить из-за
внешних причин (например, не работает тестовый стенд).
10. Практическое задание
Вам предоставлены модули:• calculator.py
• pass_check.py
• max_in_list.py
• Convert_temp.py
Необходимо провести тестирование и записать тест-кейсы (3-5 для
каждого модуля), оформить их по шаблону.
Для выполнения задания подготовьте варианты тест-кейсов для каждого
модуля, произведите запуск программы, выполните работу программы и
сравните физические результаты с планируемыми в тест-кейсах.
Идеи/примеры для тест-кейсов:
• Проверка пароля по разным критериям;
• Вывод разных типов списков чисел и введение положительных,
отрицательных, дробных чисел;
• Выполнение математических операций с целыми, дробными числами;
• Ввод конкретной температуры, отрицательного значения температуры;
• Неверный выбор действий в программах;
Программирование