Тестирование по ключевым словам
Тестирование на основе ключевых слов , также известное как тестирование на основе слов-действий (не путать с тестированием на основе действий ), представляет собой методологию тестирования программного обеспечения, подходящую как для ручного , так и для автоматического тестирования . Этот метод отделяет документацию тестовых примеров , включая используемые данные и функциональные возможности, от предписаний способа выполнения тестовых примеров. В результате процесс создания теста разделяется на два отдельных этапа: этап проектирования и разработки и этап выполнения. Подэтап проектирования охватывает анализ и оценку требований , а также анализ, определение и популяцию данных.
Обзор
[ редактировать ]В этой методологии ключевые слова (или слова действия) используются для обозначения тестируемой функциональности, например Enter Client . Ключевое слово Enter Client определяется как набор действий, которые необходимо выполнить для внесения нового клиента в базу данных. Его документация по ключевым словам будет содержать:
- начальное состояние тестируемой системы (SUT)
- окно или меню, с которого нужно начать
- клавиши или щелчки мыши, чтобы перейти к правильному окну ввода данных
- имена полей, которые нужно найти, и какие аргументы ввести
- действия, которые необходимо выполнить в случае появления дополнительных диалоговых окон (например, подтверждений)
- кнопка, которую нужно нажать, чтобы отправить
- утверждение о том, каким должно быть состояние ТУС после завершения действий
Синтаксис тестирования на основе ключевых слов перечисляет тестовые случаи (слова данных и действий) в табличном формате (см. пример ниже). В первом столбце (столбец A) содержится ключевое слово Enter Client, обозначающее тестируемую функциональность. Затем оставшиеся столбцы BE содержат данные, необходимые для выполнения ключевого слова: имя, адрес, почтовый индекс и город.
А | Б | С | Д | И |
---|---|---|---|---|
. | Имя | Адрес | Почтовый индекс | Город |
Введите клиента | Джейн Смит | 6 Хай-стрит | SE25 6EP | Лондон |
Чтобы ввести другого клиента, тестер должен создать в таблице еще одну строку с ключевым словом «Ввести клиента» и данными нового клиента в следующих столбцах. Нет необходимости повторно перечислять все включенные действия.
В нем вы можете разрабатывать свои тестовые примеры следующим образом:
- Указание шагов высокого уровня, необходимых для взаимодействия с приложением и системой для выполнения теста.
- Указание того, как проверить и сертифицировать функции, которые работают правильно.
- Указание предварительных условий для теста.
- Определение критериев приемлемости теста.
Учитывая итеративный характер разработки программного обеспечения, дизайн теста обычно более абстрактен (менее конкретен), чем реализация теста вручную, но он может легко превратиться в него.
Преимущества
[ редактировать ]Тестирование на основе ключевых слов снижает чувствительность к обслуживанию, вызванную изменениями в тестируемой системе/программном обеспечении (SUT). Если макет экрана изменится или система будет перенесена на другую ОС, вряд ли придется вносить какие-либо изменения в тестовые примеры: изменения будут внесены в документацию по ключевым словам, один документ для каждого ключевого слова, независимо от того, сколько раз это ключевое слово используется в тестовые случаи, и это подразумевает глубокий процесс проектирования тестов.
Кроме того, благодаря очень подробному описанию способа выполнения ключевого слова (в документации по ключевому слову) тест может выполнить практически любой желающий. Таким образом, тестирование на основе ключевых слов можно использовать как для ручного, так и для автоматического тестирования . [1]
Более того, этот подход представляет собой открытую и расширяемую структуру, которая объединяет все инструменты, ресурсы и данные, связанные с тестированием и полученные в результате него. В рамках этой единой структуры все участники тестирования могут определить и уточнить цели качества, над достижением которых они работают. Именно здесь команда определяет план, который она будет реализовывать для достижения этих целей. И, что самое важное, это дает всей команде возможность в любой момент обратиться к одному месту для определения состояния системы.
Тестирование — это механизм обратной связи в процессе разработки программного обеспечения. Он подскажет вам, где необходимо внести исправления, чтобы не сбиться с курса на каждой итерации разработки. Он также сообщает вам о текущем качестве разрабатываемой системы. Деятельность по реализации тестов включает в себя проектирование и разработку повторно используемых тестовых сценариев, реализующих тестовый пример. После реализации его можно связать с тестовым примером.
Реализация различна в каждом проекте тестирования. В одном проекте вы можете решить создать как сценарии автоматического тестирования , так и сценарии ручного тестирования . [2] Напротив, разработка тестов — это итеративный процесс. Вы можете начать разработку тестов до реализации любой системы, основываясь на спецификациях сценариев использования, требованиях, прототипах и т. д. Когда система станет более четко определенной и у вас появятся сборки системы для работы, вы сможете уточнить детали конструкции. Деятельность по разработке тестов отвечает на вопрос: «Как я буду проводить тестирование?» Полный проект теста информирует читателей о том, какие действия необходимо предпринять с системой и какое поведение и характеристики им следует ожидать, если система работает правильно.
Проектирование теста отличается от работы по проектированию, которую следует выполнить при определении того, как построить реализацию теста.
Методология
[ редактировать ]Методология тестирования на основе ключевых слов делит выполнение процесса тестирования на несколько этапов:
- Модельное обоснование/прототипирование: анализ и оценка требований.
- Определение тестовой модели: по результатам оценки требований приблизиться к собственной модели программного обеспечения.
- Определение тестовых данных: на основе определенной собственной модели, начального ключевого слова и определения основных/дополняющих данных.
- Подготовка к экзаменам: основа вступительного тестирования и т. д.
- Разработка теста: анализ тестовой основы, разработка тестового случая/процедуры, разработка тестовых данных.
- Выполнение теста вручную: выполнение тестовых случаев вручную с использованием документации по ключевым словам в качестве руководства по выполнению.
- Автоматизация выполнения тестов: создание автоматизированного скрипта, выполняющего действия согласно документации по ключевым словам.
- Автоматизированное выполнение теста.
Определение
[ редактировать ]Ключевое слово или слово действия — это определенная комбинация действий над тестовым объектом, которая описывает, как должны выполняться тестовые строки. Слово действия содержит аргументы и определяется аналитиком тестирования.
Тестирование является ключевым этапом любого процесса разработки и представляет собой серию тестов или проверок объекта (тест системы/ПО — SUT). Всегда помните, что тест может показать только наличие ошибок, а не их отсутствие. При тестировании системы RT недостаточно проверить, выдает ли ИУС правильные выходные данные. Он также должен убедиться, что время, необходимое для получения этого результата, соответствует ожидаемому. Более того, синхронизация этих выходных данных также может зависеть от синхронизации входных данных. В свою очередь, сроки применения будущих входных данных определяются на основе выходных данных. [2]
Автоматизация выполнения тестов
[ редактировать ]Этап реализации различается в зависимости от инструмента или платформы. Часто инженеры по автоматизации реализуют структуру, которая предоставляет такие ключевые слова, как «проверить» и «ввести». [1] Тестировщики или дизайнеры тестов (которым не нужно уметь программировать) пишут тестовые примеры на основе ключевых слов, определенных на этапе планирования и реализуемых инженерами. Тест выполняется с помощью драйвера, который считывает ключевые слова и выполняет соответствующий код.
Другие методологии используют этап реализации «все в одном». Вместо разделения задач проектирования тестов и разработки тестирования, дизайн тестов представляет собой автоматизацию тестирования. Ключевые слова, такие как «редактировать» или «проверить», создаются с помощью инструментов, в которых уже написан необходимый код. Это устраняет необходимость в дополнительных инженерах в процессе тестирования, поскольку реализация ключевых слов уже является частью инструмента. Примеры включают GUIdancer и QTP .
Плюсы
[ редактировать ]![]() | Возможно, этот раздел содержит оригинальные исследования . ( сентябрь 2012 г. ) |
- В долгосрочной перспективе техническое обслуживание невелико:
- Тестовые примеры лаконичны
- Тестовые случаи доступны для чтения заинтересованным сторонам
- Тестовые случаи легко модифицировать
- Новые тестовые примеры позволяют легче повторно использовать существующие ключевые слова.
- Повторное использование ключевых слов в нескольких тестовых случаях
- Не зависит от конкретного инструмента или языка программирования.
- Разделение труда
- Для построения тестовых примеров требуется более сильный опыт в предметной области — меньшие навыки использования инструментов/программирования.
- Реализация ключевых слов требует более сильных навыков работы с инструментами/программирования - с относительно низкими навыками в предметной области.
- Абстракция слоев
Минусы
[ редактировать ]![]() | Возможно, этот раздел содержит оригинальные исследования . ( сентябрь 2012 г. ) |
- Более длительный срок вывода на рынок (по сравнению с ручным тестированием или методом записи и воспроизведения)
- Умеренно высокая кривая обучения на начальном этапе
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Перейти обратно: а б Фаут, Дэнни Р. (ноябрь 2004 г.). «Тестирование по ключевым словам» . Липкие умы . Инженерия качества программного обеспечения . Проверено 12 сентября 2012 г.
- ^ Перейти обратно: а б Мандуррино, Хосе Л. (июль 2014 г.). «Управление и подход к валидации в системах RT (реального времени)». УТИУ.
{{cite web}}
: Отсутствует или пусто|url=
( помощь )
Внешние ссылки
[ редактировать ]- Тестирование на основе действий
- Факторы успеха тестирования на основе ключевых слов , Ханс Бувальда
- SAFS (поддержка платформы автоматизации программного обеспечения)
- Платформы автоматизации тестирования
- Платформа автоматизации - gFast: универсальная платформа для автоматического тестирования программного обеспечения - QTP Framework