Контрольно-пропускные пункты в QTP/UFT с примером

⚡ Умное резюме

Контрольно-пропускные пункты в UFT/QTP Проверяет, возвращает ли приложение именно то свойство, текст, изображение или значение из базы данных, которое ожидает тестировщик на определенном этапе, превращая записанное воспроизведение в вердикт «пройдено» или «не пройдено», которому могут доверять автоматизированные команды.

  • 🔎 Определение: Контрольная точка сравнивает полученное ожидаемое значение с текущим значением свойства объекта во время выполнения.
  • 🎯 Цель: Контрольные точки превращают записанный сценарий воспроизведения в функциональный тест с измеримым результатом «ПРОЙДЕНО» или «ПРОЙДЕНО».
  • 🧩 Типы: UFT/QTP Предлагает десять типов контрольных точек, включая «Стандартный», «Растровое изображение», «База данных», «Таблица», «XML», «Страница», «Изображение», «Текст», «Текстовая область» и «Доступность».
  • 🆚 Различение: Контрольная точка проверяет этап и может привести к его провалу, в то время как выходное значение лишь фиксирует данные для последующего повторного использования.
  • 🇧🇷 Вставка: Большинство типов контрольных точек добавляются только во время записи, через подменю «Контрольные точки».
  • ⚠️ Распространенная ошибка: Контрольная точка генерирует ошибку во время выполнения, если предыдущий шаг закрывает целевой объект.
  • 🚀 лучшая практика: Для проверки данных следует отдавать предпочтение контрольным точкам базы данных или XML-файлов, а не контрольным точкам в виде растровых изображений.

Что такое контрольно-пропускной пункт в UFT/QTP?

A контрольно-пропускной пункт in UFT/QTP Это точка проверки, которая сравнивает текущее значение указанного свойства объекта, атрибута страницы или источника данных с ожидаемым значением, полученным ранее в ходе теста. Если текущее и ожидаемое значения совпадают, UFT Записывает статус «ПРОЙДЕНО»; если нет, то записывает статус «ПРОЙДЕНО».

Контрольные точки преобразуют сценарий, который просто воспроизводит действия, в сценарий, который проверяет результаты. Записанный сценарий может успешно выполнить каждый шаг, даже если тестируемое приложение отображает неправильный текст, неправильное изображение или поврежденную запись в базе данных — именно контрольная точка обнаруживает это различие и сообщает о нем.

Зачем использовать контрольные точки в автоматизации тестирования?

Запись скрипта лишь воспроизводит последовательность щелчков мышью и нажатий клавиш; она никогда не подтверждает, что приложение выдало правильный результат. Контрольные точки устраняют этот пробел, превращая каждое записанное действие в проверяемое утверждение с измеримым результатом.

  • Преобразуйте воспроизведение в проверку, чтобы каждый запуск выдавал однозначный результат «ПРОЙДЕНО» или «ПРОЙДЕНО», а не просто подтверждение завершения скрипта.
  • Выявляйте регрессии на ранней стадии, до того, как дефект достигнет сборки, которую тестировщики считают стабильной.
  • Проверяйте данные, невидимые при ручном просмотре, такие как XML-данные, строки базы данных или скрытые свойства объектов.
  • Задокументируйте ожидаемое поведение, чтобы любой, кто читает сценарий, понимал, что означает «правильно» на данном этапе.

Поскольку контрольные точки запускаются автоматически при каждом выполнении, отпадает необходимость в ручной проверке каждого экрана тестировщиком после каждого цикла, что и делает их такими эффективными. UFT/QTP практично для многократного использования регрессионное тестирование в разных сборках.

Типы контрольно-пропускных пунктов в UFT/QTP

