Цель плана
В настоящем плане тестирования описаны и определены стратегия и принципы тестирования, применяемые в проекте «Система торговли финансами WallStreet» (WFTS). План будут использовать исполнители проекта WFTS для получения представления о тестировании в проекте, для выполнения порученных работ и управления этими работами до их успешного завершения. Документ определяет детали, связанные с распределением ответственности и работ по тестированию, и описывает тесты, намеченные к выполнению. (more…)
Вне зависимости от того, какой инструмент выберет группа тестирования, некоторые специалисты по автоматизации тестирования придумают способы, чтобы усовершенствовать применение инструмента. Группа тестирования должна побродить по Интернету в поисках бесплатных дополнительных утилит, идей автоматизации и экспертной и обучающей поддержки. Эти ресурсы повысят отдачу от вложений в автоматизацию. Обратитесь на сайт авторов книги за информацией об экспертной поддержке инструментов тестирования и за ссылками на различные обучающие программы по инструментам тестирования.
Еще один прекрасный способ изучения последних самых заметных достижений производителя инструмента тестирования — это добровольно стать бета-тестировщиком. Будучи бета-тестировщиком, специалист по тестированию может выявить проблемы, связанные с приложением, которое он тестирует. Эти проблемы могут быть переданы производителю и своевременно исправлены в официальной версии инструмента.
Для ведущих инструментов тестирования организованы разнообразные группы пользователей. Тестировщики должны выяснить у производителя инструмента тестирования, какие группы пользователей этого инструмента работают в данной местности. На собраниях групп пользователей можно узнать, как другие используют инструмент, изучить подсказки и трюки и получить прочую полезную информацию об инструменте.
Кроме того, группа тестирования может участвовать в различных дискуссионных группах по вопросам тестирования, а также в сетевых конференциях, расширяя собственные знания о тестировании. (more…)
ОБЯЗАННОСТИ В ГРУППЕ ТЕСТИРОВАНИЯ
Далеко не все в группе тестирования должны сосредоточиться на работе по автоматизации тестирования. Если все сотрудники группы тестирования занимаются автоматизацией, некому выполнять оценку результатов тестирования, проводить тестирование вручную и осуществлять другие аналитические работы, связанные с тестированием. Лучше разделить обязанности таким образом, чтобы один тестировщик занимался только автоматизацией тестовых скриптов, а другой — изучением вопросов предметной области, связанной с тестируемым приложением. (more…)
СТОРОННИКИ АВТОМАТИЗАЦИИ ТЕСТИРОВАНИЯ И ЭКСПЕРТЫ
Прежде чем принять решение о разработке автоматизированных тестовых процедур для поддержки требований к тестам, группа тестирования должна убедиться в том, что ее сотрудники являются специалистами в области автоматизации тестирования. В идеале менеджер проекта должен выступать в роли сторонника автоматизации тестирования. С учетом наличия неправильных представлений об автоматизированном тестировании (см. главу 2) сторонник автоматизации тестирования необходим для разрешения недоразумений вокруг тестирования. (more…)
ПРИВЛЕЧЕНИЕ ЗАКАЗЧИКА
При определении и установке тестовой среды группа тестирования должна понимать, каким образом результаты тестирования будут представлены высшему руководству и заказчикам. Тестировщик сможет заранее оценить реакцию руководства и заказчика на предлагаемый формат отчетов и на результаты тестирования, если будет знать, насколько понятны выходные данные инструмента тестирования. Группе тестирования, возможно, потребуется воспользоваться различными офисными автоматизированными средствами, чтобы сделать результаты тестирования более понятными и осмысленными. (more…)
СОБЛЮДЕНИЕ ПЛАНА-ГРАФИКА
В плане-графике проекта должно быть выделено достаточно времени на внедрение и применение инструментов автоматизированного тестирования. Лучше, если инструмент автоматизированного тестирования внедряется в самом начале жизненного цикла разработки. Раннее внедрение гарантирует, что у группы тестирования будет достаточно времени для знакомства с данным инструментом автоматизированного тестирования и с его возможностями, предназначенными для опытного пользователя. Также необходимо время на подготовку, поскольку системные требования могут быть загружены в инструмент управления тестированием, при проектировании тестов желательно соответствующим образом использовать возможности инструмента, а тестовые процедуры и скрипты можно своевременно сгенерировать для запланированного их выполнения. (more…)
Группа тестирования не может работать изолированно. Напротив, она привлекается к работе с начала жизненного цикла системной разработки и нуждается в партнерских отношениях со всеми группами, участвующими в жизненном цикле, чтобы реализовать действенную программу тестирования. Группа тестирования должна заранее дать ясное представление разработчикам обо всех дополнениях к инструменту тестирования и вставках кода. Если в исходный код необходимо добавить зонды, упаковщики или дополнительные операторы между операторами и функциями исходного кода, инструмент тестирования могут посчитать агрессивным, и разработчику потребуются советы относительно потенциальных проблем. (more…)
Тестировщики должны использовать упорядоченный подход к проектированию и разработке тестовых процедур. В частности, они обязаны неукоснительно следовать стандартам проектирования и разработки, чтобы достичь максимальной степени повторного использования и сопровож-даемости получаемых автоматизированных тестовых скриптов. Тестировщики должны выделять тестовые процедуры, которые повторяемы по природе и, следовательно, прекрасно подходят для автоматизации. Вначале группа тестирования сосредоточивается на наращивании тестов, выполнявшихся вручную, за счет автоматизации. Разработка тестов должна стать естественным продолжением детального проектирования тестов, выполняемого в соответствии с рекомендациями, представленными в главе 7. В частности, функции повышенного риска и значимые для успеха приложения должны быть учтены в планах-графиках разработки и выполнения тестов как можно раньше.В рамках работ по проектированию тестов, описанных в главе 7, проводится анализ, целью которого является определение того, когда выполнять ручное, а когда автоматизированное тестирование. Группа тестирования должна понимать, что далеко не все следует немедленно автоматизировать. Необходимо применять пошаговый подход к автоматизации. Разумно построить работу по автоматизации на основе плана-графика выполнения тестовых процедур с целью исключения дублирования разработки.
НЕ УСЛОЖНЯЙТЕ АВТОМАТИЗАЦИЮ
Тщательно разработанный тестовый скрипт не всегда представляет наиболее полезный и рентабельный способ проведения автоматизированного тестирования. При использовании подхода на основе таблиц сотрудники группы тестирования должны учитывать размер приложения, объем бюджета тестирования и вероятную прибыль на вложенные затраты. Рассмотрим пример. На собрании пользователей инструмента тестирования тестировщик Билл продемонстрировал тщательно разработанный табличный подход. Билл уже создал целый ряд тестовых скриптов на основе данных, хотя приложение, которое он собирался тестировать с применением средств автоматизации, выполняло, главным образом, базовые операции: обычные функции добавления, удаления и обновления записей. Вероятно, более результативным способом стало бы примене¬ние файла данных для ввода различных записей, разработка которого заняла бы не более получаса. Полученный скрипт можно также было бы при необходимости использовать повторно. При табличном подходе, представленном Биллом, потребовалось две недели работы.
Тестировщики, в частности, могут применить инструмент тестирования графического интерфейса пользователя, полностью обойдя средства графического интерфейса при помощи вызовов API и RPC. При тщательной разработке можно получить элегантное решение автоматизации тестирования, но каковы будут затраты? Тестировщики не должны тратить больше времени на программирование кода автоматизации, чем запланировано в плане-графике и бюджете или требуется для разработки приложения.
Группе тестирования следует быть осторожной, чтобы не попасть в ловушку, суть которой в том, что тестировщики начинают заниматься созданием тестовых скриптов, которые отвлекают их от основной задачи — поиска ошибок. В частности, тестировщик не должен слишком увлекаться автоматизацией тестов. Не стоит автоматизировать тест, который выгоднее провести вручную. Хрестоматийным примером является ситуация, когда три дня было потрачено на автоматизацию теста, который можно было выполнить вручную в течение нескольких минут. (more…)
Возможно, группа тестирования тщательно проверила инструмент тестирования в изолированной среде, а затем использовала его в одном или нескольких проектах. В результате группа тестирования познакомилась с инструментом, умеет им пользоваться и уверена, что он работает в соответствии с документацией. Предположим, что производитель объявил о выпуске более мощной и качественной версии инструмента тестирования. Должна ли группа тестирования немедленно производить обновле¬ние существующей версии и применять ее в текущем проекте? (more…)
Желательно проверить потенциальные инструменты тестирования в изолированной среде до того, как они будут установлены в целевой тестовой среде. Если часть целевого приложения существует в некотором виде в момент изучения инструмента тестирования, группа тестирования обязана установить инструмент(ы) тестирования совместно с приложением и выяснить, совместимы ли они. Если при проверке совместимости возникли какие-либо проблемы, группа тестирования должна исследовать возможность обходных решений. Обсуждение проверки совместимости приводится в главе. (more…)
ПИЛОТНЫЙ ПРОЕКТ
Группа тестирования должна приобрести опыт работы с инструментом автоматизированного тестирования и попрактиковаться в автоматизации тестирования в небольшом проекте до использования идей автоматизации тестирования в крупном проекте. Полезно взять в качестве пилотного проекта какое-либо из разрабатываемых приложений и попробовать сначала автоматизировать тестирование или применить новый инструмент тестирования для него. (more…)
УПРАВЛЕНИЕ ОЖИДАНИЯМИ
Долговременный успех группы тестирования зависит от ее способности добиваться выделения средств, предоставления обучения и кадровых ресурсов, необходимых для адекватного выполнения работ по тестированию в проекте. Политические рычаги, обеспечивающие получение этих ресурсов, обусловлены работой группы тестирования, которая должна соответствовать ожиданиям высшего руководства компании. В главе 2 описываются деятельность группы тестирования по формированию верных представлений о ней у высшего руководства, обсуждение преимуществ автоматизированного тестирования и умение продвинуть идею автоматизации тестирования. Это все важнейшие грани победной политической стратегии.
ДОКУМЕНТИРОВАНИЕ ПРОЦЕССА
Группа тестирования не сможет автоматизировать процесс, если процесс не определен. Инструменты автоматизированного тестирования не навязывают процесс тестировщику; напротив, они поддерживают процесс тестирования. Инструменты не проводят экспертизу приложения. В результате технические проблемы могут скрыть проблемы организации процесса. (more…)
Документируйте процесс
Управляйте ожиданиями
Организуйте пилотный проект
Проверяйте совместимость инструмента тестирования
Проверяйте обновления инструмента тестирования
Фиксируйте базовую версию настройки и конфигурации системы перед установкой нового инструмента
Избегайте несовместимых инструментов тестирования (more…)
Следование методологии ATLM, как показано в этой книге, заключается в принятии множества проверенных на практике методов организации работ. В этом приложении обобщаются лучшие методы организации работ и дается ряд советов по подготовке и проведению автоматизированного тестирования. Методы организации работ имеют целью помочь группе тестирования избежать ошибочных шагов при проведении тестирования, которые приводят к ненужным затратам и увеличивают объем тестирования. Методы организации работ общего назначения, которые послужили темами для этой книги, учитывают то, что не все требования к тестам могут быть поддержаны автоматизированным тестированием. Другие общие методы предполагают проведение тщательного планирования тестирования и соответствующих работ по управлению тестированием, в том числе отслеживание разработки тестовой среды. (more…)