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

Фотография

UI и функциональное тестирование.

ui automation functional testing

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

#1 pacificsport

pacificsport

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

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

Отправлено 31 января 2016 - 20:21

Добрый день. Взялся изучать автоматизацию, и зашел  тупик. Вот есть два термина - автоматизация UI и автоматизация функционального тестирования. А какая собственно между ними разница? В интернете много определений, и все они отличаются друг от друг. Как я понимаю -  UI тесты, это такие, которые имитируют работу пользователя (то есть уже есть "верстка", и мы можем кликать, заполнять, отправлять и т.д) - то есть по типу записи и воспроизведения в Selenium IDE. А что же тогда функциональное тестирование? Понятно, что это проверка функциональностей продукта, как например загрузка картинки на аватар и т.п. Но чем отличается само тестирование функциональное от UI? Функциональное же тоже должно проводиться на готовом дизайне? Продукт Selenium IDE называют инструментом функционального тестирования, хотя в моем понимании это же инструмент UI тестинга? Объясните, пожалуйста, где я ошибаюсь, и буду очень признателен за ссылки, где хорошо описаны основы автоматизации.


  • 0

#2 Little_CJIOH

Little_CJIOH

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 515 сообщений
  • ФИО:Власкин Павел
  • Город:Санкт-Петербург


Отправлено 01 февраля 2016 - 08:36

Функционал - это то. что система делает.

Интерфейс - способ доступа к функционалу.

 

Функциональное тестирование выполняется через интерфейс. в частности через пользовательский интерфейс.

Если у вас несколько типов клиентов, то функционал и пользовательские интерфейсы на разных клиентах вы будете тестировать отдельно.

Помимо UI бывает еще и API. Проблема различия UI и функционала у вас в том, что вы смотрите только на web-UI. Когда вы поймете, что UI предоставляет пользователю доступ к API и иногда может просто отсутствовать - у вас такие вопросы отпадут.


  • 0

#3 BadMF

BadMF

    Специалист

  • Members
  • PipPipPipPipPip
  • 809 сообщений
  • ФИО:Dmitry Petrov

Отправлено 01 февраля 2016 - 10:01

Функционал - это то. что система делает.

Интерфейс - способ доступа к функционалу.

 

Функциональное тестирование выполняется через интерфейс. в частности через пользовательский интерфейс.

Если у вас несколько типов клиентов, то функционал и пользовательские интерфейсы на разных клиентах вы будете тестировать отдельно.

Помимо UI бывает еще и API. Проблема различия UI и функционала у вас в том, что вы смотрите только на web-UI. Когда вы поймете, что UI предоставляет пользователю доступ к API и иногда может просто отсутствовать - у вас такие вопросы отпадут.

 

Функциональное тестирование может являться частью ЮИ тестирования, и наоборот.

 

При тестировании робота, функциональным будет, как тестирование, что "каждые 100 метров робот поворачивает направо", так и что "при нажатии на кнопку робот поворачивает направо". При этом, первое не является ЮИ тестированием, второе является, так как идёт взаимодействие с Юзер Интерфейсом. Примером чисто ЮИ тестирования будет, что "кнопка при нажатии начинает мигать". 

 

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

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

 

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


  • 0

#4 BadMF

BadMF

    Специалист

  • Members
  • PipPipPipPipPip
  • 809 сообщений
  • ФИО:Dmitry Petrov

Отправлено 01 февраля 2016 - 10:16

Добрый день. Взялся изучать автоматизацию, и зашел  тупик. Вот есть два термина - автоматизация UI и автоматизация функционального тестирования. А какая собственно между ними разница? В интернете много определений, и все они отличаются друг от друг. Как я понимаю -  UI тесты, это такие, которые имитируют работу пользователя (то есть уже есть "верстка", и мы можем кликать, заполнять, отправлять и т.д) - то есть по типу записи и воспроизведения в Selenium IDE. А что же тогда функциональное тестирование? Понятно, что это проверка функциональностей продукта, как например загрузка картинки на аватар и т.п. Но чем отличается само тестирование функциональное от UI? Функциональное же тоже должно проводиться на готовом дизайне? Продукт Selenium IDE называют инструментом функционального тестирования, хотя в моем понимании это же инструмент UI тестинга? Объясните, пожалуйста, где я ошибаюсь, и буду очень признателен за ссылки, где хорошо описаны основы автоматизации.

 

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


  • 0

#5 Little_CJIOH

Little_CJIOH

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 515 сообщений
  • ФИО:Власкин Павел
  • Город:Санкт-Петербург


Отправлено 01 февраля 2016 - 10:17

 

Функционал - это то. что система делает.

Интерфейс - способ доступа к функционалу.

 

Функциональное тестирование выполняется через интерфейс. в частности через пользовательский интерфейс.

Если у вас несколько типов клиентов, то функционал и пользовательские интерфейсы на разных клиентах вы будете тестировать отдельно.

Помимо UI бывает еще и API. Проблема различия UI и функционала у вас в том, что вы смотрите только на web-UI. Когда вы поймете, что UI предоставляет пользователю доступ к API и иногда может просто отсутствовать - у вас такие вопросы отпадут.

 

Функциональное тестирование может являться частью ЮИ тестирования, и наоборот.

 

При тестировании робота функциональным будет как тестирование что "каждые 100 метров робот поворачивает направо", так и что "при нажатии на кнопку робот поворачивает направо". При этом, первое не является ЮИ тестированием, второе является, так как идёт взаимодействие с Юзер Интерфейсом. Примером чисто ЮИ тестированием будет, что "кнопка при нажатии начинает мигать". 

 

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

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

 

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

 

Интерфейс - это не обязательно API или UI. Это любой способ воздействия на систему. Если робот через 100 метров должен повернуть направо - значит он эти 100 метров как-то отсчитывает и это интерфейс на который можно воздействовать. Если я тестирую алгоритм детекции людей и трассировки их перемещений подвешенной к потолку TOF-камерой то у меня есть параметр "высота потолка" и интерфейс к нему в виде операторского крана. Если алгоритм работает комбинировано TOF+RGB камера то у меня добавляется параметр условия освещенности и интерфейсы к нему: Жалюзи, светоотражающие экраны, погода, искуственное освещение.
Но давайте не будем пугать падаванов :)


  • 0

#6 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 01 февраля 2016 - 10:46

Всегда думал, что есть два вида тестирования:

1)Функциональное

2)Не функциональное

 

Не функциональное - это Нагрузочное, Юзабилити и т.д.

Функциональное - это модульное(т.е. юнит - тесты), безопастность(т.е. проверка на различные уязвимости), UI и т.п.

Т.е. UI это подвид Функционального тестирования

 

Т.е.

Продукт Selenium IDE называют инструментом функционального тестирования, хотя в моем понимании это же инструмент UI тестинга?

 

оба названия верны

 

 

BadMF и Little_CJIOH поправьте меня

 
  • 0

#7 Little_CJIOH

Little_CJIOH

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 515 сообщений
  • ФИО:Власкин Павел
  • Город:Санкт-Петербург


Отправлено 01 февраля 2016 - 11:09

Не полезу я в это болото :)

Если у системы заявлено требование одновременной работы 1000 пользователей. Является ли это функциональным требованием? Становится ли тогда нагрузочное тестирование функциональным? А если на 500 одновременных пользователях у вас начинает ломаться функционал? Например пользователь видит не свою корзину, а чужую?

 

"сами топите урановые ломы в ртути" (с)


  • 0

#8 BadMF

BadMF

    Специалист

  • Members
  • PipPipPipPipPip
  • 809 сообщений
  • ФИО:Dmitry Petrov

Отправлено 01 февраля 2016 - 11:32

 

Т.е. UI это подвид Функционального тестирования

Ну грубо говоря да, ЮИ это подвид функционального тестирования, но, опять же, если говорить про сайтостроение, то говорить, что "цвет кнопки  Отменить красный" это функция программы, возможно, некорректно (я оставил себе пространство для манёвра словом "возможно" =) ). но ведь это тест ЮИ, причём скорее Юзабилити тест. Что приводит нас к мысли о том, что ЮИ тестирование "не функциональное тестирование" =).

 

Это как "корпускулярно-волновой дуализм" в применении к видам тестирования =).


  • 1



Темы с аналогичным тегами ui, automation, functional, testing

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

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