В команде, которая разрабатывает ПО, как правило, присутствуют следующие роли.
Аналитик – технически грамотный специалист. Он общается с заказчиком, собирает и надлежащим образом оформляет требования для ПО.
Дизайнер/разработчик интерфейса пользователя – продумывает структуру и внешний вид интерфейса для максимального удобства пользователя. Учитывает специфические особенности пользователей.
Разработчик – на основании требований реализует логику работы продукта на языке программирования.
Тестировщик – проверяет получившийся продукт на соответствие требованиям.
Тестировщик-автоматизатор – автоматизирует проверку продукта на соответствие требованиям. К примеру, при разработке продукта, в продукт могут вноситься изменения в один компонент. Эти изменения могут повлиять на работу другого компонента. Чтобы исключить это влияние, автотесты проверяют продукт при каждом изменении его кода.