Перейти к содержимому

Фотография

Технологии функционального тестирования web-приложений


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 22

#21 KaNoN

KaNoN

    АЦЦКИЙ СОТОНА

  • Members
  • PipPipPipPipPipPip
  • 1 260 сообщений
  • ФИО:Колесник Николай
  • Город:Днепропетровск > Киев > Лондон

Отправлено 23 ноября 2007 - 09:19

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


Здравствуйте. Работал с различными инструментами, которые поддерживают, здесь аккуратно, пункты 1, 2, 3, которые определены мною в самом начале топика. Но, вдруг, есть 4, 5, 6 ..., что я еще не видел?

Ну, сам факт, что работали - это часть ответа, который я хотел бы получить. Я подразумевал также и интенсивность использования. Хотелось бы знать (чтоб просто иметь представление) насколько интенсивно вы с этими средствами работали. Потому как я часто собеседую людей и возникают такие нездоровые ситуации, когда человек считает себя чуть ли не экспертом в работе с некоторым средством, но на деле даже не понимает, что из себя представляет тот или иной компонент. Например, по СилкТесту мне достаточно задать 2 вопроса, чтобы понять, понимает ли собеседуемый, как все там устроено или нет. Но это я отвлекся.

Если взять не ваши 3 пункта, а 6 перечисленных мною (мой первый ответ в этой теме) как более расширенный список, то можно сделать такой перечень средств:

1) Record & Play - практически все средства реализуют эту возможность, многие производители предоставляют возможность записи/воспроизведения, как одну из основных фишек.

2) Functional Decomposition - всё, что может реализовать модульную структуру програмного кода. TestComplete, SilkTest, QTP, WinRunner, RFT, Rational Robot

3) Data-driven - изначально такая возможность встроена в WinRunner (про QTP не знаю, но наверняка есть), SilkTest, но легко реализуется и во многих других средствах

4) Keyword-driven - Selenium (в чистом виде), но с легкостью может быть реализован в SilkTest, также часто видел реализации на TestComplete

5) Object-driven - реализуется всеми средствами, которые поддерживают ООП. RFT, SilkTest, Watir, а также частично QTP, TestComplete

6) Model-based - судя по всему в чистом виде это реализуется инструментами UniTesk, но в принципе вполне может реализоваться и в других средствах, в частности QTP (Mike о такой реализации в свое время писал)

Так что тут уже можно примерно ориентироваться.
  • 0

#22 gerz

gerz

    Новый участник

  • Members
  • Pip
  • 14 сообщений

Отправлено 23 ноября 2007 - 14:19

Ну, сам факт, что работали - это часть ответа, который я хотел бы получить. Я подразумевал также и интенсивность использования. Хотелось бы знать (чтоб просто иметь представление) насколько интенсивно вы с этими средствами работали. Потому как я часто собеседую людей и возникают такие нездоровые ситуации, когда человек считает себя чуть ли не экспертом в работе с некоторым средством, но на деле даже не понимает, что из себя представляет тот или иной компонент. Например, по СилкТесту мне достаточно задать 2 вопроса, чтобы понять, понимает ли собеседуемый, как все там устроено или нет. Но это я отвлекся.


Здравствуйте. Поскольку Вы очень помогли, то отвечу про свои знания. Я разбираюсь в технологии UniTesK на уровне продвинутого пользователя с 2-х летним опытом. Что касается других технологий (подходов, фреймворков), то фактически опыта нет, есть какое-то представление о возможностях и небольшая практика. Поэтому запросто считайте меня новичком т.ч.к.
  • 0

#23 KaNoN

KaNoN

    АЦЦКИЙ СОТОНА

  • Members
  • PipPipPipPipPipPip
  • 1 260 сообщений
  • ФИО:Колесник Николай
  • Город:Днепропетровск > Киев > Лондон

Отправлено 25 ноября 2007 - 18:58

Ну, сам факт, что работали - это часть ответа, который я хотел бы получить. Я подразумевал также и интенсивность использования. Хотелось бы знать (чтоб просто иметь представление) насколько интенсивно вы с этими средствами работали. Потому как я часто собеседую людей и возникают такие нездоровые ситуации, когда человек считает себя чуть ли не экспертом в работе с некоторым средством, но на деле даже не понимает, что из себя представляет тот или иной компонент. Например, по СилкТесту мне достаточно задать 2 вопроса, чтобы понять, понимает ли собеседуемый, как все там устроено или нет. Но это я отвлекся.


Здравствуйте. Поскольку Вы очень помогли, то отвечу про свои знания. Я разбираюсь в технологии UniTesK на уровне продвинутого пользователя с 2-х летним опытом. Что касается других технологий (подходов, фреймворков), то фактически опыта нет, есть какое-то представление о возможностях и небольшая практика. Поэтому запросто считайте меня новичком т.ч.к.

Ну зачем же так сразу в новички записывать человека с 2-хлетним опытом работы с некоторой системой, связанной с данной темой? Просто если вы хотите сделать нечто, использующее различные подходы, то изначально можно делать упор на языковых и конструкционных возможностях:
  • Сделайте возможность группировать код в функции и считайте, что подход Functional Decomposition практически готов. Пользователь сам разнесет весь код по нужным ему функциям.
  • Сделайте возможность использования ООП (либо возьмите готовый язык, который это поддерживает, типа Java, либо выработайте свой аналог) - Object-Based подход уже в кармане. Пользователь сам сделает нужные ему объекты
  • Сделайте интерфейс для работы с базами данных (через тот же ODBC) и Data-Driven решения уже у ваших ног, осталось сделать ему хорошую обертку
  • Добавьте возможность динамического вычисления конструкций кода (в том же JavaScript есть функция eval, которая тупо выполняет код, переданный в строке-параметре) - в комбинации с предыдущим пунктом это просто натолкнет пользователя на Keyword-Driven. В крайнем случае для самых невменяемых можно добавить режим, в котором из существующих функций можно выбирать нужные и помещать их имена и параметры в неторокую таблицу, которая будет использоваться некоторым движком, который обрабатывает Keyword-Driven команды. Опять же, выделите исполняемый блок (который непосредственно исполняет команды скрипта) в отдельный сервис с унифицированным интерфейсом доступа - и вы уже вполне можете сделать это решение многоязыковым (опять же, посмотрите Selenium RC)
  • Вы работали с решениями, основанными на Model-Based подходе (UniTesk). Добавьте визуального представления побольше, а также кодогенераторов - и будет бомба. Если и не продадите это решение, то уж как минимум можете много выжать, воспользовавшись сгенерированными результатами. Model-Based решение мне представляется одним из проявлений RAD (Rapid Application Development), одной из основных идей которого является визуализация программирования (см. Delphi, C++ Builder). Если при реализации данного подхода сделать упор на визуализацию, то это будет очень мощное решение
Хотя в одиночку вы врядли осилите это все. Поэтому посмотрите уже готовые решения (я их не раз перечислял) или просто спросите мнение о работе с тем или иным средством у людей, которые с этим работали и могут быть потенциальными пользователями вашей системы, оцените преимущества и недостатки. Как видно из моего перечня, многие вещи отводятся на усмотрение пользователя, поэтому вам достаточно просто предоставить пользователю те или иные возможности. Это упрощает задачу (пусть и не намного). Поэтому в контексте вашей задачи существующие виды фреймворков, подходов и т.п. стоит рассматривать только чтобы знать в каком объеме ухватить весь необходимый функционал.
  • 0


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных