Трассировочная таблица - это набор векторов, характеризующих состояние в каждой конкретной точке программы.
Алгоритм нахождения факториала
Блок-схема :
Трассировочная таблица для N=3 :
Выполните трассировку алгоритма и заполните таблицу для переменных j и total .
i
j
0
total
2
4
6
8
i
0
J
2
total
1
4
3
1
4
5
6
9
7
8
16
9
25
Раздел 10.4B - Разработка проекта
Тестирование
Цели обучения
10.4.1.2 представлять модули алгоритма для решения задачи в виде блок-схем, программного кода и псевдокода
10.4.1.3 осуществлять трассировку алгоритма с промежуточными величинами
Цель урока:
осуществлять трассировку алгоритма с промежуточными величинами,
объяснить процесс тестирования
Критерии оценивания
представлять модули алгоритма для решения задачи в виде блок-схем, программного кода и псевдокода,
осуществлять трассировку алгоритма с промежуточными величинами,
объяснить процесс тестирования
составлять план тестирования
определять ошибочные , экстремальные и граничные данные
Тестирование
- Тестирование - это процесс выполнения программы с целью определения места некорректного ее функционирования. Оно включает преднамеренное конструирование трудных наборов входных данных, создающих наибольшие возможности для отказа программного изделия. Тестирование является основным методом обнаружения ошибок в программе. Результаты тестирования являются исходными данными для отладки.
Отладка программы
- Отладка программы - это этап ее разработки, на котором устраняются недостатки только что созданной программы.
Какие ошибки могут возникнуть при выполнении программы?
Какая разница между синтаксической ошибкой и ошибками при выполнении программы?
Тестирование методом белого ящика. Это подробное исследование внутренней логики и структуры программы. При этом необходимо знание исходного кода.
Динамические техники следующие:
Тестирование методом черного ящика. Данная техника не требует каких-либо знаний о внутренней работе приложения. Рассматриваются только основные аспекты системы, не связанные или мало связанные с ее внутренней логической структурой.
Метод серого ящика. Сочетает в себе предыдущие два подхода. Отладка с ограниченным знанием о внутреннем функционировании приложения сочетается со знанием основных аспектов системы.
- чтобы проверить все варианты внешнего эффекта программы и варианты ее внутренней работы алгоритма;
Комплект тестов должен быть таким:
- чтобы все ветви алгоритма были пройдены, по крайней мере, по одному разу.
- чтобы проконтролировать предельные и вырожденные случаи.
Процесс тестирования программы можно разделить на три этапа:
1. Проверка в нормальных условиях.
2. Проверка в экстремальных условиях.
3. Проверка в исключительных ситуациях.
Существует три типа тестовых данных:
Нормальные данные (Действительный, Типичный) - включают некоторые типичные примеры системных данных (все должно работать правильно);
Ошибочные данные - включают значения, которые находятся за пределами допустимых диапазонов;
Экстремальные значения - включают верхнюю и нижнюю часть диапазонов чисел, а также слишком длинное текстовое поле;
Граничные значения - включают значения на границе, значения чуть ниже границы и значения чуть выше границы. Важно указать, какие данные будут проверяться.
Система проверяет, числовые значения между 1 и 10, определите нормальные данные, ошибочные, экстремальные и граничные .
5 1 10 13
11
normal data:
extreme data
extreme data
erroneous data
boundary values
Тест план ( Test Plan ) - это документ, описывающий весь объем работ по тестированию, начиная с описания объекта, стратегии, расписания, критериев начала и окончания тестирования, до необходимого в процессе работы оборудования, специальных знаний, а также оценки рисков с вариантами их разрешения.
Тест план
Что надо тестировать?
описание объекта тестирования: системы, приложения, оборудования
список функций и описание тестируемой системы и её компонент в отдельности
Что будете тестировать?
Как будете тестировать?
стратегия тестирования, а именно: виды тестирования и их применение по отношению к объекту тестирования
Когда будете тестировать?
последовательность проведения работ: подготовка (Test Preparation), тестирование (Testing), анализ результатов (Test Result Analisys) в разрезе запланированных фаз разработки
Пример: План тестирования
№ теста
Цель теста
1
Метод теста
Проверить процедуру загрузки
2
Проверить процедуру сохранения
Данные использованные для теста
Нажать на кнопку “Load” и загрузить файл под названием “Первое”
3
Ожидаемый результат
N/A
Изменить некоторые данные в таблице и сохранить как новый файл
4
Проверить корректность перехода между Главной формой и формой Ввода данных
19/21/30
Реальный результат
Главное меню должен показать конкретные данные, которые сохранены в файле «Первое»
Нажать на кнопку “Перейти к вводу данных”
Проверить ввод данных в форме
Новый файл должен быть сохранен в папке
Доказательство на стр.
Успешно
N/A
Ввести невалидные (не подходящие) данные
44
Успешно
jh
Должны открыться форма Ввода данных, и Главная форма должна закрыться
44-45
Успешно
Должно высветиться новое окно, которое сообщит об ошибке ввода
45
Успешно
46
Результатом тестирования является устранение всех недостатков системы и заключение о ее качестве.
№ п/п
Испытание
1
Вводимое значение
2.
Ввод процентов
Ожидаемый результат
Ввод процентов
56
3.
Число принято
Ввод процентов
Фактический результат
120
Число не принято
0
Число принято
Число не принято
Число не принято
Число принято
Результат и доказательство тестов
- Каждый тест должен быть объяснен и должны быть включены доказательства успешности или не успешности в форме скриншотов
Пример: Тест# 1:
- Это важно для программы, чтобы иметь возможность загружать файл, содержащий конкретные значения калорий, жиров, белков, для каждого продукта. Так что я пытался загрузить файл. Вот результат:
Test #2
- Затем, я изменил некоторые значения и попытался сохранить его как новый файл. Следующий набор значений был введен вместо первых трех чисел - 19/21/30:
Домашняя работа
- Составить тест план
- Составить трассировочную таблицу
- Указать и описать нормальные данные
- Указать и описать ошибочные данные
- Указать и описать экстремальные данные
- Указать и описать граничные данные
Я могу назвать этапы разработки проекта;
Я могу представлять модули алгоритма для решения задачи в виде блок-схем
Рефлексия урока
Я могу осуществлять трассировку алгоритма с промежуточными величинами
Я умею оптимизировать программный код
Я могу объяснить процесс тестирования
Я могу составлять план тестирования
Я могу определять ошибочные , экстремальные и граничные данные
К сожалению, … не пошел как ожидалось.
Это потому, что …
В следующий раз я планирую …
Я хотел сделать … , потому что я думаю ... .