Цель функциональной карты – дать общее представление о структуре и логике работы программы, выделить её основные возможности. Она используется на этапе планирования и проектирования тестов. В функциональной карте отображают основные модули или разделы программы, вспомогательные функции, обеспечивающие работу основных модулей.
Как функциональные карты применяются специалистами по тестированию в работе? Создавая функциональную карту программы, специалист разбивает программу на логические функциональные блоки и описывает её ветвлениями. Рассмотрим на простом примере, взяв за основу программу «Блокнот», которая имеется в операционной системе Windows:
У программы «Блокнот» есть «Заголовок» (1), «Строка меню» (2), «Форма ввода данных» (3). Названные блоки (элементы) в свою очередь делятся на дополнительные элементы.
Заголовок (1) имеет:
– название программы в заголовке;
– кнопка «Свернуть»;
– кнопка «Развернуть»;
– кнопка «Закрыть».
Строка меню (2) имеет:
– пункт меню «Файл»;
– пункт меню «Правка»;
– пункт меню «Формат»;
– пункт меню «Вид»;
– пункт меню «Справка».
Форма ввода данных (3) имеет:
– поле ввода текста;
– полоса прокрутки.
Всё перечисленное можно отобразить на функциональной карте:
На функциональной карте видим, как ветвится функционал программы. Обратите внимание, что для удобства восприятия различные пункты помечаем двумя видами значков, которые могут быть другими:
– синий круг – это значит ветвление будет дальше продолжаться;
– зелёный круг с галочкой – это является конечной проверкой.
Визуально видим, как ветвится функционал программы и остаётся только продолжить следование по пунктам меню или функционалу программы. Для большей наглядности продолжим разбор пункта меню «Справка»:
Пункт меню «Справка» имеет пункты:
– просмотреть справку.
– отправить отзыв.
– о программе.
Функциональная карта получит следующее продолжение:
Таким образом следуя по всей программе, специалист описывает её функциональной картой. Если он где-то оставил значок синего круга и начал описывать другие ветки, то точно не забудет вернуться, чтобы продолжить описывать функциональную ветку программы, пока не доберётся до конечных пунктов проверки.
После того как тестировщик полностью создаст функциональную карту, он будет видеть все проверки, которые необходимо провести в программе.
Тест-кейс
Предполагаю, что, прочитав это официальное описание, вы загрустили, ничего не поняв. Попробую сформулировать определение, используя понятные для всех формулировки.
Второе определение понятнее, однако всё равно необходимо напрячься, чтобы понять написанное, поэтому следующее определение будет ещё проще и дано на языке простого обывателя.
Почему здесь приведено так много определений? Для того, чтобы вы чётко осознали, что такое тест-кейс, так как в своей работе специалист по тестированию очень много времени уделяет работе с тест-кейсами: написание, правка, проверка программ по тест-кейсам и т. д.