Лабораторная работа. Тестирование программных продуктов
Цель работы
Краткие теоретические сведения
Методы ручного тестирования
Автоматизированное тестирование
Автоматизированное тестирование
Шаблон тест-кейса
Шаблон тест-кейса
Шаблон тест-кейса
Практическое задание
Благодарю за внимание
777.17K
Категория: ПрограммированиеПрограммирование

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 для
каждого модуля), оформить их по шаблону.
Для выполнения задания подготовьте варианты тест-кейсов для каждого
модуля, произведите запуск программы, выполните работу программы и
сравните физические результаты с планируемыми в тест-кейсах.
Идеи/примеры для тест-кейсов:
• Проверка пароля по разным критериям;
• Вывод разных типов списков чисел и введение положительных,
отрицательных, дробных чисел;
• Выполнение математических операций с целыми, дробными числами;
• Ввод конкретной температуры, отрицательного значения температуры;
• Неверный выбор действий в программах;

11. Благодарю за внимание

English     Русский Правила