Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Тестирование веб-приложений, интегрированных с другими системами

python
selenium
Теги: #<Tag:0x00007f7b64e6c350> #<Tag:0x00007f7b64e6c210>

(Bolatbek) #1

Коллеги, всем здравствуйте.

Занимаюсь тестированием не столь давно, пока вопросов не возникало. Кстати, очень помог ваш сайт, на котором есть столько ответов на все вопросы.

Но сейчас я в тупике.

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

Процесс ручного тестирование мануальщиками выглядит так:

  • человек логинится
  • выбирает платеж
  • заполняет нужные поля (сумма, счет, номер телефона и т.д.)
  • нажимает “Продолжить”
  • на телефон тестировщика - физический телефон - прилетает СМС, в котором код авторизации
  • тестировщик вводит код, платеж проходит
  • далее: тестировщик открывает приложение для просмотра операции в
    бэкенде (это оболочка для базы данных - назовем DBM), в нем проводит
    закрытие дня для своего счета, делает постилирование и потом появляются
    проводки, которые он может глазками посмотреть
  • далее: открывает банковскую систему (Colvir) и смотрит, появился ли там платеж

Желание бизнеса - проверять всю эту цепочку. Я
пока могу - довести до платежа. Вскоре, как решу проблему с СМС -
смогу проводить платеж, подтвердив вводом кода из СМС - то есть на стороне веб-части тест будет полный. Это решаемо.
Но дальше: мне надо залезть в DBM, сделать там уже в десктоп приложении нужные действия.
Потом посмотреть еще в Colvir`е- сели ли туда проводки.

Что у меня есть:

  • пишем для веба тесты на Python + Selenium Grid + Allure и все это
    на jenkins ci крутится. Создать тесты для веб части - не проблема.
    Использую pytest и page object pattern.
  • для десктоп приложений - думаю использовать HP UFT
  • доступ к БД Colvir - есть, можно обращатьяс SQL запросами напрямую.

Чего нет:

  • доступа к БД ИБ, никаких SQL запросов не сделать, и вряд ли дадут, ну может вьюшку нарисуют когда-нибудь. Смотреть можно через десктоп приложение;
  • доступа к серверу, на котором крутится сайт ИБ - нет, чтобы например генерить самому транспортные файлы, или дергать веб-сервисы;
  • доступа с тестового сервера к веб-сервисам поставщиков .

Возникает собственно вопрос:

  • что бы вы и как бы вы это все тестировали?

Вариант, который я вижу:

  • покрываем автотестами веб-интерфейс по максимуму в пределах разумного, включая сквозной тест по платежам и переводам.
  • в DBM и Colvir - проверяем руками результат. Либо - пишем на HP UFT скрипт для автопроверки, но нужно как-то передать результаты операции с предыдущего шага. Так в веб-интерфейсе идентификатора платежа нет (найти можно по карточке и сумме и дате), то придется в каждую единицу времени запускать только один тест по платежу/переводу для одного клиента.

Прав ли я? Стоит ли городить огород? Бизнес-подразделение относится к тестам так: или все автоматически тестируем, или ничего. Что бы вы сделали? Или как бы убедили? Работают тут по старинке - тест-кейсов нет (сейчас начали для нас писать), после внедрения нового продукта - руками тестируют, делают большой протокол со скриншотами и подписываются ). И хотят такое же от автотеста.

Спасибо. Если что-то надо уточнить - пожалуйста, жду уточняющих вопросов.


(Artem Nikitin) #2

Шаг 3 зависит от шага 2, т.е. без выполнения шага 2 платеж появится на шаге 3 ? Если да, то видится что шаги 1 и 3 можно автоматизировать относительно легко, а шаг 2 лучше руками.


(Bolatbek) #3

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