Организация автотестов на примере мобильного приложения для СЭД

28 февраля в 15:06

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

Рано или поздно все приходят к АТ. Ситуация, когда это происходит поздно, понятна, а когда рано? И как понять, что уже можно?

Статья основана на опыте одной команды: расскажу про наши предпосылки и поводы внедрения автотестирования, какие мы выделили критерии готовности к АТ и какие инструменты используем в итоге. 

Что говорит теория


Рассмотрим подход к автоматизации на примере пирамиды тестов. В качестве уровней пирамиды я возьму те виды тестирования, которые применяем мы. А именно unit-тесты, интеграционные тесты и сквозные (E2E) тесты.
image

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

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

Сквозные тесты проверяют работу системы в целом, эмулируя действия конечного пользователя. Чаще всего они обращаются к системе через UI: жмут кнопки как пользователь, заполняют поля и т.п. Но могут быть применены и в системах без интерфейса. Эти тесты обходятся значительно дороже, чем рассмотренные выше, т.к. требуют больше времени на разработку и поддержку как самих тестов, так и всего окружения. К тому же они очень хрупкие, потому что на них влияют изменения в любой части системы, а на результат конкретного теста может повлиять неожиданное поведение эмулятора или браузера. Длительность прогона таких тестов тоже значительно выше, чем у остальных: для выполнения какого-то отдельного действия пользователя, необходимо совершить много дополнительных. Например, залогиниться или перейти в нужный пункт меню.

По принципу пирамиды, чем легче, быстрее и дешевле тест, тем больше их должно быть в процентом соотношении от общего количества тестов. Т.е. сквозным тестом не стоит проверять присвоение различных значений одному полю (если только вам не нужно проверить работу UI в этих случаях).

Для всех перечисленных видов тестирования отведена определенная роль. В какой-то момент ЖЦ приложения появляется необходимость в той или иной автоматизации тестирования. Ваш продукт легко может обходиться только модульными тестами, а может быстро дорасти до необходимости применения сквозного тестирования. Главное при планировании автоматизации — понимать, что конкретно вашему продукту в текущий момент принесет пользу, а на что вы, скорее всего, зря потратите время.

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

Но вся автоматизация, на мой взгляд, в первую очередь должна быть направлена на снижение объема ручного тестирования. А при планировании ручного тестирования стоит учитывать, какие кейсы уже автоматизированы.

Как организованы автотесты у нас, читай в продолжении на Хабр: https://habr.com/ru/company/directum/blog/490264/.

 

Directum | Один путь в Directum: шахты — агитация — интернет-кафе — телемагазин — антивирус…

Один путь в Directum: шахты — агитация — интернет-кафе — телемагазин — антивирус…

2 марта в 17:45

Есть коллеги, которыми восхищаешься по умолчанию — это про Рому Галинского. Да, мы все профессионалы, но некоторые из нас вызывают особенное уважение команды, руководителя, клиентов.

Читать
Directum | Как Никита из нефтяника продавцом стал

Как Никита из нефтяника продавцом стал

18 февраля в 11:33

«У нас нет тотального контроля, никто не стоит над душой и не проверяет количество звонков — ты сам несешь ответственность за свою работу»
___________________________________________________________
Никита Аксянов уже 5 лет продаёт Directum по всей России и немного дальше, хотя учился на нефтяника. Делимся историей того, как Никиту занесло в ИТ и выясняем, что ему помогло здесь освоиться.

Читать