Автоматизированная стратегия UITest для 2 мобильных приложений - приложение пользователя / приложение администратора - PullRequest
0 голосов
/ 04 октября 2018

Я работаю в команде разработчиков, у нас есть 2 отдельных мобильных приложения.Одно из приложений для пользователей.Другое приложение для администратора этих пользователей.Моя основная задача - выполнить тестовый пример в приложении Admin, , а затем запустить тестовый пример в приложении Users, чтобы проверить его правильную работу.Как я могу подойти к этому?

Например, я хочу запустить тестовый пример в приложении администратора, которое отменяет некоторые привилегии.Затем я хочу запустить тестовый пример из приложения «Пользователи», чтобы проверить, была ли отозвана привилегия.

Может быть, это не очень хорошая стратегия, но она имеет смысл для моей команды, потому что у нас есть 2 приложениякоторые работают вместе - и если мы выполняем какую-то функцию в приложении Admin - мы хотим увидеть ожидаемый результат в приложении Users

Мой план состоял в том, чтобы пометить каждый тест категорией, например, «Привилегия»"

В Jenkins:

  1. Запустите категорию" Привилегии "в приложении Admin, где я отозваны некоторые привилегии
  2. Запустите категорию" Привилегии "в приложении пользователя, где яподтвердить отозванную привилегию

Это похоже на нормальную тестовую стратегию прямо сейчас.Но если у меня есть 20 UITests, это означает, что у меня будет 20 разных проектов Jenkins на моей инструментальной панели, по одному для каждого UITest (на устройство, на платформу).Кажется, что с 20 UITests я получу более 100 проектов Jenkins.Это не совсем идеально для меня.

Кто-нибудь еще придумал стратегию тестирования, при которой ему нужно было протестировать 2 отдельных проекта вперед и назад.Я понимаю, что на самом деле это не подпадает под юнит-тестирование - и я могу получить некоторые расплывчатые ответы по юнит-тестированию и вообще.Но я верю, что мобильные устройства - это другое животное в мире UITest

Ответы [ 2 ]

0 голосов
/ 08 октября 2018

В вашем вопросе есть пара моментов

выполняет некоторую функцию в приложении Admin - мы хотим увидеть ожидаемый результат в приложении Users

Есливам нужно протестировать такие интеграции между двумя приложениями, вы можете использовать правильные метки для тех, которые

помечают каждый тест категорией

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

, необходимых для тестирования двух отдельных проектов вперед и назад

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

Похоже, что с 20 UITests я получу более 100 проектов Jenkins.Это не совсем идеально.

На самом деле вам не нужен проект Jenkins для каждого пакета, просто настройте тесты с помощью аргументов CLI, и ваш жгут подберет это для вас.Что вам нужно, это тег (или платформа, или устройство), который будет передан бегуну.

0 голосов
/ 05 октября 2018

Как правило, вы НЕ хотите, чтобы тесты зависели друг от друга.Посмотрите на этот пример:

  1. В приложении администратора вы устанавливаете привилегию.
  2. Вы открываете приложение пользователя.
  3. Эта привилегия должна быть установлена,но это не так.

Вы знаете, что что-то пошло не так, но вы не знаете, работает ли это приложение администратора или пользовательское приложение.

Поэтому вам следует протестироватьнезависимо друг от друга, имитируя (= фальсифицируя) серверную часть:

  1. Откройте приложение администратора.
  2. Установите привилегию.
  3. Задайте проверенную серверную часть: получили ли выВызов из приложения администратора для установки привилегии?

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

  1. Установите фальшивый бэкэнд, гдепривилегия установлена ​​
  2. Откройте пользовательское приложение
  3. Проверьте, установлена ​​ли привилегия.

Разделив тесты для обоих приложений, вы узнаете, какое из двухне работает.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...