Посиделки автоматизаторов
Немного с опозданием, но таки пишу небольшой отчет о посиделках автоматизаторов, на которые я попал, можно сказать, с самолета Новосибирск—Киев. На посиделки я пришел пообщаться, а также послушать опыт участников в налаживании процессов автоматизации. Да и что уж таить — тематика мне очень интересна.
Мне понравилась одна практика, которую ребята применили на посиделках. Все участники составили вопросы и записали их на бумажках. Потом мы по очереди задавали свои вопросы и коллективно искали решение. Перед тем, как написать вопрос, который я задал, расскажу про нашу специфику.
У наших продуктов смежная предметная область. Например, в каждом продукте есть карточка предприятия в том или ином виде, во всех продуктах есть общие элементы этой карточки + своя специфика каждого продукта. Продукты различны по технологиям и ЯП.
Вопрос звучал так: можно ли писать тесты к продуктам с возможностью их переиспользования в целой линейке продуктов, написанных на совершенно разных технологиях?
По вопросу разгорелась дискуссия, и началась она с обсуждения вариантов организации отдела автоматизации в структуре компании в целом. Мы выделили 2 варианта.
Все на одного и один для всех, или Соберем «золотую» команду кросс-языковых автоматизаторов
Отдел автоматизации без привлечения разработчиков занимается написанием всей инфрастуктуры для автоматизации.
- отделы разработки не тратят время на создание инфраструктуры для автоматических тестов/фреймворков/api и т.д.
- «золотая» команда. :) Отдел должен владеть всеми технологиями компании и должен разбираться во всех продуктах. Такую команду собрать очень сложно и дорого
Все за одного и один за всех, или Feature Development Team
Команда разработки каждого продукта планирует время девелопера для участия в написании инфраструктуры автоматизации. Формируется feature development team, т.е. команда, которая укомплектована теми специалистами, которые необходимы для решения именно этой задачи. В нашем случае это означает, что автоматизатору на помощь приходит кто-то из разработчиков.- обязательные знания отдела определяются технологиями, с помощью которых будет осуществляться автоматизация тестирования продуктов.
- разработчик, участвующий в написании инфраструктуры для автоматизации, знает продукт, использует свои знания о его внутреннем устройстве. Облегчает работу отдела автоматизации и ускоряет достижение результата.
- в отделе разработки придется выделять время разработчика для работы над инфраструктурой автоматизации.
Какую схему выбрать? Мне больше нравится смешанная схема.
Смешанная схема
Отдел автоматизации состоит из междисциплинарных специалистов, людей, которые разбираются как в тестировании, так и в программировании. Они так или иначе владеют каким-то ЯП. Поэтому мы можем часть проектов покрыть силами отдела автоматизации, привлекая разработчиков лишь для консультаций. А те продукты, для автоматизации которых требуется технологии, не знакомые автоматизаторам, будут выделять ресурсы в помощь отделу автоматизации.Обладает плюсами FDT-варианта и отчасти нивелирует его минусы. :)
После этого участники дали ответ на мой вопрос.
Keyword driven testing!
Ответом стал следующий вариант: отдел автоматизации берет на вооружение такую методику как keyword driven testing. Т.е. тесты пишутся всущность | действие | данные |
Сущность — проецируется в дальнейшем в класс драйвера. Сущности — так же, как и классы — могут наследовать друг друга.
Действие — проецируется в дальшейшем в метод класса.
Данные — параметры, которые будут переданы в вызываемые метод класса в драйвере.
Пример.
сущность | действие | данные |
SitePage | open | http://test.test/index |
TextField | type | test text |
Form | SearchForm | submit |
Каждый драйвер разрабатывается к продукту на своих технологиях и реализует действия, определенные в тестах.
В итоге:
- отдел QA пишет тесты по методике KDT на xml, и тесты могут переиспользоваться для любых продуктов независимо от технологий. Порог вхождения небольшой. Можем задействовать всех QA-специалистов;
- отдел автоматизации собственными силами или при поддержке разработчиков пишет драйвера к продуктам и актуализирует их с развитием продукта;
- парсер и хранилище тестов реализуются единожды отделом автоматизации.
Заключение
Мне очень понравилось на посиделках, прошло и с пользой и большим интересом. Жду следующих посиделок ;)Материал подготовили Кульпин Виталий и компания ДубльГИС
P.S. Вы еще не автоматизируете? Тогда приходите к нам! :)
20 коментарів
Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.