Расцвет ПО управления тестированием 09

advertisement
AUTOMATED TEST OUTLOOK 2016
Расцвет ПО управления тестированием
Оглянитесь на свою группу тестирования. Если вы похожи на
большинство организаций, проводящих автоматические тесты, вы
заметите увеличение количества языков. Благодаря формам
абстракций в современных языках высокого уровня, проблема в
ближайшее время никуда не денется. Она только усилится.
Как же мы до этого докатились? Эволюция ведет глубоко в
историю языков программирования и жажды более
высоких уровней абстракции. Все началось с первого
языка высокого уровня, FORTRAN. Разработанный Джоном
Бакусом в 1953 году, FORTRAN появился в силу
необходимости более высокого уровня абстракции для
взаимодействия с компьютерами, выражающегося
естественным образом – через язык.
“Мы подходим к уникальным вызовам
тестирования с лучшим языком для каждой
задачи. Используя готовое коммерческое
ПО управления тестированием для
унификации в течение жизненного цикла
проекта, мы увеличиваем инженерную
продуктивность и минимизируем время
выхода на рынок.”
— Саймон Видемер, Глава архитектуры автоматического
тестирования, Festo AG & Co. KG
После успеха FORTRAN было разработано множество
других языков, таких как C, Pascal, ATLAS и PAWS, каждый
из которых привносил новые концепции и модели
вычислений. И с каждым новым языком появлялись
новые, более мощные уровни абстракции, такие как
объектно-ориентированное программирование, которое
в наше время является одной из наиболее широко
используемых конструкций программирования. Кроме
того, эти новые модели вычислений часто созданы для
решения довольно общих задач. Некоторые из этих
новых моделей разработаны для задач
программирования общего назначения, но некоторые
созданы под конкретные приложения. Например, LabVIEW
был создан для приложений тестирования, измерений и
управления, а Python для быстрых задач со скриптовым
кодом.
Повышающийся уровень абстракции привел к тому, что
определенные языки лучше подходят для своих задач.
Лучшие менеджеры тестирования теперь создают
тестовые системы, использующие мощности сразу
нескольких языков, и экономят время разработки,
используя ПО управления тестированием.
Традиционная разработка систем тестирования
Учитывая, что ПО это основа автоматизации системы
тестирования, большинство организаций предпочитают
стандартизацию на одном, довольно общем языке,
используемом для всех аспектов системы тестирования –
от индивидуальных компонентов, до управления
тестированием. Конечным результатом становится подход,
заключающийся в разработке однородного ПО. Главным
его преимуществом является то, что все члены команды
работают в единой стандартизированной среде, что
облегчает повторное использование библиотек и кода. Это
также облегчает обучение, поскольку команда обучается и
работает в одной среде.
Тем не менее, стандартизация на одном языке имеет
некоторые недостатки. Использование одного языка приводит
к ограничениям в найме новых сотрудников из-за требования
наличия определенных навыков, либо новые сотрудники будут
вынуждены изучать используемый инструментарий. Тема
построения высококвалифицированного рабочего места
рассмотрена в обзоре Automated Test Outlook за 2014 год. К
моменту выпуска студенты, как правило, имеют опыт и
предпочтения
в одном или нескольких более специфичных языках.
Кроме того, новые менеджеры, после вступления в
должность часто предпочитают вводить язык, который им
нравится, что приводит к встряскам в организации. Это
может стать дорогим упражнением, часто требующим
миграции кода, ревалидации базы исходного кода и
дополнительного обучения новому языку.
Программное решение
Отделы тестирования обращаются к готовому
коммерческому ПО управления тестированием. Это ПО
не только предлагает пользователям общую среду, где
они могут работать с любыми типами кода, но также
задействовать задачи, такие как построение
последовательности и вызов каждого теста, управление
вводом данных и генерация отчетов. Затем каждый
инженер может сконцентрироваться на написании
лучших тестов для каждой компоненты тестируемого
устройства, не беспокоясь о том, как взаимодействовать
с другими частями кода. И поскольку инженеры могут
использовать наиболее удобную среду, организации
могут сфокусироваться на найме инженеров с навыками,
необходимыми для тестирования, даже если они не
знакомы с используемым языком.
Лучшие менеджеры тестирования должны рассматривать
новые подходы к разработкам систем тестирования,
заключающиеся в построении однородной системы из
нескольких языков. Такой подход позволяет команде
использовать несколько языков и преимущества каждого
из них для создания более мощных систем тестирования.
Например, Python можно использовать для верификации
сценариев и тестов, основанных на коде, созданном
инженерами разработчиками. В той же системе можно
задействовать код C# для объектно-ориентированного
интерфейса пользовательского оборудования или
существующих .NET библиотек, в то время как для сбора
данных и взаимодействия с оборудованием используется
LabVIEW. Поскольку все языки предназначены для
конкретных задач, использование сильных сторон
каждого значительно экономит время и деньги.
Вдобавок, менеджеры тестирования могут
воспользоваться преимуществами всей мощи
однородного дизайна, избегая новых проблем,
привносимых таким подходом. Это включает
использование тестового ПО для более модульного
процесса разработки, дающего систему, более
простую для обслуживания и обновления. Ведь
каждый компонент может быть обновлен
самостоятельно, не влияя на остальную систему. В
конечном итоге, руководители тестирования, как
правило, поддерживают коммерческих
производителей, постоянно улучшающих и
обновляющих тестовое ПО, что в дальнейшем
снижает стоимость обслуживания и увеличивает
устойчивость этих систем. Эти преимущества,
объединённые с однородным дизайном, позволяют
менеджерам тестирования строить будущее
автоматического тестирования.
Несмотря на выгоду, такой подход также может вызвать
новые сложности в разработке систем тестирования:
разные языки должны работать вместе для формирования
единой системы. Для этого инженерам тестирования
нужно знать не только среду, в которой они
специализируются, но также другие среды, для
построения адекватного интерфейса между ними.
НЕОДНОРОДНЫЙ ПОДХОД К РАЗРАБОТКЕ ТЕСТИРОВАНИЯ
ПО УПРАВЛЕНИЯ ТЕСТИРОВАНИЕМ
Python
C
LabVIEW
.NET
FORTRAN
VS.
Python
C
LabVIEW
.NET
FORTRAN
ni.com/ato
09
Download