UFT/QTP Предоставляется несколько типов контрольных точек, позволяющих тестировщику проверять именно тот аспект приложения, который имеет значение на данном этапе — статическое свойство, блок текста, растровое изображение, запись в базе данных или весь XML-документ. Выбор типа, соответствующего тестируемому объекту, позволяет сфокусировать этап проверки и упрощает его сопровождение.

  1. Стандартный контрольный пункт: Сравнивает ожидаемые значения свойств объекта, зафиксированные во время записи, с текущими значениями объекта во время сеанса выполнения. Поддерживается всеми средами надстроек.
  2. Контрольная точка страницы: Стандартный контрольный пункт, созданный для веб-страницы. Он проверяет общее количество ссылок и изображений на странице и может измерять время загрузки страницы.
  3. Контрольная точка текста: Проверяет, что определенный текст отображается в заданной области веб-страницы или Windowsприложение на основе.
  4. Контрольно-пропускной пункт в текстовой зоне: Проверяет, отображается ли текстовая строка в пределах заданной области экрана. WindowsПриложение на основе критериев, таких как совпадение регистра или сопоставление с использованием подстановочных символов.
  5. Контрольная точка растрового изображения: Проверяет растровое изображение или целую веб-страницу, проводя попиксельное сравнение фактического и ожидаемого изображения.
  6. Контрольная точка изображения: Проверяет свойства веб-изображения, такие как местоположение исходного файла. В отличие от контрольной точки растрового изображения, она не сравнивает пиксели.
  7. Контрольная точка доступности: Проверяет соответствие рекомендациям Всемирного консорциума веб-технологий (W3C) для веб-технологий, упрощая использование приложения для людей с ограниченными возможностями.
  8. Контрольная точка базы данных: Выполняет запрос во время записи и сохраняет возвращенные значения базы данных как ожидаемые значения; тот же запрос выполняется повторно во время выполнения программы, чтобы можно было сравнить фактические и ожидаемые значения.
  9. Контрольная точка стола: Динамически проверяет содержимое ячеек в таблице или сетке, а также свойства таблицы, такие как высота строки и ширина ячейки. Аналогично контрольной точке базы данных.
  10. Контрольная точка XML: Проверяет XML-данные, XML-схемы и XML-ресурсы, встроенные в веб-страницу или в автономный XML-документ.

В таблице ниже приведено сравнение десяти типов контрольных точек, чтобы вы могли выбрать подходящий перед началом записи.

Тип контрольно-пропускного пункта Проверяет лучшее Используется для
Стандарт Значения свойств объекта Универсальная проверка любого объекта надстройки.
Страница Ссылки, изображения, время загрузки Подтверждение полной загрузки веб-страницы.
Текст Наличие конкретного текста Появляется подтверждающее сообщение или метка.
Текстовая область Текст внутри области экрана Windows приложения с нестандартными текстовыми элементами управления
Bitmap Сопоставление изображений на уровне пикселей Визуальная регрессия диаграмм, логотипов, макетов.
Фото товара Свойства источника изображения Подтверждаем, что предоставлен корректный файл изображения.
Доступность соответствие W3C Аудит веб-страниц на предмет доступности.
База данных Значения результатов запроса Проверка соответствия данных в бэкэнде пользовательскому интерфейсу.
Таблица Содержимое и расположение ячеек сетки Отчеты, результаты поиска и таблицы данных.
XML XML-данные и схема Веб-сервисы и страницы, управляемые XML

Контрольная точка и выходное значение: в чем разница?

Тестировщики, которые только начинают UFT/QTP Часто путают контрольные точки с выходными значениями, поскольку и то, и другое вставляется из одного и того же меню и в обоих случаях считывает текущее свойство объекта. Эти две функции служат противоположным целям.

Аспект Контрольно-пропускной пункт Выходное значение
Цель Подтверждает соответствие захваченного свойства ожидаемому значению. Захватывает свойство, доступное во время выполнения, чтобы его можно было повторно использовать на последующем этапе.
Влияние оценки "сдал/не сдал" Этап завершается неудачей, и сообщается о несоответствии результатов. Никогда не проваливает тест самостоятельно.
Куда направляется ценность Результаты внутреннего сравнения отображаются как "ПРОЙДЕНО"/"НЕ ПРОЙДЕНО" в разделе "Результаты теста". Хранится в таблице данных во время выполнения или в переменной.
Типичное использование Подтвердите заголовок страницы или общую сумму в базе данных. Передайте сгенерированный номер заказа в следующее действие.

Используйте контрольную точку всякий раз, когда скрипту необходимы доказательства прохождения/непрохождения теста, и выходное значение всякий раз, когда на последующем этапе захваченные данные требуются в качестве входных данных.

Как вставить контрольную точку в UFT/QTP

Большинство типов контрольных точек можно вставить только в том случае, если UFT Запись идёт; как только запись останавливается, меню контрольных точек становится недоступным для новых вставок. Описанные ниже шаги позволяют вставить стандартную контрольную точку — наиболее часто используемый тип.

Нажмите здесь если видео недоступно

  1. Откройте тестируемое приложение и начать запись in UFT.
  2. Перейдите к экрану или объекту для проверки, затем щелкните правой кнопкой мыши по шагу, непосредственно следующему за которым находится контрольная точка.
  3. В контекстном меню выберите «Вставить стандартную контрольную точку» или выберите конкретный тип — растровое изображение, база данных, таблица и т. д. — из подменю «Контрольная точка».
  4. В диалоговом окне «Свойства контрольной точки» оставьте имя контрольной точки по умолчанию или замените его описательным именем.
  5. Выберите свойства объекта для проверки. Каждое выбранное свойство отмечено галочкой; значок ABC обозначает постоянное значение, а значок изменяется, если свойство параметризовано.
  6. Нажмите кнопку ОК. UFT Вставляет оператор Check сразу после текущего шага.
  7. Остановите запись и воспроизведите тест заново, чтобы убедиться, что контрольная точка показывает «ПРОЙДЕНО».

