Добрый день. Взялся изучать автоматизацию, и зашел тупик. Вот есть два термина - автоматизация UI и автоматизация функционального тестирования. А какая собственно между ними разница? В интернете много определений, и все они отличаются друг от друг. Как я понимаю - UI тесты, это такие, которые имитируют работу пользователя (то есть уже есть "верстка", и мы можем кликать, заполнять, отправлять и т.д) - то есть по типу записи и воспроизведения в Selenium IDE. А что же тогда функциональное тестирование? Понятно, что это проверка функциональностей продукта, как например загрузка картинки на аватар и т.п. Но чем отличается само тестирование функциональное от UI? Функциональное же тоже должно проводиться на готовом дизайне? Продукт Selenium IDE называют инструментом функционального тестирования, хотя в моем понимании это же инструмент UI тестинга? Объясните, пожалуйста, где я ошибаюсь, и буду очень признателен за ссылки, где хорошо описаны основы автоматизации.
UI и функциональное тестирование.
#1
Отправлено 31 января 2016 - 20:21
#2
Отправлено 01 февраля 2016 - 08:36
Функционал - это то. что система делает.
Интерфейс - способ доступа к функционалу.
Функциональное тестирование выполняется через интерфейс. в частности через пользовательский интерфейс.
Если у вас несколько типов клиентов, то функционал и пользовательские интерфейсы на разных клиентах вы будете тестировать отдельно.
Помимо UI бывает еще и API. Проблема различия UI и функционала у вас в том, что вы смотрите только на web-UI. Когда вы поймете, что UI предоставляет пользователю доступ к API и иногда может просто отсутствовать - у вас такие вопросы отпадут.
#3
Отправлено 01 февраля 2016 - 10:01
Функционал - это то. что система делает.
Интерфейс - способ доступа к функционалу.
Функциональное тестирование выполняется через интерфейс. в частности через пользовательский интерфейс.
Если у вас несколько типов клиентов, то функционал и пользовательские интерфейсы на разных клиентах вы будете тестировать отдельно.
Помимо UI бывает еще и API. Проблема различия UI и функционала у вас в том, что вы смотрите только на web-UI. Когда вы поймете, что UI предоставляет пользователю доступ к API и иногда может просто отсутствовать - у вас такие вопросы отпадут.
Функциональное тестирование может являться частью ЮИ тестирования, и наоборот.
При тестировании робота, функциональным будет, как тестирование, что "каждые 100 метров робот поворачивает направо", так и что "при нажатии на кнопку робот поворачивает направо". При этом, первое не является ЮИ тестированием, второе является, так как идёт взаимодействие с Юзер Интерфейсом. Примером чисто ЮИ тестирования будет, что "кнопка при нажатии начинает мигать".
В вашем же утверждении, вы вводите в заблуждение говоря, что "Функциональное тестирование выполняется через интерфейс". Собственно, интерфейс тут скорее потому, что так вышло, а не потому, что это единственное средство.
И вы рассуждаете с точки зрения конечного пользователя, что некорректно, так как, функциональное тестирование может вообще не соприкасаться ни с одним из типов клиентов, ни API, и вообще не иметь выхода.
Функциональное тестирование так названо потому, что оно тестирует какую-нибудь функцию. Функция может быть совершенно любой.
#4
Отправлено 01 февраля 2016 - 10:16
Добрый день. Взялся изучать автоматизацию, и зашел тупик. Вот есть два термина - автоматизация UI и автоматизация функционального тестирования. А какая собственно между ними разница? В интернете много определений, и все они отличаются друг от друг. Как я понимаю - UI тесты, это такие, которые имитируют работу пользователя (то есть уже есть "верстка", и мы можем кликать, заполнять, отправлять и т.д) - то есть по типу записи и воспроизведения в Selenium IDE. А что же тогда функциональное тестирование? Понятно, что это проверка функциональностей продукта, как например загрузка картинки на аватар и т.п. Но чем отличается само тестирование функциональное от UI? Функциональное же тоже должно проводиться на готовом дизайне? Продукт Selenium IDE называют инструментом функционального тестирования, хотя в моем понимании это же инструмент UI тестинга? Объясните, пожалуйста, где я ошибаюсь, и буду очень признателен за ссылки, где хорошо описаны основы автоматизации.
Ваше непонимание разницы связано с тем, что вы применяете ваши знания согласно вашей предметной области, а она у вас тестирование сайтов. Что и вводит вас в заблуждение, что UI = функциональное тестирование. В вашем, конкретном, частном, случае, применимо к вещам, с которыми работаете лично вы, это равенство вполне может выполняться. Но в общем случае, это скорее частности работы в сфере сайтостроения, и в большом мире разработки ПО и механизмов, это равенство выполняться не будет.
#5
Отправлено 01 февраля 2016 - 10:17
Функционал - это то. что система делает.
Интерфейс - способ доступа к функционалу.
Функциональное тестирование выполняется через интерфейс. в частности через пользовательский интерфейс.
Если у вас несколько типов клиентов, то функционал и пользовательские интерфейсы на разных клиентах вы будете тестировать отдельно.
Помимо UI бывает еще и API. Проблема различия UI и функционала у вас в том, что вы смотрите только на web-UI. Когда вы поймете, что UI предоставляет пользователю доступ к API и иногда может просто отсутствовать - у вас такие вопросы отпадут.
Функциональное тестирование может являться частью ЮИ тестирования, и наоборот.
При тестировании робота функциональным будет как тестирование что "каждые 100 метров робот поворачивает направо", так и что "при нажатии на кнопку робот поворачивает направо". При этом, первое не является ЮИ тестированием, второе является, так как идёт взаимодействие с Юзер Интерфейсом. Примером чисто ЮИ тестированием будет, что "кнопка при нажатии начинает мигать".
В вашем же утверждении, вы вводите в заблуждение говоря, что "Функциональное тестирование выполняется через интерфейс". Собственно, интерфейс тут скорее потому, что так вышло, а не потому, что это единственное средство.
И вы рассуждаете с точки зрения конечного пользователя, что некорректно, так как, функциональное тестирование может вообще не соприкасаться ни с одним из типов клиентов, ни API, и вообще не иметь выхода.
Функциональное тестирование так названо потому, что оно тестирует какую-нибудь функцию. Функция может быть совершенно любой.
Интерфейс - это не обязательно API или UI. Это любой способ воздействия на систему. Если робот через 100 метров должен повернуть направо - значит он эти 100 метров как-то отсчитывает и это интерфейс на который можно воздействовать. Если я тестирую алгоритм детекции людей и трассировки их перемещений подвешенной к потолку TOF-камерой то у меня есть параметр "высота потолка" и интерфейс к нему в виде операторского крана. Если алгоритм работает комбинировано TOF+RGB камера то у меня добавляется параметр условия освещенности и интерфейсы к нему: Жалюзи, светоотражающие экраны, погода, искуственное освещение.
Но давайте не будем пугать падаванов :)
#6
Отправлено 01 февраля 2016 - 10:46
Всегда думал, что есть два вида тестирования:
1)Функциональное
2)Не функциональное
Не функциональное - это Нагрузочное, Юзабилити и т.д.
Функциональное - это модульное(т.е. юнит - тесты), безопастность(т.е. проверка на различные уязвимости), UI и т.п.
Т.е. UI это подвид Функционального тестирования
Т.е.
Продукт Selenium IDE называют инструментом функционального тестирования, хотя в моем понимании это же инструмент UI тестинга?
оба названия верны
BadMF и Little_CJIOH поправьте меня
#7
Отправлено 01 февраля 2016 - 11:09
Не полезу я в это болото :)
Если у системы заявлено требование одновременной работы 1000 пользователей. Является ли это функциональным требованием? Становится ли тогда нагрузочное тестирование функциональным? А если на 500 одновременных пользователях у вас начинает ломаться функционал? Например пользователь видит не свою корзину, а чужую?
"сами топите урановые ломы в ртути" (с)
#8
Отправлено 01 февраля 2016 - 11:32
Т.е. UI это подвид Функционального тестирования
Ну грубо говоря да, ЮИ это подвид функционального тестирования, но, опять же, если говорить про сайтостроение, то говорить, что "цвет кнопки Отменить красный" это функция программы, возможно, некорректно (я оставил себе пространство для манёвра словом "возможно" =) ). но ведь это тест ЮИ, причём скорее Юзабилити тест. Что приводит нас к мысли о том, что ЮИ тестирование "не функциональное тестирование" =).
Это как "корпускулярно-волновой дуализм" в применении к видам тестирования =).
Темы с аналогичным тегами ui, automation, functional, testing
Тестирование →
Начинающему тестировщику →
Проект Хомячки →
Цикл 36 группа 3Автор nratkevich, 13 авг 2022 BlockChain, Web, QA, Testing и 1 еще... |
|
|||
Тестирование →
Автоматизированное тестирование →
Assert в тестирование UIАвтор Junior99909, 22 янв 2022 Automation, ui, assert |
|
|||
Тестирование →
Управление тестированием →
Пример использования TestRail на реальном проектеАвтор Testzpua, 20 мая 2021 testrail, qa, testing и 1 еще... |
|
|||
Работа и карьера →
Работа для тестировщика/QA →
Работа/Киев →
Вакансия Software Testing Engineer в Orion SoftАвтор lizaveta_litviniuk, 21 апр 2021 QA, manual, automation, python |
|
|||
Работа и карьера →
Работа для тестировщика/QA →
Работа/Москва →
Вакансия QA Automation Engineer / автотестировщик (JavaScript)Автор pug_tester, 10 фев 2021 qa, js, javascript, automation и 2 еще... |
|
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных