SlideShare a Scribd company logo
EDISON. Центр разработки программного обеспечения
+7 (499) 500-14-94
http://www.edsd.ru
site@edsd.ru
1
ПЛАН ТЕСТИРОВАНИЯ
КЛИЕНТ-СЕРВЕРНОЙ СИСТЕМЫ
EDISON. Центр разработки программного обеспечения
+7 (499) 500-14-94
http://www.edsd.ru
site@edsd.ru
2
ОГЛАВЛЕНИЕ
1. ВВЕДЕНИЕ.................................................................................................................................................................................... 3
1.1. Цели тестирования........................................................................................................................................................... 3
1.2. Стратегии тестирования.................................................................................................................................................. 3
1.3. Виды тестирования.......................................................................................................................................................... 3
1.4. Документирование........................................................................................................................................................... 5
2. ЦИКЛ ТЕСТИРОВАНИЯ............................................................................................................................................................. 6
2.1. Срочная активность......................................................................................................................................................... 6
2.2. Тестирование релиза........................................................................................................................................................ 6
2.3. Ежедневная активность................................................................................................................................................... 6
2.4. Разработка новых тестов................................................................................................................................................. 7
2.5. Полугодичная активность............................................................................................................................................... 7
3. ТЕСТОВЫЙ СТЕНД..................................................................................................................................................................... 7
3.1. Планировщик задач автоматизированного тестирования............................................................................................ 7
3.2. Конфигурации оборудования ......................................................................................................................................... 8
3.3. Конфигурации и расположение данных ........................................................................................................................ 8
3.4. Тестируемые компоненты............................................................................................................................................... 8
EDISON. Центр разработки программного обеспечения
+7 (499) 500-14-94
http://www.edsd.ru
site@edsd.ru
3
1. ВВЕДЕНИЕ
В настоящем плане тестирования описаны и определены стратегия и принципы тестирования, применяемые при
тестировании системы удаленного доступа. План будут использовать исполнители работ для получения представления о
тестировании на проекте. Документ определяет распределение обязанностей при тестировании и описывает тесты,
намеченные к выполнению.
План тестирования разработан для решения следующих задач.
• Спланировать управление тестированием и техническую поддержку тестирования в ходе всего
жизненного цикла разработки системы.
• Определить исчерпывающий план тестирования, который описывает природу и рамки тестирования,
достаточные для достижения целей и решения задач тестирования в проекте.
1.1. Цели тестирования
Основными целями тестирования являются:
• обеспечение выполнения всех системных требований и критериев, установленных к программному
продукту;
• повышение вероятности того, что приложение при любых обстоятельствах будет функционировать
надлежащим образом и соответствовать установленным требованиям за счет обнаружения максимально
возможного числа дефектов;
• обеспечение работоспособности каждого разрабатываемого модуля согласно спецификации требований к
данному модулю;
• обеспечение работоспособности всей системы в целом согласно спецификации требований к системе;
• обеспечение отказоустойчивости системы и каждого отдельного модуля;
• обеспечение установленных параметров производительности;
• обеспечение нормального качества исходных материалов и исходных кодов;
• оперативное информирование заинтересованных лиц об уровне качества регулярных сборок;
• обеспечение пользователя наиболее удобным графическим интерфейсом.
1.2. Стратегии тестирования
Основными задачами тестирования являются:
• проведение функционального тестирования каждого модуля и компонента системы для обеспечения его
соответствия функциональным требованиям;
• проведение комплексного тестирования для обеспечения взаимодействия модулей и компонентов друг с
другом согласно требованиям к системе;
• определение и максимальное увеличение производительности системы и каждого отдельного модуля;
• проведение нагрузочного тестирования для обеспечения отказоустойчивости системы и каждого
отдельного модуля;
• максимальная автоматизация процесса тестирования;
• разработка достаточного набора контрольных примеров для тестирования новых модулей и компонентов;
• своевременная разработка контрольных примеров для покрытия устраняемых ошибок;
• увеличение покрытия кода тестовыми примерами;
• тестирование удобства применения модулей, имеющих графический интерфейс.
1.3. Виды тестирования
Для решения указанных выше задач тестирования будут использоваться следующие виды тестирования.
Тестирование — процесс многогранный, и указанные ниже виды могут пересекаться. Конкретный список видов
тестирования для каждого модуля приводится в задании на тестирование.
• Анализ спецификаций требований к каждому модулю и компоненту — подготовка и определение
параметров тестирования каждого отдельного компонента системы.
• Анализ спецификаций требований к системе — подготовка и определение параметров тестирования всей
системы в целом.
• Ручное тестирование — выполнение тестировщиком прохода тестового цикла вручную, с последующей
EDISON. Центр разработки программного обеспечения
+7 (499) 500-14-94
http://www.edsd.ru
site@edsd.ru
4
ручной фиксацией результатов по каждому тесту в отчете.
• Автоматизированное тестирование — автоматический проход тестового цикла, с последующим
автоматическим уведомлением заинтересованных лиц о результатах.
• Смешанное тестирование — вариант объединения ручного и автоматизированного тестирования.
Наиболее часто используется в практике.
• Дымовое тестирование — простейший вид тестирования, основанный на определении успешности сборки
системы из ветви исходного кода, находящейся в разработке. Обычно проводится один раз в день.
• Ежедневное тестирование — часть тестового цикла, обязательная к проходу каждый день.
• Модульное тестирование — самый важный вид тестирования, основанный на проверке
работоспособности функций, методов и свойств в условиях их нормального и ошибочного исполнения. Это
тестирование проводится на уровне исходного кода каждого существующего класса. Что нужно тестировать
на данном этапе:
- класс правильно объявлен;
- структура класса соответствует спецификации требований;
- класс имеет достаточную функциональность;
- класс совместим со средствами автоматической обработки кода (построение автодокументации, анализ
покрытия, качества кода и т.п.);
- некорректное функционирование и ошибочные ситуации корректно обрабатываются;
- класс совместим со связанными классами в рамках используемого наследования, полиморфизма,
процедур вызова и т.п.;
- время выполнения, частота выполнения, нагрузка на ресурсы соответствуют требованиям;
- класс не содержит утечек памяти и других ресурсов.
В идеале необходимо покрыть тестами каждую строку исходного кода. Когда продукт находится на ранней стадии
разработки — исправление ошибок обходится гораздо дешевле. По мере продвижения разработки выявление и
исправление ошибок становится все более и более затратным. В большинстве случаев предоставление модульных
тестов является ответственностью разработчика, их создание производится в момент разработки класса.
• Интеграционное тестирование — после разработки тестов на отдельные классы необходимо проверить,
как они будут работать вместе в рамках одного исполняемого процесса. Необходимо проверить, как
соотносятся классы, разработанные по-разному разными разработчиками. Данный вид тестирования
базируется на предыдущем и также производится на уровне исходного кода. Обычно тестовые примеры
строятся на основе вызова одного компонента из другого.
• Сквозное тестирование — проверяет работоспособность компонентов системы на уровне взаимодействия
нескольких отдельных исполняемых процессов. На данном этапе тестируется функционирование клиент-
серверных систем, их взаимодействие внутри и с внешними компонентами. Обычно сквозные тесты
содержатся во внешнем по отношению к системе процессе, который делает тестирующие запросы. Так
проверяются функции макроуровня, надежность, производительность, координация.
• Функциональное тестирование — рассматривает продукт, состоящий из множества классов, процессов,
компонентов, данных как единое целое. На этом этапе проверяется в целом его работоспособность,
функциональные и технические характеристики, а также бизнес-логика. Такая проверка может
осуществляться в нескольких конфигурациях окружения оборудования и наборов данных.
• Тестирование интерфейса — проверка клиентских и административных интерфейсов пользователя на
возможность выполнения с их помощью сценариев использования. Сценарий использования представляет
собой последовательность действий пользователя, которые имитируют его активность при работе с
интерфейсами системы. Сценарий использования должен покрывать спецификацию требований к
пользовательскому интерфейсу. Такое тестирование производится в автоматическом режиме с помощью
специализированных утилит. Тестирование должно проверять корректность работы интерфейсной части
приложения при любых возможных настройках экрана (различное разрешение, масштаб, шрифт), при
изменениях фокуса, при работе с мышью и клавиатурой.
• Нагрузочное тестирование — определение и проверка характеристик производительности системы в
заданной конфигурации оборудования и набора данных.
EDISON. Центр разработки программного обеспечения
+7 (499) 500-14-94
http://www.edsd.ru
site@edsd.ru
5
• Тестирование базы данных — проверка функционирования внешней базы данных и хранимых процедур в
соответствии со спецификацией требований. Проверка политики безопасности доступа к базе в
соответствии с ролями системы. Определение и проверка характеристик базы данных, таких как
производительность, среднее время доступа, максимальное количество обслуживаемых клиентов,
минимальная и максимальная длительность обработки запроса и т.п.
• Тестирование безопасности — определение ролей и проверка списка функций системы, доступных для
каждой роли. Может осуществляться на уровне интерфейса, на уровне компонента, на уровне базы данных,
на уровне модуля и на сетевом уровне. Проводится в соответствии с принятым документом «Политика
безопасности». Включает проверку методов шифрования данных при хранении и передаче, отказа доступа к
запрещенным функциям, перехвата данных, подделки удостоверения личности, отказа в обслуживании и
других атак.
• Тестирование удобства использования интерфейса — разработка отчета об удобстве использования,
быстроте освоения, наглядности пользовательских интерфейсов системы. Данный отчет может содержать
предложения по улучшению этих характеристик.
• Тестирование конфигурации — проверка работоспособности системы в заданном окружении
конфигурации оборудования и набора данных.
• Верификация — проверка успешности исправления разработчиком ошибки, проведенная тестировщиком в
тестовом окружении.
• Регрессивное тестирование — повторное выборочное тестирование продукта с модифицированными
частями после исправления ошибки или добавления новой функции. Внесение изменений в исходный код
может повлечь цепочку зависимостей и получение новых ошибок во взаимозависимых функциях. Данный
вид тестирования минимизирует риск подобного события.
• Инспекции и критические просмотры — регулярное или по требованию исследование системы и
отдельных ее компонентов с целью:
- выявления слабых мест;
- определения степени соответствия стандартам и требованиям;
- определения тенденций развития;
- разработки новых архитектурных решений;
- выработки предложений по рефакторингу кода;
- улучшения качественных и функциональных характеристик.
• Анализ исходного кода — регулярное исследование исходного кода с целью определения степени его
соответствия документу «Требования к оформлению исходного кода». Разработка предложений по
рефакторингу.
• Анализ покрытия тестами кода — автоматическое определение областей кода, не затронутых
контрольными тестами, с целью разработки новых тестов для максимизации покрытия.
• Тестирование инсталляции — проверка корректной работы инсталляционного пакета, инсталляционных
сценариев для копирования, обновления и последующей автоматической настройки работоспособности
системы.
• Тестирование документации — проверка документации на полноту описания инструкций пользования в
соответствии с «Требованиями по разработке пакета рабочей документации пользователя и администратора
системы».
• Финальное тестирование релиза — тестирование, проводимое как последняя стадия разработки релиза,
которое обычно состоит из двух частей:
- alpha-тестирование, проводимое в соответствии с формальными требованиями на тестовой площадке
компании разработчика;
- beta-тестирование, завершающая стадия тестирования, возникающая при использовании релиза в
«реальном мире» на площадке компании заказчика.
1.4. Документирование
В процессе разработки и проведения тестовых примеров обязательным является их документирование.
Документация должна в любой момент времени давать следующую информацию:
EDISON. Центр разработки программного обеспечения
+7 (499) 500-14-94
http://www.edsd.ru
site@edsd.ru
6
• полный список тестов;
• задание на тестирование каждого компонента;
• список тестов по каждому компоненту;
• каждый пример должен быть хорошо комментирован;
• хронологический архив результатов тестирования.
2. ЦИКЛ ТЕСТИРОВАНИЯ
В данной главе описан процесс тестирования, который состоит из следующих видов активности в порядке
приоритета: срочная внеплановая активность, тестирование релиза, ежедневная плановая активность, разработка
новых тестов, полугодичная активность.
2.1. Срочная активность
Заключается в выполнении тестировщиком срочных поручений менеджера проекта, большая часть из которых
является критическими и блокирует ход разработки.
В данный вид активности также включается проведение верификации критических ошибок и доработок.
Тестировщику следует внимательно подходить к верификации, внесение изменений оказывает влияние на другие
участки кода и может вносить дополнительные ошибки. Необходимо тщательно проверять предполагаемые
зависимые участки кода таким образом, чтобы верификация приближалась к регрессивному тестированию по
каждому инциденту.
Менеджерам следует понимать, что большое количество срочности срывает выполнение плановых работ и ведет к
уменьшению тестирования. Для этого необходимо планировать загрузку и увеличивать ритмичность работы
тестирования.
2.2. Тестирование релиза
Данная процедура носит временный характер, стартуя в момент начала финального тестирования и заканчиваясь
после принятия релиза. Обычно целью тестирования релиза является сдача продукта с определенными
характеристиками к определенному сроку.
Обязательным атрибутом данного вида тестирования является проверка обеспечения функциональных
характеристик продукта в соответствии со спецификацией требований. Для этого проводится тщательный анализ
спецификаций требований к системе в целом и к каждому компоненту.
Важным является определение отличий текущего релиза от предыдущего и проведение по этим отличиям
регрессивного тестирования.
Тестировщик разрабатывает инсталляционный пакет.
В процессе тестирования релиза удостоверяется успешное прохождение предыдущего ежедневного
автоматического теста, выполняется функциональное alpha- и beta-тестирование, производится тестирование
инсталляции и документации, проводятся дополнительные ручные тесты. Также осуществляется консультирование
заказчика по вопросам переноса и внедрения системы.
В процессе тестирования релиза тестировщик открывает новые срочные инциденты.
2.3. Ежедневная активность
Ежедневная активность тестирования заключается в проведении запланированных автоматических тестов на
тестовом стенде.
Каждую ночь производится попытка осуществить сборку системы из исходного кода. Таким образом выполняется
операция «дымового» тестирования. В случае успеха осуществляется автоматический проход запланированных
тестов во всех запланированных конфигурациях. В результате формируется отчет, который рассылается всех
заинтересованным лицам. Сбой дымового тестирования является критической ошибкой и подлежит немедленному
анализу.
В данный вид активности также включается проведение верификации некритичных ошибок и доработок в
соответствии. На каждый открытый инцидент желательно написать тесты, проверяющие его. Повторно
возникающие инциденты должны повлечь за собой разработку дополнительных тестов.
Тестировщик контролирует ход тестирования и получает ежедневный отчет о ходе тестирования. Он управляет
включением тестов, настраивает тестовый стенд, конфигурирует необходимые окружения для проведения тестов.
Тестировщик постоянно анализирует спецификацию требований к системе, технические задания и регулярно
EDISON. Центр разработки программного обеспечения
+7 (499) 500-14-94
http://www.edsd.ru
site@edsd.ru
7
выдает рекомендации по улучшению тестирования, а также сообщает разработчикам о расхождениях
функциональности описанной в задании и реальных характеристик системы, если таковые появляются.
Тестировщик осуществляет также дополнительные ручные тесты, которые необходимы. Действия, повторенные
более чем три раза, нуждаются в последующей автоматизации.
Задачей ежедневной активности тестирования является также постоянная автоматизация тестирования.
В процессе усовершенствования системы некоторые контрольные примеры могут перестать выполняться успешно,
например, при изменении пользовательского интерфейса. Поэтому ежедневной задачей тестирования является
анализ причин неудач, обновление и исправление контрольных примеров.
В процессе тестирования тестировщик открывает новые инциденты по результатам тестирования, назначая их
разработчикам.
2.4. Разработка новых тестов
Разработку новых тестовых блоков выполняет разработчик в процессе создания и доработки системы. По
завершении разработки блока тестировщик включает его проход в планировщик задач автоматического
тестирования.
Тестировщик, при наличии времени, также может принимать участие в разработке тестов как разработчик.
Тестировщик может принимать участие в первоначальной разработке базового набора модульных тестов, а также
дополнять список тестов в процессе анализа и улучшения тестирования.
Обычно ответственность за разработку автоматических тестов распределяется следующим образом:
Планировщик автоматического тестирования Тестировщик, разработчик
Дымовое тестирование Тестировщик
Модульное тестирование Разработчик
Интеграционное тестирование Разработчик
Сквозное тестирование Разработчик
Нагрузочное тестирование Разработчик, тестировщик
Тестирование конфигурации Тестировщик
Тестирование базы данных Разработчик, тестировщик
Тестирование безопасности Разработчик, тестировщик
Тестирование интерфейса Тестировщик, разработчик
2.5. Полугодичная активность
Производится один раз в полгода по запросу менеджера или после сдачи очередного релиза. В результате
формируется отчет о текущем положении дел с предложениями по улучшению. Данная активность включает в
себя проведение:
Инспекция и критический просмотр кода Руководитель, проектировщик, главный программист
Тестирование удобства использования интерфейса Тестировщик
Анализ качества исходного кода Тестировщик
Анализ покрытия тестами кода Тестировщик
3. ТЕСТОВЫЙ СТЕНД
3.1. Планировщик задач автоматизированного тестирования
Необходимо разработать программное обеспечение на любом из скриптовых языков, которое позволит
тестировщику конструировать и проигрывать необходимые тестовые последовательности в заданное время.
Данное программное обеспечение осуществляет ежедневную сборку, дымовое тестирование и автоматически
запускает установленные блоки тестирования. Необходимо обеспечить поддержку управления несколькими
компьютерами и различными виртуальными машинами из данного планировщика.
Планировщик обеспечивает интерфейс для формирования отчетов по результатам тестирования. Данные отчета
представляют собой пронумерованный и разделенный список результатов пройденных контрольных примеров. В
EDISON. Центр разработки программного обеспечения
+7 (499) 500-14-94
http://www.edsd.ru
site@edsd.ru
8
случае ошибки теста ее текст также сохраняется в отчет. Результатом является успех или код ошибки.
Минимальным заданием является блок тестов. Блок тестов реализуется как отдельный исполняемый файл,
который может содержать модульные, интеграционные, нагрузочные и т.п. тесты.
Необходимо разработать шаблон такого файла. Данный шаблон должен предоставлять функции записи
результатов тестирования для планировщика. Необходимо разработать механизм интеграции средства
автоматизированного тестирования GUI для проведения тестирования интерфейса пользовательских приложений.
После завершения всего тестирования производится автоматическая экспертная оценка по проведенному
тестированию. Отчет анализируется, и формулируется общее заключение. Помимо этого планировщик
предоставляет возможность проведения экспертного анализа. Производится расчет общего процента успехов при
выполнении тестов.
Планировщик осуществляет слежение за запусками, формирует лог запусков и сохраняет результаты каждого
прохода в отдельной папке.
Обработанный отчет высылается по электронной почте списку заинтересованных лиц. Этот список можно
конфигурировать.
3.2. Конфигурации оборудования
Для работы системы требуется следующие тестовые конфигурации серверов и клиентских ПК. Для исполнения
тестовых процедур необходим тестовый стенд, состоящий из двух серверов конфигурации №1, одного сервера
конфигурации №2, по одному ПК конфигураций №2 и №3.
Конфигурация №1 (Сервер):
Конфигурация №2 (Клиент):
Конфигурация №3 (Удаленный клиент — минимальная):
3.3. Конфигурации и расположение данных
Система тестируется в единственном окружении, которое используется у заказчика:
• Сервер SRV1 с установленным массивом данных. IP = x. В тестовом массиве документов 30 шт.
Конфигурация сервера следующая: x.
• Сервер SRV2 с установленным сервером приложений. IP = x. PDFServer установлен в папку x.
Конфигурация следующая: х.
• Клиентский ПК CLI3 с установленными клиентским и административным интерфейсами в папках х.
• Сервер SRV1 подключен к серверу SRV2 напрямую через сетевой интерфейс 1 Gbps.
• ПК CLI3 подключен к SRV2 через свитч 100 Mbps и другой сетевой интерфейс 100 Mbps.
• На сервере SRV2 и клиентском ПК CLI3 запускаются клиентские и административные интерфейсы.
• На сервере SRV2 установлена база данных SQL Server в папке х, имя instance х. Настройки ODBC: х.
• Встроенные брандмауэры отключены.
3.4. Тестируемые компоненты
На основе данного плана формулируются задания на тестирование конкретных модулей в качестве Приложений к
Плану тестирования. Далее идет общий список компонентов:
EDISON. Центр разработки программного обеспечения
+7 (499) 500-14-94
http://www.edsd.ru
site@edsd.ru
9
Все тестовые процедуры проводятся на тестовом стенде, компоненты системы тестируются на следующих
конфигурациях:
1 №1, №2
2 №1, №2
3 №1, №2
4 №1, №2
5 №1, №2, №3
6 №1, №2, №3
7 №1, №2
8 №1, №2
9 №1, №2
10 №1
11 №1, №2, №3
12 №1, №2, №3
13 №1, №2, №3
15 №1, №2, №3

More Related Content

What's hot

Information architecture
Information architectureInformation architecture
Information architecture
Dr. V Vorvoreanu
 
Soa testing soap ui (2)
Soa testing   soap ui (2)Soa testing   soap ui (2)
Soa testing soap ui (2)
Knoldus Inc.
 
Headless CMS – the foundation of modern SEO
Headless CMS – the foundation of modern SEOHeadless CMS – the foundation of modern SEO
Headless CMS – the foundation of modern SEO
Cory Schmidt
 
Presentation for soap ui
Presentation for soap uiPresentation for soap ui
Presentation for soap ui
Anjali Rao
 
Test Automation and Selenium
Test Automation and SeleniumTest Automation and Selenium
Test Automation and Selenium
Karapet Sarkisyan
 
Including Everyone: Web Accessibility 101
Including Everyone: Web Accessibility 101Including Everyone: Web Accessibility 101
Including Everyone: Web Accessibility 101
Helena Zubkow
 
Web Services and Introduction of SOAPUI
Web Services and Introduction of SOAPUIWeb Services and Introduction of SOAPUI
Web Services and Introduction of SOAPUI
Dinesh Kaushik
 
Designing and building Mule applications
Designing and building Mule applicationsDesigning and building Mule applications
Designing and building Mule applications
MuleSoft
 
Cypress - Best Practices
Cypress - Best PracticesCypress - Best Practices
Cypress - Best Practices
Brian Mann
 
DevOps 시대가 요구하는 품질확보 방법
DevOps 시대가 요구하는 품질확보 방법 DevOps 시대가 요구하는 품질확보 방법
DevOps 시대가 요구하는 품질확보 방법
YoungSu Son
 
Web accessibility testing 4 - NVDA screen reader
Web accessibility testing 4 - NVDA screen readerWeb accessibility testing 4 - NVDA screen reader
Web accessibility testing 4 - NVDA screen reader
John McNabb
 
Test Automation With Cucumber JVM, Selenium, and Mocha
Test Automation With Cucumber JVM, Selenium, and MochaTest Automation With Cucumber JVM, Selenium, and Mocha
Test Automation With Cucumber JVM, Selenium, and Mocha
Salesforce Developers
 
Introduction to Selenium | Selenium Tutorial for Beginners | Selenium Trainin...
Introduction to Selenium | Selenium Tutorial for Beginners | Selenium Trainin...Introduction to Selenium | Selenium Tutorial for Beginners | Selenium Trainin...
Introduction to Selenium | Selenium Tutorial for Beginners | Selenium Trainin...
Edureka!
 
An overview of selenium webdriver
An overview of selenium webdriverAn overview of selenium webdriver
An overview of selenium webdriver
Anuraj S.L
 
An Oracle ADF Introduction
An Oracle ADF IntroductionAn Oracle ADF Introduction
An Oracle ADF Introduction
Jean-Marc Desvaux
 
Accessibility
AccessibilityAccessibility
Accessibility
Elizabeth Chesters
 
WebdriverIO: the Swiss Army Knife of testing
WebdriverIO: the Swiss Army Knife of testingWebdriverIO: the Swiss Army Knife of testing
WebdriverIO: the Swiss Army Knife of testing
Daniel Chivescu
 
Mule esb integration patterns
Mule esb integration patternsMule esb integration patterns
Mule esb integration patterns
D.Rajesh Kumar
 
Introduction to E2E in Cypress
Introduction to E2E in CypressIntroduction to E2E in Cypress
Introduction to E2E in Cypress
Fabio Biondi
 
Mumbai MuleSoft Meetup:Batch Processing, Anypoint Messaging Queue and Custom ...
Mumbai MuleSoft Meetup:Batch Processing, Anypoint Messaging Queue and Custom ...Mumbai MuleSoft Meetup:Batch Processing, Anypoint Messaging Queue and Custom ...
Mumbai MuleSoft Meetup:Batch Processing, Anypoint Messaging Queue and Custom ...
Manish Kumar Yadav
 

What's hot (20)

Information architecture
Information architectureInformation architecture
Information architecture
 
Soa testing soap ui (2)
Soa testing   soap ui (2)Soa testing   soap ui (2)
Soa testing soap ui (2)
 
Headless CMS – the foundation of modern SEO
Headless CMS – the foundation of modern SEOHeadless CMS – the foundation of modern SEO
Headless CMS – the foundation of modern SEO
 
Presentation for soap ui
Presentation for soap uiPresentation for soap ui
Presentation for soap ui
 
Test Automation and Selenium
Test Automation and SeleniumTest Automation and Selenium
Test Automation and Selenium
 
Including Everyone: Web Accessibility 101
Including Everyone: Web Accessibility 101Including Everyone: Web Accessibility 101
Including Everyone: Web Accessibility 101
 
Web Services and Introduction of SOAPUI
Web Services and Introduction of SOAPUIWeb Services and Introduction of SOAPUI
Web Services and Introduction of SOAPUI
 
Designing and building Mule applications
Designing and building Mule applicationsDesigning and building Mule applications
Designing and building Mule applications
 
Cypress - Best Practices
Cypress - Best PracticesCypress - Best Practices
Cypress - Best Practices
 
DevOps 시대가 요구하는 품질확보 방법
DevOps 시대가 요구하는 품질확보 방법 DevOps 시대가 요구하는 품질확보 방법
DevOps 시대가 요구하는 품질확보 방법
 
Web accessibility testing 4 - NVDA screen reader
Web accessibility testing 4 - NVDA screen readerWeb accessibility testing 4 - NVDA screen reader
Web accessibility testing 4 - NVDA screen reader
 
Test Automation With Cucumber JVM, Selenium, and Mocha
Test Automation With Cucumber JVM, Selenium, and MochaTest Automation With Cucumber JVM, Selenium, and Mocha
Test Automation With Cucumber JVM, Selenium, and Mocha
 
Introduction to Selenium | Selenium Tutorial for Beginners | Selenium Trainin...
Introduction to Selenium | Selenium Tutorial for Beginners | Selenium Trainin...Introduction to Selenium | Selenium Tutorial for Beginners | Selenium Trainin...
Introduction to Selenium | Selenium Tutorial for Beginners | Selenium Trainin...
 
An overview of selenium webdriver
An overview of selenium webdriverAn overview of selenium webdriver
An overview of selenium webdriver
 
An Oracle ADF Introduction
An Oracle ADF IntroductionAn Oracle ADF Introduction
An Oracle ADF Introduction
 
Accessibility
AccessibilityAccessibility
Accessibility
 
WebdriverIO: the Swiss Army Knife of testing
WebdriverIO: the Swiss Army Knife of testingWebdriverIO: the Swiss Army Knife of testing
WebdriverIO: the Swiss Army Knife of testing
 
Mule esb integration patterns
Mule esb integration patternsMule esb integration patterns
Mule esb integration patterns
 
Introduction to E2E in Cypress
Introduction to E2E in CypressIntroduction to E2E in Cypress
Introduction to E2E in Cypress
 
Mumbai MuleSoft Meetup:Batch Processing, Anypoint Messaging Queue and Custom ...
Mumbai MuleSoft Meetup:Batch Processing, Anypoint Messaging Queue and Custom ...Mumbai MuleSoft Meetup:Batch Processing, Anypoint Messaging Queue and Custom ...
Mumbai MuleSoft Meetup:Batch Processing, Anypoint Messaging Queue and Custom ...
 

Viewers also liked

В чем проблема?
В чем проблема?В чем проблема?
В чем проблема?
SQALab
 
Мелочь пузатая или Объем тест кейса против его содержательности
Мелочь пузатая или Объем тест кейса против его содержательностиМелочь пузатая или Объем тест кейса против его содержательности
Мелочь пузатая или Объем тест кейса против его содержательности
Alexei Lupan
 
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...
SQALab
 
План тестирования сайта
План тестирования сайтаПлан тестирования сайта
План тестирования сайта
EDISON Software Development Centre
 
Чек-лист по юзабилити сайта
Чек-лист по юзабилити сайтаЧек-лист по юзабилити сайта
Чек-лист по юзабилити сайтаPromodo
 
Бизнес-аналитик: синдром полукровки
Бизнес-аналитик: синдром полукровкиБизнес-аналитик: синдром полукровки
Бизнес-аналитик: синдром полукровки
SQALab
 
Автоматизация рутинных задач контекстной рекламы
Автоматизация рутинных задач контекстной рекламыАвтоматизация рутинных задач контекстной рекламы
Автоматизация рутинных задач контекстной рекламы
Promodo
 
Место аналитика: выбираем для себя
Место аналитика: выбираем для себяМесто аналитика: выбираем для себя
Место аналитика: выбираем для себя
SQALab
 
Мы несем потери! Бригада разработчиков выехала!
Мы несем потери! Бригада разработчиков выехала!Мы несем потери! Бригада разработчиков выехала!
Мы несем потери! Бригада разработчиков выехала!
SQALab
 

Viewers also liked (9)

В чем проблема?
В чем проблема?В чем проблема?
В чем проблема?
 
Мелочь пузатая или Объем тест кейса против его содержательности
Мелочь пузатая или Объем тест кейса против его содержательностиМелочь пузатая или Объем тест кейса против его содержательности
Мелочь пузатая или Объем тест кейса против его содержательности
 
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...
 
План тестирования сайта
План тестирования сайтаПлан тестирования сайта
План тестирования сайта
 
Чек-лист по юзабилити сайта
Чек-лист по юзабилити сайтаЧек-лист по юзабилити сайта
Чек-лист по юзабилити сайта
 
Бизнес-аналитик: синдром полукровки
Бизнес-аналитик: синдром полукровкиБизнес-аналитик: синдром полукровки
Бизнес-аналитик: синдром полукровки
 
Автоматизация рутинных задач контекстной рекламы
Автоматизация рутинных задач контекстной рекламыАвтоматизация рутинных задач контекстной рекламы
Автоматизация рутинных задач контекстной рекламы
 
Место аналитика: выбираем для себя
Место аналитика: выбираем для себяМесто аналитика: выбираем для себя
Место аналитика: выбираем для себя
 
Мы несем потери! Бригада разработчиков выехала!
Мы несем потери! Бригада разработчиков выехала!Мы несем потери! Бригада разработчиков выехала!
Мы несем потери! Бригада разработчиков выехала!
 

Similar to План тестирования

Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Technopark
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
Dima Denisenko
 
Сергей Ревко
Сергей РевкоСергей Ревко
Сергей Ревко
SQALab
 
Тестирование ПО
Тестирование ПОТестирование ПО
Тестирование ПОseleznev_stas
 
ук 03.007.02 2011
ук 03.007.02 2011ук 03.007.02 2011
ук 03.007.02 2011etyumentcev
 
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Tech Talks @NSU
 
Tdd Workbook
Tdd WorkbookTdd Workbook
Tdd Workbook
Evgeniy Krivosheev
 
Mva stf module 1 - rus
Mva stf module 1 - rusMva stf module 1 - rus
Mva stf module 1 - rus
Maxim Shaptala
 
IntroductionPrinciples
IntroductionPrinciplesIntroductionPrinciples
IntroductionPrinciplesQA Guards
 
Mva stf module 2 - rus
Mva stf module 2 - rusMva stf module 2 - rus
Mva stf module 2 - rus
Maxim Shaptala
 
Test plan Толстова Ольга
Test plan Толстова ОльгаTest plan Толстова Ольга
Test plan Толстова Ольга
Smart-on-line
 
Solit 2013, Эволюция тестирования на Selenium, Мычко Алексей
Solit 2013, Эволюция тестирования на Selenium, Мычко АлексейSolit 2013, Эволюция тестирования на Selenium, Мычко Алексей
Solit 2013, Эволюция тестирования на Selenium, Мычко Алексей
solit
 
Организация тестового набора при автоматизированном функциональном тестировании
Организация тестового набора при автоматизированном функциональном тестированииОрганизация тестового набора при автоматизированном функциональном тестировании
Организация тестового набора при автоматизированном функциональном тестировании
SQALab
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-Agile
Kairat Yussupov
 
Фвтоматизированное тестирование с чего начать Part1
Фвтоматизированное тестирование  с чего начать Part1Фвтоматизированное тестирование  с чего начать Part1
Фвтоматизированное тестирование с чего начать Part1DataArt
 
Обеспечение качества: Практические советы
Обеспечение качества: Практические советыОбеспечение качества: Практические советы
Обеспечение качества: Практические советы
SQALab
 
Simonova CSEDays
Simonova CSEDaysSimonova CSEDays
Simonova CSEDaysLiloSEA
 
Katerina Simonova CSEDays
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDaysLiloSEA
 

Similar to План тестирования (20)

Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
Сергей Ревко
Сергей РевкоСергей Ревко
Сергей Ревко
 
Тестирование ПО
Тестирование ПОТестирование ПО
Тестирование ПО
 
ук 03.007.02 2011
ук 03.007.02 2011ук 03.007.02 2011
ук 03.007.02 2011
 
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
 
Tdd Workbook
Tdd WorkbookTdd Workbook
Tdd Workbook
 
Mva stf module 1 - rus
Mva stf module 1 - rusMva stf module 1 - rus
Mva stf module 1 - rus
 
IntroductionPrinciples
IntroductionPrinciplesIntroductionPrinciples
IntroductionPrinciples
 
Mva stf module 2 - rus
Mva stf module 2 - rusMva stf module 2 - rus
Mva stf module 2 - rus
 
Simonova sql server-enginetesting
Simonova sql server-enginetestingSimonova sql server-enginetesting
Simonova sql server-enginetesting
 
Test plan Толстова Ольга
Test plan Толстова ОльгаTest plan Толстова Ольга
Test plan Толстова Ольга
 
Solit 2013, Эволюция тестирования на Selenium, Мычко Алексей
Solit 2013, Эволюция тестирования на Selenium, Мычко АлексейSolit 2013, Эволюция тестирования на Selenium, Мычко Алексей
Solit 2013, Эволюция тестирования на Selenium, Мычко Алексей
 
Test levels
Test levelsTest levels
Test levels
 
Организация тестового набора при автоматизированном функциональном тестировании
Организация тестового набора при автоматизированном функциональном тестированииОрганизация тестового набора при автоматизированном функциональном тестировании
Организация тестового набора при автоматизированном функциональном тестировании
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-Agile
 
Фвтоматизированное тестирование с чего начать Part1
Фвтоматизированное тестирование  с чего начать Part1Фвтоматизированное тестирование  с чего начать Part1
Фвтоматизированное тестирование с чего начать Part1
 
Обеспечение качества: Практические советы
Обеспечение качества: Практические советыОбеспечение качества: Практические советы
Обеспечение качества: Практические советы
 
Simonova CSEDays
Simonova CSEDaysSimonova CSEDays
Simonova CSEDays
 
Katerina Simonova CSEDays
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDays
 

More from EDISON Software Development Centre

Сеть электронных бибилиотек Vivaldi (ЭБС) с аннотацией
Сеть электронных бибилиотек Vivaldi (ЭБС) с аннотациейСеть электронных бибилиотек Vivaldi (ЭБС) с аннотацией
Сеть электронных бибилиотек Vivaldi (ЭБС) с аннотацией
EDISON Software Development Centre
 
Техническое задание на разработку портала автоматизированной системы экологич...
Техническое задание на разработку портала автоматизированной системы экологич...Техническое задание на разработку портала автоматизированной системы экологич...
Техническое задание на разработку портала автоматизированной системы экологич...
EDISON Software Development Centre
 
Техническое задание на платформу безопасности Protector
Техническое задание на платформу безопасности ProtectorТехническое задание на платформу безопасности Protector
Техническое задание на платформу безопасности Protector
EDISON Software Development Centre
 
Модуль база данных, настройки, уведомления
Модуль база данных, настройки, уведомленияМодуль база данных, настройки, уведомления
Модуль база данных, настройки, уведомления
EDISON Software Development Centre
 
Модуль конфигурации
Модуль конфигурацииМодуль конфигурации
Модуль конфигурации
EDISON Software Development Centre
 
Главное окно
Главное окноГлавное окно
Главное окно
EDISON Software Development Centre
 
Modern wars — инвестиционный проект
Modern wars — инвестиционный проектModern wars — инвестиционный проект
Modern wars — инвестиционный проект
EDISON Software Development Centre
 
В дороге
В дорогеВ дороге
Вестник МЧС
Вестник МЧСВестник МЧС
Вестник МЧС
EDISON Software Development Centre
 
Требования к оформлению исходных текстов программного обеспечения
Требования к оформлению исходных текстов программного обеспеченияТребования к оформлению исходных текстов программного обеспечения
Требования к оформлению исходных текстов программного обеспечения
EDISON Software Development Centre
 
ТЗ на SMPP шлюз
ТЗ на SMPP шлюзТЗ на SMPP шлюз
ТЗ на SMPP шлюз
EDISON Software Development Centre
 
Техническое задание на портал
Техническое задание на порталТехническое задание на портал
Техническое задание на портал
EDISON Software Development Centre
 
Техническое задание на портал МЦПП города Калтан
Техническое задание на портал МЦПП города КалтанТехническое задание на портал МЦПП города Калтан
Техническое задание на портал МЦПП города Калтан
EDISON Software Development Centre
 
Cценарии использования
Cценарии использованияCценарии использования
Cценарии использования
EDISON Software Development Centre
 
План тестирования сайта на мобильных устройствах
План тестирования сайта на мобильных устройствахПлан тестирования сайта на мобильных устройствах
План тестирования сайта на мобильных устройствах
EDISON Software Development Centre
 
Описание технологии защиты данных
Описание технологии защиты данныхОписание технологии защиты данных
Описание технологии защиты данных
EDISON Software Development Centre
 
Mobile application flow chart
Mobile application flow chartMobile application flow chart
Mobile application flow chart
EDISON Software Development Centre
 
Бриф на логотип и сайт ЭлектроОфис
Бриф на логотип и сайт ЭлектроОфисБриф на логотип и сайт ЭлектроОфис
Бриф на логотип и сайт ЭлектроОфис
EDISON Software Development Centre
 

More from EDISON Software Development Centre (20)

БиблиоКербер
БиблиоКерберБиблиоКербер
БиблиоКербер
 
Сеть электронных бибилиотек Vivaldi (ЭБС) с аннотацией
Сеть электронных бибилиотек Vivaldi (ЭБС) с аннотациейСеть электронных бибилиотек Vivaldi (ЭБС) с аннотацией
Сеть электронных бибилиотек Vivaldi (ЭБС) с аннотацией
 
Техническое задание на разработку портала автоматизированной системы экологич...
Техническое задание на разработку портала автоматизированной системы экологич...Техническое задание на разработку портала автоматизированной системы экологич...
Техническое задание на разработку портала автоматизированной системы экологич...
 
Техническое задание на платформу безопасности Protector
Техническое задание на платформу безопасности ProtectorТехническое задание на платформу безопасности Protector
Техническое задание на платформу безопасности Protector
 
Модуль журналирования
Модуль журналированияМодуль журналирования
Модуль журналирования
 
Модуль база данных, настройки, уведомления
Модуль база данных, настройки, уведомленияМодуль база данных, настройки, уведомления
Модуль база данных, настройки, уведомления
 
Модуль конфигурации
Модуль конфигурацииМодуль конфигурации
Модуль конфигурации
 
Главное окно
Главное окноГлавное окно
Главное окно
 
Modern wars — инвестиционный проект
Modern wars — инвестиционный проектModern wars — инвестиционный проект
Modern wars — инвестиционный проект
 
В дороге
В дорогеВ дороге
В дороге
 
Вестник МЧС
Вестник МЧСВестник МЧС
Вестник МЧС
 
Требования к оформлению исходных текстов программного обеспечения
Требования к оформлению исходных текстов программного обеспеченияТребования к оформлению исходных текстов программного обеспечения
Требования к оформлению исходных текстов программного обеспечения
 
ТЗ на SMPP шлюз
ТЗ на SMPP шлюзТЗ на SMPP шлюз
ТЗ на SMPP шлюз
 
Техническое задание на портал
Техническое задание на порталТехническое задание на портал
Техническое задание на портал
 
Техническое задание на портал МЦПП города Калтан
Техническое задание на портал МЦПП города КалтанТехническое задание на портал МЦПП города Калтан
Техническое задание на портал МЦПП города Калтан
 
Cценарии использования
Cценарии использованияCценарии использования
Cценарии использования
 
План тестирования сайта на мобильных устройствах
План тестирования сайта на мобильных устройствахПлан тестирования сайта на мобильных устройствах
План тестирования сайта на мобильных устройствах
 
Описание технологии защиты данных
Описание технологии защиты данныхОписание технологии защиты данных
Описание технологии защиты данных
 
Mobile application flow chart
Mobile application flow chartMobile application flow chart
Mobile application flow chart
 
Бриф на логотип и сайт ЭлектроОфис
Бриф на логотип и сайт ЭлектроОфисБриф на логотип и сайт ЭлектроОфис
Бриф на логотип и сайт ЭлектроОфис
 

План тестирования

  • 1. EDISON. Центр разработки программного обеспечения +7 (499) 500-14-94 http://www.edsd.ru site@edsd.ru 1 ПЛАН ТЕСТИРОВАНИЯ КЛИЕНТ-СЕРВЕРНОЙ СИСТЕМЫ
  • 2. EDISON. Центр разработки программного обеспечения +7 (499) 500-14-94 http://www.edsd.ru site@edsd.ru 2 ОГЛАВЛЕНИЕ 1. ВВЕДЕНИЕ.................................................................................................................................................................................... 3 1.1. Цели тестирования........................................................................................................................................................... 3 1.2. Стратегии тестирования.................................................................................................................................................. 3 1.3. Виды тестирования.......................................................................................................................................................... 3 1.4. Документирование........................................................................................................................................................... 5 2. ЦИКЛ ТЕСТИРОВАНИЯ............................................................................................................................................................. 6 2.1. Срочная активность......................................................................................................................................................... 6 2.2. Тестирование релиза........................................................................................................................................................ 6 2.3. Ежедневная активность................................................................................................................................................... 6 2.4. Разработка новых тестов................................................................................................................................................. 7 2.5. Полугодичная активность............................................................................................................................................... 7 3. ТЕСТОВЫЙ СТЕНД..................................................................................................................................................................... 7 3.1. Планировщик задач автоматизированного тестирования............................................................................................ 7 3.2. Конфигурации оборудования ......................................................................................................................................... 8 3.3. Конфигурации и расположение данных ........................................................................................................................ 8 3.4. Тестируемые компоненты............................................................................................................................................... 8
  • 3. EDISON. Центр разработки программного обеспечения +7 (499) 500-14-94 http://www.edsd.ru site@edsd.ru 3 1. ВВЕДЕНИЕ В настоящем плане тестирования описаны и определены стратегия и принципы тестирования, применяемые при тестировании системы удаленного доступа. План будут использовать исполнители работ для получения представления о тестировании на проекте. Документ определяет распределение обязанностей при тестировании и описывает тесты, намеченные к выполнению. План тестирования разработан для решения следующих задач. • Спланировать управление тестированием и техническую поддержку тестирования в ходе всего жизненного цикла разработки системы. • Определить исчерпывающий план тестирования, который описывает природу и рамки тестирования, достаточные для достижения целей и решения задач тестирования в проекте. 1.1. Цели тестирования Основными целями тестирования являются: • обеспечение выполнения всех системных требований и критериев, установленных к программному продукту; • повышение вероятности того, что приложение при любых обстоятельствах будет функционировать надлежащим образом и соответствовать установленным требованиям за счет обнаружения максимально возможного числа дефектов; • обеспечение работоспособности каждого разрабатываемого модуля согласно спецификации требований к данному модулю; • обеспечение работоспособности всей системы в целом согласно спецификации требований к системе; • обеспечение отказоустойчивости системы и каждого отдельного модуля; • обеспечение установленных параметров производительности; • обеспечение нормального качества исходных материалов и исходных кодов; • оперативное информирование заинтересованных лиц об уровне качества регулярных сборок; • обеспечение пользователя наиболее удобным графическим интерфейсом. 1.2. Стратегии тестирования Основными задачами тестирования являются: • проведение функционального тестирования каждого модуля и компонента системы для обеспечения его соответствия функциональным требованиям; • проведение комплексного тестирования для обеспечения взаимодействия модулей и компонентов друг с другом согласно требованиям к системе; • определение и максимальное увеличение производительности системы и каждого отдельного модуля; • проведение нагрузочного тестирования для обеспечения отказоустойчивости системы и каждого отдельного модуля; • максимальная автоматизация процесса тестирования; • разработка достаточного набора контрольных примеров для тестирования новых модулей и компонентов; • своевременная разработка контрольных примеров для покрытия устраняемых ошибок; • увеличение покрытия кода тестовыми примерами; • тестирование удобства применения модулей, имеющих графический интерфейс. 1.3. Виды тестирования Для решения указанных выше задач тестирования будут использоваться следующие виды тестирования. Тестирование — процесс многогранный, и указанные ниже виды могут пересекаться. Конкретный список видов тестирования для каждого модуля приводится в задании на тестирование. • Анализ спецификаций требований к каждому модулю и компоненту — подготовка и определение параметров тестирования каждого отдельного компонента системы. • Анализ спецификаций требований к системе — подготовка и определение параметров тестирования всей системы в целом. • Ручное тестирование — выполнение тестировщиком прохода тестового цикла вручную, с последующей
  • 4. EDISON. Центр разработки программного обеспечения +7 (499) 500-14-94 http://www.edsd.ru site@edsd.ru 4 ручной фиксацией результатов по каждому тесту в отчете. • Автоматизированное тестирование — автоматический проход тестового цикла, с последующим автоматическим уведомлением заинтересованных лиц о результатах. • Смешанное тестирование — вариант объединения ручного и автоматизированного тестирования. Наиболее часто используется в практике. • Дымовое тестирование — простейший вид тестирования, основанный на определении успешности сборки системы из ветви исходного кода, находящейся в разработке. Обычно проводится один раз в день. • Ежедневное тестирование — часть тестового цикла, обязательная к проходу каждый день. • Модульное тестирование — самый важный вид тестирования, основанный на проверке работоспособности функций, методов и свойств в условиях их нормального и ошибочного исполнения. Это тестирование проводится на уровне исходного кода каждого существующего класса. Что нужно тестировать на данном этапе: - класс правильно объявлен; - структура класса соответствует спецификации требований; - класс имеет достаточную функциональность; - класс совместим со средствами автоматической обработки кода (построение автодокументации, анализ покрытия, качества кода и т.п.); - некорректное функционирование и ошибочные ситуации корректно обрабатываются; - класс совместим со связанными классами в рамках используемого наследования, полиморфизма, процедур вызова и т.п.; - время выполнения, частота выполнения, нагрузка на ресурсы соответствуют требованиям; - класс не содержит утечек памяти и других ресурсов. В идеале необходимо покрыть тестами каждую строку исходного кода. Когда продукт находится на ранней стадии разработки — исправление ошибок обходится гораздо дешевле. По мере продвижения разработки выявление и исправление ошибок становится все более и более затратным. В большинстве случаев предоставление модульных тестов является ответственностью разработчика, их создание производится в момент разработки класса. • Интеграционное тестирование — после разработки тестов на отдельные классы необходимо проверить, как они будут работать вместе в рамках одного исполняемого процесса. Необходимо проверить, как соотносятся классы, разработанные по-разному разными разработчиками. Данный вид тестирования базируется на предыдущем и также производится на уровне исходного кода. Обычно тестовые примеры строятся на основе вызова одного компонента из другого. • Сквозное тестирование — проверяет работоспособность компонентов системы на уровне взаимодействия нескольких отдельных исполняемых процессов. На данном этапе тестируется функционирование клиент- серверных систем, их взаимодействие внутри и с внешними компонентами. Обычно сквозные тесты содержатся во внешнем по отношению к системе процессе, который делает тестирующие запросы. Так проверяются функции макроуровня, надежность, производительность, координация. • Функциональное тестирование — рассматривает продукт, состоящий из множества классов, процессов, компонентов, данных как единое целое. На этом этапе проверяется в целом его работоспособность, функциональные и технические характеристики, а также бизнес-логика. Такая проверка может осуществляться в нескольких конфигурациях окружения оборудования и наборов данных. • Тестирование интерфейса — проверка клиентских и административных интерфейсов пользователя на возможность выполнения с их помощью сценариев использования. Сценарий использования представляет собой последовательность действий пользователя, которые имитируют его активность при работе с интерфейсами системы. Сценарий использования должен покрывать спецификацию требований к пользовательскому интерфейсу. Такое тестирование производится в автоматическом режиме с помощью специализированных утилит. Тестирование должно проверять корректность работы интерфейсной части приложения при любых возможных настройках экрана (различное разрешение, масштаб, шрифт), при изменениях фокуса, при работе с мышью и клавиатурой. • Нагрузочное тестирование — определение и проверка характеристик производительности системы в заданной конфигурации оборудования и набора данных.
  • 5. EDISON. Центр разработки программного обеспечения +7 (499) 500-14-94 http://www.edsd.ru site@edsd.ru 5 • Тестирование базы данных — проверка функционирования внешней базы данных и хранимых процедур в соответствии со спецификацией требований. Проверка политики безопасности доступа к базе в соответствии с ролями системы. Определение и проверка характеристик базы данных, таких как производительность, среднее время доступа, максимальное количество обслуживаемых клиентов, минимальная и максимальная длительность обработки запроса и т.п. • Тестирование безопасности — определение ролей и проверка списка функций системы, доступных для каждой роли. Может осуществляться на уровне интерфейса, на уровне компонента, на уровне базы данных, на уровне модуля и на сетевом уровне. Проводится в соответствии с принятым документом «Политика безопасности». Включает проверку методов шифрования данных при хранении и передаче, отказа доступа к запрещенным функциям, перехвата данных, подделки удостоверения личности, отказа в обслуживании и других атак. • Тестирование удобства использования интерфейса — разработка отчета об удобстве использования, быстроте освоения, наглядности пользовательских интерфейсов системы. Данный отчет может содержать предложения по улучшению этих характеристик. • Тестирование конфигурации — проверка работоспособности системы в заданном окружении конфигурации оборудования и набора данных. • Верификация — проверка успешности исправления разработчиком ошибки, проведенная тестировщиком в тестовом окружении. • Регрессивное тестирование — повторное выборочное тестирование продукта с модифицированными частями после исправления ошибки или добавления новой функции. Внесение изменений в исходный код может повлечь цепочку зависимостей и получение новых ошибок во взаимозависимых функциях. Данный вид тестирования минимизирует риск подобного события. • Инспекции и критические просмотры — регулярное или по требованию исследование системы и отдельных ее компонентов с целью: - выявления слабых мест; - определения степени соответствия стандартам и требованиям; - определения тенденций развития; - разработки новых архитектурных решений; - выработки предложений по рефакторингу кода; - улучшения качественных и функциональных характеристик. • Анализ исходного кода — регулярное исследование исходного кода с целью определения степени его соответствия документу «Требования к оформлению исходного кода». Разработка предложений по рефакторингу. • Анализ покрытия тестами кода — автоматическое определение областей кода, не затронутых контрольными тестами, с целью разработки новых тестов для максимизации покрытия. • Тестирование инсталляции — проверка корректной работы инсталляционного пакета, инсталляционных сценариев для копирования, обновления и последующей автоматической настройки работоспособности системы. • Тестирование документации — проверка документации на полноту описания инструкций пользования в соответствии с «Требованиями по разработке пакета рабочей документации пользователя и администратора системы». • Финальное тестирование релиза — тестирование, проводимое как последняя стадия разработки релиза, которое обычно состоит из двух частей: - alpha-тестирование, проводимое в соответствии с формальными требованиями на тестовой площадке компании разработчика; - beta-тестирование, завершающая стадия тестирования, возникающая при использовании релиза в «реальном мире» на площадке компании заказчика. 1.4. Документирование В процессе разработки и проведения тестовых примеров обязательным является их документирование. Документация должна в любой момент времени давать следующую информацию:
  • 6. EDISON. Центр разработки программного обеспечения +7 (499) 500-14-94 http://www.edsd.ru site@edsd.ru 6 • полный список тестов; • задание на тестирование каждого компонента; • список тестов по каждому компоненту; • каждый пример должен быть хорошо комментирован; • хронологический архив результатов тестирования. 2. ЦИКЛ ТЕСТИРОВАНИЯ В данной главе описан процесс тестирования, который состоит из следующих видов активности в порядке приоритета: срочная внеплановая активность, тестирование релиза, ежедневная плановая активность, разработка новых тестов, полугодичная активность. 2.1. Срочная активность Заключается в выполнении тестировщиком срочных поручений менеджера проекта, большая часть из которых является критическими и блокирует ход разработки. В данный вид активности также включается проведение верификации критических ошибок и доработок. Тестировщику следует внимательно подходить к верификации, внесение изменений оказывает влияние на другие участки кода и может вносить дополнительные ошибки. Необходимо тщательно проверять предполагаемые зависимые участки кода таким образом, чтобы верификация приближалась к регрессивному тестированию по каждому инциденту. Менеджерам следует понимать, что большое количество срочности срывает выполнение плановых работ и ведет к уменьшению тестирования. Для этого необходимо планировать загрузку и увеличивать ритмичность работы тестирования. 2.2. Тестирование релиза Данная процедура носит временный характер, стартуя в момент начала финального тестирования и заканчиваясь после принятия релиза. Обычно целью тестирования релиза является сдача продукта с определенными характеристиками к определенному сроку. Обязательным атрибутом данного вида тестирования является проверка обеспечения функциональных характеристик продукта в соответствии со спецификацией требований. Для этого проводится тщательный анализ спецификаций требований к системе в целом и к каждому компоненту. Важным является определение отличий текущего релиза от предыдущего и проведение по этим отличиям регрессивного тестирования. Тестировщик разрабатывает инсталляционный пакет. В процессе тестирования релиза удостоверяется успешное прохождение предыдущего ежедневного автоматического теста, выполняется функциональное alpha- и beta-тестирование, производится тестирование инсталляции и документации, проводятся дополнительные ручные тесты. Также осуществляется консультирование заказчика по вопросам переноса и внедрения системы. В процессе тестирования релиза тестировщик открывает новые срочные инциденты. 2.3. Ежедневная активность Ежедневная активность тестирования заключается в проведении запланированных автоматических тестов на тестовом стенде. Каждую ночь производится попытка осуществить сборку системы из исходного кода. Таким образом выполняется операция «дымового» тестирования. В случае успеха осуществляется автоматический проход запланированных тестов во всех запланированных конфигурациях. В результате формируется отчет, который рассылается всех заинтересованным лицам. Сбой дымового тестирования является критической ошибкой и подлежит немедленному анализу. В данный вид активности также включается проведение верификации некритичных ошибок и доработок в соответствии. На каждый открытый инцидент желательно написать тесты, проверяющие его. Повторно возникающие инциденты должны повлечь за собой разработку дополнительных тестов. Тестировщик контролирует ход тестирования и получает ежедневный отчет о ходе тестирования. Он управляет включением тестов, настраивает тестовый стенд, конфигурирует необходимые окружения для проведения тестов. Тестировщик постоянно анализирует спецификацию требований к системе, технические задания и регулярно
  • 7. EDISON. Центр разработки программного обеспечения +7 (499) 500-14-94 http://www.edsd.ru site@edsd.ru 7 выдает рекомендации по улучшению тестирования, а также сообщает разработчикам о расхождениях функциональности описанной в задании и реальных характеристик системы, если таковые появляются. Тестировщик осуществляет также дополнительные ручные тесты, которые необходимы. Действия, повторенные более чем три раза, нуждаются в последующей автоматизации. Задачей ежедневной активности тестирования является также постоянная автоматизация тестирования. В процессе усовершенствования системы некоторые контрольные примеры могут перестать выполняться успешно, например, при изменении пользовательского интерфейса. Поэтому ежедневной задачей тестирования является анализ причин неудач, обновление и исправление контрольных примеров. В процессе тестирования тестировщик открывает новые инциденты по результатам тестирования, назначая их разработчикам. 2.4. Разработка новых тестов Разработку новых тестовых блоков выполняет разработчик в процессе создания и доработки системы. По завершении разработки блока тестировщик включает его проход в планировщик задач автоматического тестирования. Тестировщик, при наличии времени, также может принимать участие в разработке тестов как разработчик. Тестировщик может принимать участие в первоначальной разработке базового набора модульных тестов, а также дополнять список тестов в процессе анализа и улучшения тестирования. Обычно ответственность за разработку автоматических тестов распределяется следующим образом: Планировщик автоматического тестирования Тестировщик, разработчик Дымовое тестирование Тестировщик Модульное тестирование Разработчик Интеграционное тестирование Разработчик Сквозное тестирование Разработчик Нагрузочное тестирование Разработчик, тестировщик Тестирование конфигурации Тестировщик Тестирование базы данных Разработчик, тестировщик Тестирование безопасности Разработчик, тестировщик Тестирование интерфейса Тестировщик, разработчик 2.5. Полугодичная активность Производится один раз в полгода по запросу менеджера или после сдачи очередного релиза. В результате формируется отчет о текущем положении дел с предложениями по улучшению. Данная активность включает в себя проведение: Инспекция и критический просмотр кода Руководитель, проектировщик, главный программист Тестирование удобства использования интерфейса Тестировщик Анализ качества исходного кода Тестировщик Анализ покрытия тестами кода Тестировщик 3. ТЕСТОВЫЙ СТЕНД 3.1. Планировщик задач автоматизированного тестирования Необходимо разработать программное обеспечение на любом из скриптовых языков, которое позволит тестировщику конструировать и проигрывать необходимые тестовые последовательности в заданное время. Данное программное обеспечение осуществляет ежедневную сборку, дымовое тестирование и автоматически запускает установленные блоки тестирования. Необходимо обеспечить поддержку управления несколькими компьютерами и различными виртуальными машинами из данного планировщика. Планировщик обеспечивает интерфейс для формирования отчетов по результатам тестирования. Данные отчета представляют собой пронумерованный и разделенный список результатов пройденных контрольных примеров. В
  • 8. EDISON. Центр разработки программного обеспечения +7 (499) 500-14-94 http://www.edsd.ru site@edsd.ru 8 случае ошибки теста ее текст также сохраняется в отчет. Результатом является успех или код ошибки. Минимальным заданием является блок тестов. Блок тестов реализуется как отдельный исполняемый файл, который может содержать модульные, интеграционные, нагрузочные и т.п. тесты. Необходимо разработать шаблон такого файла. Данный шаблон должен предоставлять функции записи результатов тестирования для планировщика. Необходимо разработать механизм интеграции средства автоматизированного тестирования GUI для проведения тестирования интерфейса пользовательских приложений. После завершения всего тестирования производится автоматическая экспертная оценка по проведенному тестированию. Отчет анализируется, и формулируется общее заключение. Помимо этого планировщик предоставляет возможность проведения экспертного анализа. Производится расчет общего процента успехов при выполнении тестов. Планировщик осуществляет слежение за запусками, формирует лог запусков и сохраняет результаты каждого прохода в отдельной папке. Обработанный отчет высылается по электронной почте списку заинтересованных лиц. Этот список можно конфигурировать. 3.2. Конфигурации оборудования Для работы системы требуется следующие тестовые конфигурации серверов и клиентских ПК. Для исполнения тестовых процедур необходим тестовый стенд, состоящий из двух серверов конфигурации №1, одного сервера конфигурации №2, по одному ПК конфигураций №2 и №3. Конфигурация №1 (Сервер): Конфигурация №2 (Клиент): Конфигурация №3 (Удаленный клиент — минимальная): 3.3. Конфигурации и расположение данных Система тестируется в единственном окружении, которое используется у заказчика: • Сервер SRV1 с установленным массивом данных. IP = x. В тестовом массиве документов 30 шт. Конфигурация сервера следующая: x. • Сервер SRV2 с установленным сервером приложений. IP = x. PDFServer установлен в папку x. Конфигурация следующая: х. • Клиентский ПК CLI3 с установленными клиентским и административным интерфейсами в папках х. • Сервер SRV1 подключен к серверу SRV2 напрямую через сетевой интерфейс 1 Gbps. • ПК CLI3 подключен к SRV2 через свитч 100 Mbps и другой сетевой интерфейс 100 Mbps. • На сервере SRV2 и клиентском ПК CLI3 запускаются клиентские и административные интерфейсы. • На сервере SRV2 установлена база данных SQL Server в папке х, имя instance х. Настройки ODBC: х. • Встроенные брандмауэры отключены. 3.4. Тестируемые компоненты На основе данного плана формулируются задания на тестирование конкретных модулей в качестве Приложений к Плану тестирования. Далее идет общий список компонентов:
  • 9. EDISON. Центр разработки программного обеспечения +7 (499) 500-14-94 http://www.edsd.ru site@edsd.ru 9 Все тестовые процедуры проводятся на тестовом стенде, компоненты системы тестируются на следующих конфигурациях: 1 №1, №2 2 №1, №2 3 №1, №2 4 №1, №2 5 №1, №2, №3 6 №1, №2, №3 7 №1, №2 8 №1, №2 9 №1, №2 10 №1 11 №1, №2, №3 12 №1, №2, №3 13 №1, №2, №3 15 №1, №2, №3