⚠ Распространенная ошибка: Если шаг, непосредственно предшествующий контрольной точке, закрывает или заменяет целевое окно, UFT Вызывает ошибку во время выполнения, поскольку объект больше не существует, когда контрольная точка пытается его прочитать. HP QTPОбычно для решения проблемы достаточно изменить порядок выполнения затронутых шагов таким образом, чтобы целевой объект оставался открытым при выполнении контрольной точки.

Приведённый ниже фрагмент кода VBScript демонстрирует ту же идею, выраженную через UFT Объектная модель автоматизации: оператор Check, возвращающий логическое значение (Boolean), которое затем скрипт передает через объект Reporter.

Dim Result ' Holds the PASS/FAIL outcome of the checkpoint

Browser("Flight Reservation").Page("Flight Reservation").WinEdit("Agent Name:").Set "Diana"
Browser("Flight Reservation").Page("Flight Reservation").WinButton("OK").Click

' Run the Standard Checkpoint that was inserted after the OK click
Result = Browser("Flight Reservation").Page("Flight Reservation").Check(CheckPoint("Flight Reservation Window"))

If Result Then
    Reporter.ReportEvent micPass, "Checkpoint Passed", "Flight Reservation window matches expected values"
Else
    Reporter.ReportEvent micFail, "Checkpoint Failed", "Flight Reservation window does not match expected values"
End If

В этом видео демонстрируются различные типы контрольных точек, доступные в UFT/QTPвключая использование стандартных, битовых и контрольных точек баз данных.

Лучшие практики эффективного использования контрольно-пропускных пунктов.

Надежность контрольной точки зависит от объекта и свойства, на которые она нацелена. Приведенные ниже методы обеспечивают точность контрольных точек по мере изменения тестируемого приложения.

  • Проверяйте конкретный объект, а не всю страницу, чтобы избежать ненадежных тестов, которые завершаются с ошибкой при изменении несвязанного элемента пользовательского интерфейса.
  • Оставляйте проверяемый объект открытым во время выполнения контрольной точки; изменение порядка шагов часто является решением проблемы с ошибкой выполнения «объект не найден», описанной выше.
  • предпочитать База данных или контрольные точки XML вместо контрольных точек Bitmap для проверки данных — сравнение растровых изображений дает сбой при изменении шрифта, разрешения или темы, не имеющих отношения к данным.
  • Параметризуйте значения контрольных точек из таблицы данных, если одна и та же проверка должна выполняться в нескольких итерациях тестирования.
  • Дайте каждому контрольному пункту описательное название, чтобы сбой было легко обнаружить в окне результатов тестирования.
  • Используйте контрольные точки в сочетании с синхронизацией, например, с оператором Wait или Sync Этот метод позволяет избежать выполнения проверки до завершения загрузки страницы.

Часто задаваемые вопросы (FAQ)

Это происходит, когда на предыдущем шаге закрывается или заменяется окно, на которое нацелена контрольная точка. Измените порядок шагов так, чтобы контрольная точка выполнялась, пока объект еще открыт, а затем повторно запустите тест.

Да. Щелкните правой кнопкой мыши оператор Check в режиме просмотра ключевых слов или в режиме эксперта и выберите «Свойства контрольной точки», чтобы в любое время изменить свойства проверяемых значений, ожидаемые значения или имя контрольной точки.

Да, когда в тесте используется UFT Мобильное дополнение. Контрольные точки Standard, Bitmap и Text работают с нативными и гибридными мобильными объектами так же, как и с объектами для настольных компьютеров и веб-сайтов.

Некоторые инструменты тестирования с использованием ИИ могут предлагать варианты контрольных точек из записанной сессии или документа с требованиями, но тестировщику все равно необходимо убедиться, что выбранные свойства отражают реальные бизнес-риски, прежде чем их принять.

Это помогает найти объект, а не саму контрольную точку. Функция самовосстановления повторно идентифицирует перемещенный или переименованный объект, поэтому контрольная точка продолжает работать, но вам все равно необходимо проверять сравниваемые значения всякий раз, когда изменяется логика приложения.

Подведем итог этой публикации следующим образом: