Методы и средства инженерии программного обеспечения

Команда тестировщиков


За функциональные и исполнительные  тесты  несут  ответственность разработчики,   а   заказчик  больше влияет на   составление тестов испытаний и инсталляции системы.

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

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

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

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

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

В команду тестировщиков  входят также  пользователи.  Они оценивают получаемые  результаты, удобство    использования, а также высказывают свое мнение о принципах работы системы.

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

План тестирования.   Для проведения тестирования создается план (Test Plan), в котором  описываются стратегии,  ресурсы и график тестирования отдельных компонент и системы в целом. В плане отмечаются  работы для  разных членов команды, которые выполняют определенные роли в этом процессе.  План  включает также  места теста в каждом процессе, степень покрытия программы тестами и процент тестов,  которые выполняются со специальными  результатами. 

Тестовые инженеры  создают множество тестовых сценариев (Test Cases), каждый из которых проверяет  результат  взаимодействия между  актером и системой на основе определенных пред– и пост–условий использования таких сценариев. Сценарии в основном относятся к  тестированию по типу  белого «ящика» и  ориентированы на проверку структуры и  операций интеграции компонентов системы.

Для проведения тестирования тестовые инженеры предлагают процедуры тестирования (Test Procedures), включающие  валидацию объектов и верификацию тестовых сценариев в соответствии с планом графикам.





Оценка тестов (Test Evaluation) заключается в оценке результатов тестирования и степени покрытия программ сценариями и  статуса полученных  ошибок. На рис. 7.5. приведен круг обязанностей тестового инженера.    

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

                                                       

                                                          Teстировщик

                                                                    



           Программы       Тестовые        Тестовые                Оценка                  План  

                тестов           ситуации       процедуры              тестов                    теста

                           Рис.7.5. Ответственности инженера– тестировщика

       


Содержание раздела