Вообще говоря, есть две модели, которые берут свои корни в продуктовой и заказной разработкой. Но реально они могут применяться в разных случаях, поэтому связь - условная. У продуктовой разработки - в целом нет заказчика. Поэтому там аналитик пишет спецификацию, разработчик ее реализует, тестировщик - проверяет соответствие и при успехе - продукт готов. При заказной - аналитик снимает требования у заказчика и передает в разработку в виде постановки, а в обратную сторону - принимает результат разработки и сдает заказчику. Принимая результат он, естественно, проводит тестирование, потому что ему этот результат сдавать.
Это - идеальная картина. Реально может быть всякая комбинация, в зависимости от конкретной области. Классическая (водопадная) модель больше рассматривает продуктовый вариант. SCRUM дает некоторую комбинацию: с одной стороны, члены команд проверяют работу друг друга, выделенной роли тестировщика нет но деятельность - есть, а вот Product Owner является аналитиком, формулируя требования, и он же принимает результат.
Есть еще один важный аспект - постановку, которую написал аналитик можно понять неоднозначно. Классическое направление предпочитало решить это, формализуя язык постановки и артефакты, ее составляющие, переходя в пределе к модели. Но реально достичь однозначности нельзя иначе как написав код, многочисленные примеры это подтверждают, соответственно единственный способ проверить что получилось что предполагали - тестирование.
Это больше касается функционального и интеграционного тестирования, что касается юнит-тестирования, то тут роль аналитика - в формулировании всяких граничных областей и сложных для алгоритма случаев, и вообще некоторого спектра тестов. Потому что юнит-тесты - они же чтобы облегчить количество работы при интеграционных и функциональных тестах прежде всего.