четвер, 26 червня 2014 р.

Архитектурные подходы к Тест Фреймворкам


Добрый день читатель!

В ходе разбора документов набрел на довольно старую идею свести все типы архитектур фрейморков для автоматизированого тестирования (и автоматизации в общем)
В автоматизации известны такие типы фреймворков:

  • Record & Play
  • Functional decomposition
  • Action Sets 
  • Data Driven
  • Keyword Driven
  • Behaviour Drivn
  • Model Based

Давайте расмотрим каждый более подробн.

Record & Play

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

Functional decomposition

Более продвинутый подход, который требует знание функионального(структурного ) программирования. В данном подходе все приложение разбиваеться на бизнес функции, и разрабатывается частями. тесты в итоге выглядят кусочными и их довольно сложно поддерживаь через то что они содержат большое количество дублицированых шагов, локаторов и тд. 
Имеет место жить в тех случаях когда приложение не сложное и не сильно часто меняеться. 



Action Sets Based

Эстественное развитие архитектуры функционально декомпозиции, когда тесты или последовательности действий группируються в библиотеки которые называються Action
Обычно используется гибридное речение и в чистом виде предствалено только в Unit testing frameworks




Data/Keyword Driven

Подход предполагает налиция довольно серьезных знаний программирования а также наличия  множества тестовых данных.
тесты в таком случае предстваляються ввиде одного сценария с множеством вариантов выполнения (data tables).
В случае же с Keyword Driven  - тесты имеют вид поледовательости некоторых ключевых слов, которые по сути являються фукциональными модулями вашего фреймворка.



Behavior Driven

об этом подходе я упоминал уже в предидущих своих статьях.




Model Based

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


Немає коментарів:

Дописати коментар