Archive

Archive for Сентябрь, 2008

Типы тесткейсов в SilkTest

Сентябрь 22nd, 2008

Возможности SilkTest позволяют создавать два типа тесткейсов.

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

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

В SilkTest Вы можете создать тесткейсы как первого так и второго типа.  Тесткейсы первого типа необходимо запускать в самом начале, и если после их прохождения был достигнут определенный уровень качества приложения (например, 90% тесткейсов завершились удачно), то выполнять тесткейсы второго типа.

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

SilkTest

Конструирование тесткейса

Сентябрь 15th, 2008

Представленная методология конструирования тесткейса включает в себя:

  • Фазы тесткейса;
  • Независимость тесткейсов;
  • Цели тесткейса;
  • Базовое состояние тесткейса;
  • Определение тестовых требований.

Тесткейс имеет три фазы:

  1. Приведение приложения к неоходимому виду.
  2. Проверка, что текущее состояние равно ожидаемому.
  3. Очистка приложения от проведенных действий, приведение к состоянию предшествовашему началу теста.

Тесткейс должен быть независимым. Каждый тесткейс должен иметь свою собственную начальную стадию (1 фаза) и собственную завершающую стадию (3 фаза). Это позволит запускать тесткейсы независимо друг от друга. Тесткейс не должен зависеть от успешного или неуспещного результата предыдущего тесткейса или от порядка запуска тесткейсов.

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

Тесткейс должен иметь одну цель. Каждый тесткейс должен проверить один аспект работы приложения в фазе 2. Когда тесткейсы разработаны в таком стиле, то при анализе результатов очень легко понять какая часть приложения работает нормально или нет.

Тесткейс начинается с базового состояния (BaseState). Для того, что бы тесткейс правильно выполнил необходимые действия, приложение должно находится в стабильном состоянии. Такое состояние в терминологии SilkTest назвается базовым состоянием приложения (BaseState). Система восстановления (Recovery System) ответственна за то, что бы привести тесткейс к базовому состоянию в случае если приложение зависнет или сломается в процессе выполнения тесткейса или между ними.

Определение тестовых требований. При определении тестовых требований главной задачей является строгое покрытие каждой функциональной детали приложения. Что бы так сделать, вам необходимо решить, какой набор входных данных к функциональности позволит получить наиоблее эффективный результат.

SilkTest

Анатомия автоматического тесткейса

Сентябрь 10th, 2008

Данной заметкой я открываю серию постов о создании автоматических SilkTest тесткейсов. Начнем с анатомии :)

Любой тесткейс состоит из названия и объектно-ориентированных команд. Как правило, группы тесткейсов хранятся в файле называемом script.

Каждый автоматический тесткейс начинается с ключевого слова testcase. За ним идет название теста. Имя тесткейса должно говорить о его предназначении, о том какой модуль будет протестирован или какое требование (requirement) тестового плана покрыто. Например, если тесткейс покрывает функциональность, отвечающую за вход в систему, наилучшим именем для тесткейса будет SignIn. Таким образом, объявление тесткейса будет выглядеть вот так:

testcase SignIn ()

Ядро тесткейса – это объектно-ориентированные команды 4test, которые управляют, выполняют, проверяют и приводят в действие элементы тестируемого приложения. Например, такая команда:

TextEditor.File.New.Pick

состоит из двух элементов: TextEditor.File.New – это прямое обращение к элементу программы, в данном случае меню Файл текстового редактора и Pick – метод, который будет применен к указанному элементу. Как Вы уже заметили, оператор точка (.) разделяет каждый кусочек команды. Когда эта команда будет выполнена, то меню File->New текстового редактора TextEditor будет выбрано (открыто).

SilkTest

Отладка скриптов (Debugging scripts)

Сентябрь 2nd, 2008

В процессе работы Вы увидите множество ошибок и несоответствий скриптов, которые Силк обозначит, покажет или выведет в окно ошибок. Однако существуют такие ошибки, найти которые невозможно простой проверкой, в таком случае очень удобным инструментом является «отладчик ошибок» (Debugger).

В отладке, одним из базовых понятий является Breakpoint. Break point – это точка, в которой выполнения скрипта прерывается, что дает возможность в подробностях ознакомится со статусом выполнения.

Как правило точки остановки устанавливаются перед теми местами, которые необходимо проверить. Далее выполняется команда, которая доводит скрипт до данной точки, а дальше управление передается человеку. Для этого используются 3 вида команд:

Step over – исполнить текущую линию кода

Step into – зайти внутрь метода или функции (если такая существует на данной строке кода)

Step out – исполнить код до конца метода или функции.

Рассмотрим возможности дебаггера SilkTest. На рисунке 1 представлены опции меню Debug панели инструментов в режиме отладки:

Рис. 1. Меню Debug режима отладки SilkTest.

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

Следующие три пункта были уже описаны выше (Step Over, Step Into и Finish function). Здесь же есть опция Run to Cursor – как можно догадаться по названию, код будет выполнятся до строки, в которой находится курсор.

Опции Abor, Reset и Exit позволяют закончить отладку, начать ее заново либо выйти из режима отладки.

Как показано на рисунке 2, синий треуголник показывает текущую выполняемую строку. Что бы войти внутрь метода, необходимо использовать команду Step in (F7), что бы выполнить метод writeLine () заочно – команду Step over (F8).

Рис. 2. Команды Step in и Step over

Рассмотрим другие возможности режима отладки. На рисунке 3 представлены варианты меню Breakpoint, который как и предыдущий пункт, доступен только во время режима отладки.

Рис. 3. Меню Breakpoint режима отладки SilkTest.

Toggle – позволяет установить пункт остановки в строку, в которой находится кунсор.

Add… – дает возможность добавть пункт остановки в определенное место (при этом появляется диалоговое окно, в котором можно указать это место)

Delete… – позволяет удалить пункт остановки со строки в которой находится курсор.

Delete all – удаляет все пункты остановки в текущем файле.

Существует так же пункт режима отладки – View, позволяющий просматривать различную информацию о текущем состоянии выполнения скрипта.

Рис. 4. Меню View режима отладки SilkTest.

Expression – позволяет вводить выражения и получать мнгновенный результат. Если вы находитесь внутри функции которая принимает значение, можно ввести это выражение и получить результат не выполняя функцию. Есть и другие применения данной функциональности.

Global variables – отображает список общий переменных.

Local variables – отображает список локальных переменных.

Expand/Collapse data – позволяет просматривать переменные переменные составного типа данных.

Module… – отображает список модулей использвуемых скриптом в текущий момент.

Call stack – отображает те методы и функции которые выполняются в текущий момент.

Transcript – показывает окно Transcript, которое отображает лог выполненеия скрипта, а так же имеет строку для ввода команд (эти команды будут передаваться тестируемому приложению).

Таким образом, режим отладки SilkTest обладает всем набором инструментов воздействия и передачи информации, которые могут помочь в процессе отладки скрипта и доведения его до совершенства.

SilkTest