Загрузил Дмитрий Кириллов

Dissertatsia 2 0

реклама
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ОБРАЗОВАНИЯ «МАГНИТОГОРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ ИМ. Г.И. НОСОВА»
Институт энергетики и автоматизированных
систем
Кафедра бизнес информатики и
информационных технологий
09.04.03 Прикладная
информатика/Корпоративные
информационные системы
Допустить к защите
Заведующий кафедрой
________________/ Г.Н. Чусавитина /
«_____» _____________ 2018 г.
ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА
Обучающегося
Кириллова Дмитрия Викторовича
(фамилия, имя, отчество)
На тему: Разработка методики автоматизированного тестирования веб-систем
(полное наименование темы)
ВКР выполнена на ___ страницах
Графическая часть на __ листах
Руководитель: _____________ к.т.н, доц. кафедры БИиИТ, Рубан К.А
(подпись, должность, ученая степень, ученое звание, Ф.И.О)
Рецензент:
Нормоконтроль и проверка
на антиплагиат выполнены.
Оригинальность
текста________%
______________ / ________ /
(подпись)
Обучающийся________________
(подпись)
«_____» _____________ 2018 г.
(Ф.И.О.)
Магнитогорск, 2018
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ОБРАЗОВАНИЯ «МАГНИТОГОРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ ИМ. Г.И. НОСОВА»
Кафедра бизнес-информатики и
информационных технологий
УТВЕРЖДАЮ:
Заведующий кафедрой
________________
Г.Н. Чусавитина
«_____» ________________ 2017
г.
ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА
ЗАДАНИЕ
Тема:
Разработка методики автоматизированного тестирования веб-систем
Обучающемуся Кириллову Дмитрию Викторовичу
Тема утверждена приказом №_____от________20___г.
Срок выполнения «____»_________________20___г.
Исходные данные к работе:
1.
2.
3.
4.
Учредительные документы ООО «ЦИТ Факт» и ООО «РОНА».
Организационная структура ООО «ЦИТ Факт» и ООО «РОНА».
Описание бизнес процесса тестирования веб-систем ООО «ЦИТ Факт» и ООО «РОНА».
Описание процесса автоматизированного тестирования.
Перечень вопросов, подлежащих разработке в выпускной
квалификационной работе:
1.
Проанализировать технико-экономические характеристики ООО «ЦИТ Факт» и ООО
«РОНА», провести анализ внешней и внутренней среды, выявить места падения производительности.
2.
3.
Изучить и проанализировать существующие методы автоматизации процесса тестирования веб-систем.
Разработать проект по внедрению системы автоматизированного тестирования.
4.
Составить ТЗ на внедрение системы автоматизированного тестирования в компании ООО ЦИТ «ФАКТ».
5.
Составить план-график проекта по внедрению системы автоматизированного тестирования в ООО «ЦИТ Факт»
Составить план сопровождения системы автоматизированного тестирования для ООО
«ЦИТ Факт».
Рассчитать затраты на проект по внедрению системы автоматизированного тестирования
для ООО «ЦИТ Факт»
6.
7.
Графическая часть:
1.
2.
3.
4.
Схемы организационной структуры компаний.
Модель AS-IS процесса тестирования.
Модель TO BE процесса тестирования.
Презентация к докладу.
Консультанты по работе: руководитель проектной деятельности ООО
«РОНА» Ю.А. Артемьев.
Руководитель
___________
00.00.17
Задание получил
___________
00.00.17
к.т.н, доц. кафедры БИиИТ, Рубан
К.А
Д.В. Кириллов, группа АПИм-16
ОТЗЫВ
На выпускную квалификационную работу
выполненную обучающимся группы АПИм-16
Кирилловым Дмитрием Викторовичем
на тему «Разработка методики автоматизированного тестирования веб-систем
для ООО «ЦИТ Факт» и ООО «РОНА».
Текст отзыва
Замечания
Руководитель выпускной квалификационной работы
к.т.н, доц. кафедры БИиИТ. Рубан К.А
4
РЕФЕРАТ
Выпускная квалификационная работа 60 с., 10 рис., 7 табл., 45 источников.
САЙТ, МОДЕРНИЗАЦИЯ, КОНТЕНТ, …
Объектом исследования является деятельность ООО «РОНА».
Цель работы – разработать проект модернизации сайта для ООО «Урал»».
Текст реферата должен включать актуальность работы, задачи и как
решались задачи ВКР.
5
ВЕДЕНИЕ................................................................................................................. 7
1. Анализ систем автоматизированного тестирования веб систем .................. 10
1.1.
Анализ
существующих
методик
и
средств
автоматизированного
тестирования .......................................................................................................... 10
1.2 Анализ существующей модели тестирования в компании по разработке вебсистем ..................................................................................................................... 18
1.3 Формирование требований к методике автоматизированного тестирования.
................................................................................................................................. 23
Выводы по разделу 1 ............................................................................................. 25
2. Адаптирование методики по автоматизации тестирования .......................... 27
2.1.
Алаптирование
методики
автоматизированного
тестирования
для
повышения качества итогового продукта ........................................................... 27
2.2. Анализ применения методики на предприятия разных масштабов.......... 31
2.3 Анализ затрат в процессе реализации результатов исследования. ............ 34
Выводы по разделу 2 ............................................................................................. 40
3. Внедрение системы автоматизированного тестирования ............................. 42
3.1. Применение разработанной методики автоматизированного тестирования
на примере типового предприятия ...................................................................... 42
3.2 Разработка мероприятий по сопровождения системы автоматизированного
тестирования .......................................................................................................... 47
Заключение............................................................................................................. 54
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ .................................................. 56
Приложения ........................................................................................................... 58
Приложение
А
Техническое
задание
на
внедрение
системы
автоматизированного тестирования .................................................................... 58
Приложение Б Устав внедрения системы автоматизированного тестирования в
компанию ООО ЦИТ «ФАКТ» ............................................................................. 70
Приложение В Должностная инструкция ........................................................... 75
6
ВЕДЕНИЕ
В современном
обществе
своевременная
обработка
информации
способствует совершенствованию организации производства, оперативному и
долгосрочному планированию, прогнозированию и анализу хозяйственной
деятельности.
Каждая
организация
стремится
минимизировать
затраты
времени, материальных, трудовых ресурсов в ходе своей деятельности и
упростить процесс обработки информации. Эти задачи можно решить с
использованием информационных систем.
При разработке приложения необходимо обеспечить выполнение всех
требований к системе и налагаемых ограничений. По мере возрастания роли ИТ
в компании растет и потребность в обеспечении хорошего уровня качества
продукта.
Конечным
результатом
должен
являться
рабочий
продукт,
отвечающий всем поставленным требованиям, поэтому особое внимание стоит
уделять и тестированию программного продукта.
Тестирование программного обеспечения
–
проверка соответствия между
реальным и ожидаемым поведением программы, осуществляемая на конечном
наборе тестов, выбранном определенным образом. В более широком смысле,
тестирование
–
это одна из техник контроля качества, включающая в себя
активности по планированию работ, проектированию тестов, выполнению
тестирования и анализу полученных результатов. Тестирование позволяет
достичь конкурентоспособности на рынке и удовлетворенности клиента. При
большом
количестве
проектов
процесс
тестирования
усложняется
и
приходиться декомпозировать на менее большие процессы, которые в
дальнейшем можно оптимизировать и автоматизировать. Совершается это или
общими усилиями, или усилиями заинтересованных в это лиц. Проще всего
автоматизировать процесс, в котором есть четкий сценарий работы, когда есть
некие вводные данные и есть ожидаемый эффект.
Автоматизация служит для облегчения работы тестировщика и улучшения
7
качества тестирования, а значит и продукта. Автотесты увеличат скорость
тестирования без ущерба для результата, они могут выполняться круглосуточно
и уменьшат объём ручной работы в процессе тестирования. Набор тестов
ограничивается в первую очередь производительностью системы, а не
доступным резервом времени тестировщиков.
Правильное и своевременное реагирование на возникающие ошибки
системе,
и
их
своевременное
устранение,
может
послужить
залогом
успешности и повышением репутации перед клиентами. Таким образом, одной
из важнейших задач совершенствования предприятия, является процесс
тестирования в компании работающей с веб-продуктами.
Предметом работы является метод или средство проведения и разработки
авто-тестов.
Цель работы: повышение эффективности тестирования веб-систем в
компании.
Для достижения поставленной цели должны быть решены следующие
задачи:
1. Анализ
существующих
методик
и
систем
автоматизированного
тестирования веб-систем.
2. Выявление точек падения производительности и качества тестирования в
компаниях.
3. Разработка
методики
повышения
эффективности
и
качества
тестирования.
4. Применение выбранной методики в ИТ-компании.
Научная гипотеза: разработка методики ведения тестирования позволит
уменьшить количество ошибок в итоговом программном продукте и увеличить
его отказоустойчивость.
Практическая
значимость
разработанной
методики
повышения
эффективности тестирования позволит обеспечить более высокий уровень
качества итогового продукта, что повысит его конкурентоспособность на рынке,
обеспечит достижение поставленных целей на веб-систему и удовлетворит
8
конечного пользователя.
На защиту выносится:
1. Методика ведения и программное средство автоматизированного
тестирования.
2. Регламент
ведения
автоматизированного
менеджеров компании.
9
тестирования
для
qa-
1. Анализ решений для автоматизированного тестирования веб-систем
1.1. Анализ существующих методик и средств автоматизированного
тестирования
В соответствие с IEEE Std 829-1983 Тестирование – это процесс анализа
ПО, направленный на выявление отличий между его реально существующими и
требуемыми свойствами (дефект) и на оценку свойств ПО [5].
Тестирование основывается на тестовых процедурах с конкретными
входными данными, начальными условиями и ожидаемым результатом,
разработанными для определенной цели, такой, как проверка отдельной
программы или верификация соответствия на определенное требование.
Тестовые процедуры могут проверять различные аспекты функционирования
программы – от правильной работы отдельной функции до адекватного
выполнения бизнес-требований.
Автоматизированное
тестирование
ПО
–
процесс
тестирования
программного обеспечения, при котором основные функции и шаги теста, такие
как запуск, инициализация, выполнение, анализ и выдача результата,
производятся
автоматически
с
помощью
инструментов
для
автоматизированного тестирования.
В свою очередь, инструмент для автоматизированного тестирования
–
это
программное обеспечение, посредством которого осуществляется создание,
отладка, выполнение и анализ результатов прогона тест-скриптов (Test Scripts
–
это наборы инструкций для автоматической проверки определенной части
программного обеспечения). Тесты выбираются из обычно выполняемых
действий пользователя, у которых есть ожидаемый, проверяемый результат.
Существуют
разные
виды
применения
автоматизированного
тестирования, к таким относятся:
а) нагрузочное (стрессоустойчивое) тестирование;
б) регрессионное тестирование;
в) конфигурационное тестирование;
г) функциональное тестирование;
10
д) установочное тестирование.
Рассмотрим каждый вид более детально.
Нагрузочное тестирование
–
подвид тестирования производительности,
сбор показателей и определение производительности и времени отклика
программно-технической системы или устройства в ответ на внешний запрос с
целью установления соответствия требованиям, предъявляемым к данной
системе (устройству).
Регрессионное тестирование
–
собирательное название для всех видов
тестирования программного обеспечения, направленных на обнаружение
ошибок в уже протестированных участках исходного кода. Такие ошибки когда после внесения изменений в программу перестаёт работать то, что
должно было продолжать работать, называют регрессионными ошибками.
Конфигурационное тестирование
специальный вид тестирования,
–
направленный на проверку работы программного обеспечения при различных
конфигурациях системы (заявленных платформах, поддерживаемых драйверах,
при различных конфигурациях компьютеров и т.д.).
Функциональное
тестирование
–
конечно
автоматизированное
тестирование можно, и даже нужно использовать в функциональном
тестировании
программного
продукта.
Заключается
оно
в
проверке
работоспособности функциональной части сайта. Чаще всего написанные
функциональные
тесты
используются
в
дальнейшем в
регрессионном
тестировании.
Установочное
тестирование,
выполняется
для
проверки
условий
инсталляции (и настройки) продукта с учётом тех или иных требований к
системе от заказчика.
В данной работе будет рассматриваться именно функциональное и
регрессионное тестирование. Правильное и своевременное реагирование на
возникающие ошибки в системе и их своевременное устранение может
послужить залогом успеха коммерческой компании и повышением репутации
перед
клиентами.
Таким
образом,
одной
11
из
важнейших
задач
совершенствования
предприятия
является
повышение
эффективности
тестирования программного продукта. Соответственно автотесты должны будут
покрывать если не все функции сайта, то хотя бы основной функционал,
пользовательский сценарий.
Автоматизация служит для облегчения работы тестировщика и улучшения
качества тестирования, а значит, и продукта. Автотесты увеличат скорость
тестирования без ущерба для результата, они могут выполняться круглосуточно
и уменьшат объём ручной работы в процессе тестирования. Набор тестов
ограничивается в первую очередь производительностью системы, а не
доступным резервом времени тестировщиков.
Преимущества автоматизации тестирования:
а) повторяемость – все написанные тесты всегда будут выполняться
однообразно, то есть исключен «человеческий фактор». Тестировщик
не пропустит тест по неосторожности и ничего не напутает в
результатах;
б) быстрое выполнение – автоматизированному скрипту не нужно
сверяться с инструкциями и документациями, это сильно экономит
время выполнения;
в) меньшие затраты на поддержку – когда автоматические скрипты уже
написаны, на их поддержку и анализ результатов требуется, как
правило, меньшее время чем на проведение того же объема
тестирования вручную;
г) отчеты – автоматически рассылаемые и сохраняемые отчеты о
результатах тестирования;
д) выполнение без вмешательства – во время выполнения тестов
инженер-тестировщик может заниматься другими полезными делами,
или тесты могут выполняться в нерабочее время (этот метод
предпочтительнее, так как нагрузка на локальные сети ночью
снижена).
Недостатки автоматизации тестирования (их тоже немало):
а) повторяемость – все написанные тесты всегда будут выполняться
однообразно. Это одновременно является и недостатком, так как
тестировщик, выполняя тест вручную, может обратить внимание на
12
некоторые детали и, проведя несколько дополнительных операций,
найти дефект. Скрипт этого сделать не может;
б) затраты на поддержку – несмотря на то, что в случае
автоматизированных тестов они меньше, чем затраты на ручное
тестирование того же функционала – они все же есть. Чем чаще
изменяется приложение, тем они выше;
в) большие затраты на разработку – разработка автоматизированных
тестов это сложный процесс, так как фактически идет разработка
приложения, которое тестирует другое приложение. В сложных
автоматизированных тестах также есть фреймворки, утилиты,
библиотеки и прочее. Естественно, все это нужно тестировать и
отлаживать, а это требует времени;
г) пропуск мелких ошибок - автоматический скрипт может пропускать
мелкие ошибки на проверку которых он не запрограммирован. Это
могут быть неточности в позиционировании окон, ошибки в надписях,
которые не проверяются, ошибки контролов и форм с которыми не
осуществляется взаимодействие во время выполнения скрипта.
На текущий момент самым распространённым видом автоматизации
является GUI- автоматизация. Это процесс когда тестирование проходит через
графический
интерфейс
пользователя.
Данный
вид
тестирования
так
распространён из-за своей наглядности и эффективности, так как приложение
тестируется максимально приближенно к пользователю.
На текущий момент существует 4 вида техник GUI-автоматизации:
а) Утилиты записи и воспроизведения (англ. capture/playback tools), записывающие шаги тестировщика при ручном тестировании. Они позволяют
проводить тесты без непосредственного участия человека в течение длительного времени, повышая продуктивность и устраняя рутинное повторение однообразных действий во время ручного тестирования. Однако
даже небольшая перемена в тестируемом ПО потребует перезаписи ручных тестов. По этой причине первое поколение инструментов не эффективно и не масштабируемо.
б) Написание сценария (англ. scripting) представляет собой один из видов
программирования на специально разработанных для автоматизации те13
стирования ПО языках, позволяет избежать некоторых сложностей инструментов записи и воспроизведения. Однако разработкой занимаются
программисты высокого уровня, работающие отдельно от тестировщиков,
непосредственно запускающих тесты. Кроме того, скрипты подходят преимущественно для тестирования GUI и не могут быть внедренными, пакетными или же иным способом объединены в систему. В конечном итоге,
обновление тестируемого ПО, как правило, приведет к обновлениям соответствующих скриптов, и поддержка все увеличивающейся библиотеки
тестирующих скриптов может превратиться в непреодолимую проблему.
в) Управляемое данными тестирование (англ. Data-driven testing)
–
это ис-
пользуемая в автоматизации тестирования методология. Ее характерная
черта заключается в том, что тестовые скрипты выполняются и верифицируются на основе данных, которые хранятся в центральном хранилище
данных или базе данных. В качестве базы данных могут выступать
ODBC-ресурсы, csv или xls файлы и т. д. Управляемое данными тестирование заключается в объединении ряда взаимодействующих тестовых
скриптов и их источников данных во Фреймворк, используемый в методологии. В этом Фреймворке переменные используются как для входных
значений, так и для выходных проверочных значений: в тестовом скрипте
обычно закодированы навигация по приложению, чтение источников данных, ведение логов тестирования. Следовательно, логика, выполняющаяся в скрипте, тоже зависит от данных.
г) Тестирование по ключевым словам (англ. Keyword-based) автоматизация
заключается в проведении создания тест-кейсов в два шага: планирование
и реализация. В данном случае окончательный вид теста - это не программный код, а описание порядка действий с их условиями. При этом за
непосредственную реализацию ключевых слов (действий) отвечает
Фреймворк, а для создателя тестов достаточно иметь представление обо
всём множестве возможных действий, реализованных во Фреймворке. Та14
ким образом, тесты могут создавать люди, не владеющие навыками программирования.
Предполагаемая внедряемая методика должна снизить нагрузку на
тестировщиков. Предполагается, что система будет работать как обособленная
система, непрерывно двадцать четыре часа в сутки на отдельно выделенном
сервере, так и развернута локально у программистов для тестирования правок
до этапа проверки тестировщиком. Система должна будет запускать процесс
тестирования и в случае возникновения сбоя информировать об этом на
почтовые адреса ответственных исполнителей.
Есть несколько возможных вариантов готовых систем которые покрывают
необходимые функции и требования, в которых нуждается компании. Но также
возможен вариант сбора стека систем, которые в совокупности создадут более
гибкое решение.
Рассмотрим подробнее из чего может состоять стек для написания
автотестов на веб-драйвере Selenium. Структурирование, группировку и запуск
тестов, а также генерацию отчётов о тестировании, обеспечивает фреймворк
тестирования, такой как JUnit или TestNG для Java, NUnit или Gallio для .Net,
RSpec или Cucumber для Ruby и так далее. Разработка тестов ведётся в среде
Eclipse, Intellij IDEA, Visual Studio, RubyMine и так далее. Сборка
осуществляется посредством Maven, Gradle, Ant, NAnt, Rake и так далее. Запуск
тестов по расписанию и публикацию отчётов выполняет сервер непрерывной
интеграции – Jenkins, CruiseControl, Bamboo, TeamCity и так далее.
Внутри
каждого
коммерческого
«интегрированного»
инструмента
имеются драйверы браузеров, но они как правило не могут быть использованы
отдельно вне этого инструмента. Есть и бесплатные открытые драйверы – Watir
предоставляет доступ к основным браузерам, WatiN имеет неплохой драйвер
для браузера Internet Explorer, Sahi умеет работать с «большой пятёркой»
браузеров.
Рассмотрим более подробно стек из систем TestNG, Eclipse, Maven,
Selenium:
15
TestNG
–
это фреймворк с открытым кодом, где NG в TestNG означает
Next Generation (Новое поколение). TestNG похож на JUnit, но намного
функциональней него. Он разработан лучше, чем JUnit, особенно, если
тестировать вложенные классы.
Существует множество преимуществ, но если рассматривать в связке с
Selenium, стоит выделить следующие:
а) позволяет генерировать HTML-репорты;
б) аннотации упрощают жизнь тестировщикам;
в) тест-кейсы могут быть сгруппированы и приоритезированы;
г) возможно параллельное тестирование;
д) генерируемые логи;
е) возможно создавать параметризованные тесты.
Eclipse
–
свободная интегрированная среда разработки модульных
кроссплатформенных приложений. Развивается и поддерживается Eclipse
Foundation.
Наиболее известные приложения на основе Eclipse Platform
–
различные
«Eclipse IDE» для разработки ПО на множестве языков (например, наиболее
популярный «Java IDE», поддерживавшийся изначально, не полагается на
какие-либо закрытые расширения, использует стандартный открытый API для
доступа к Eclipse Platform).
Eclipse служит в первую очередь платформой для разработки расширений,
чем он и завоевал популярность: любой разработчик может расширить Eclipse
своими модулями. Уже существуют Java Development Tools (JDT), C/C++
Development Tools (CDT), разрабатываемые инженерами QNX совместно с IBM,
и средства для языков Ada (GNATbench, Hibachi), COBOL, FORTRAN, PHP, X10
(X10DT) и пр. от различных разработчиков. Множество расширений дополняет
среду Eclipse диспетчерами для работы с базами данных, серверами
приложений и др.
16
Maven
–
это инструмент для сборки Java проекта: компиляции, создания
jar, создания дистрибутива программы, генерации документации. Простые
проекты можно собрать в командной строке. Если собирать большие проекты с
командной строки, то команда для сборки будет очень длинной, поэтому её
иногда записывают в bat/sh скрипт. Но такие скрипты зависят от платформы.
Для того чтобы избавиться от этой зависимости и упростить написание скрипта
используют инструменты для сборки проекта.
Selenium WebDriver, или просто WebDriver
–
это драйвер браузера, не
имеющая пользовательского интерфейса программная библиотека, которая
позволяет различным другим программам взаимодействовать с браузером,
управлять его поведением, получать от браузера различные данные и заставлять
браузер выполнять определённые команды.
Selenium
–
это инструмент для автоматизированного управления
браузерами. Разработка Selenium поддерживается производителями популярных
браузеров. Они адаптируют браузеры для более тесной интеграции с Selenium, а
иногда даже реализуют встроенную поддержку Selenium в браузере. Selenium
является центральным компонентом целого ряда других инструментов и
фреймворков автоматизации.
Selenium поддерживает десктопные и мобильные браузеры. Selenium
позволяет разрабатывать сценарии автоматизации практически на любом языке
программирования.
С
помощью
Selenium
можно
организовывать
распределённые стенды, состоящие из сотен машин с разными операционными
системами и браузерами.
Все вышеперечисленные компоненты очень легко связываются друг с
другом и представляют собой надежный стек для разработки автотестов.
Конечно, некоторые компоненты можно менять, так для многих будет удобнее
использовать среду разработки IDEA, либо кто-то привык работать с
использованием фреймворка JUnit. Данные компоненты можно выбирать и
менять в зависимости от удобства и требований. Но итог будет один –
недорогая разработка автотестов, покрывающих большую часть основного
17
функционала.
Sahi
opensource инструмент для автоматического тестирования web-
–
приложений.
Архитектура Sahi:
а) использует браузер как движок;
б) работает прокси-сервером.
У данного средства, как и у многих opensource, есть ряд плюсов и ряд
недостатков:
1) позволяет записывать скрипты по действиям;
2) простой язык скриптов – JavaScript;
3) интеграция с Ant;
4) кроссплатформенность;
5) не исправлены некоторые ошибки и недочеты;
6) малая популярность.
WatiN
–
это библиотека для тестирования веб-интерфейсов. Одним из его
плюсов является доступность, WatiN является так же opensource инструментом.
Ее хорошо использовать для автоматизации пользовательских сценариев.
Присутствует возможность записи поведения пользователя при работе с
приложением WatiN также предоставляет объектную модель заполученной
страницы. WatiN нестабильная библиотека, которую нужно с опаской
использовать для управления браузером.
1.2 Анализ существующей модели тестирования в компании ООО ЦИТ
«Факт» по разработке веб-систем
Рассмотрим частный пример организации процесса тестирования на
примере компании по разработке веб-сайтов ООО ЦИТ «ФАКТ».
В своей
работе организация ориентируется на результат и долгосрочное сотрудничество.
Высокое качество, соблюдение сроков и прозрачность проектов обеспечивают
18
постоянную работу с клиентом, его уверенность в выполнении обязанностей со
стороны веб-студии и достижении задач.
Специализация компании:
1) Разработка традиционных веб-сайтов.
2) Поддержка сайтов.
3) Адаптивные сайты.
4) Мобильные приложения: дизайн,
интеграция, поддержка, развитие.
проектирование,
разработка,
5) Корпоративные порталы.
6) Дизайн в Digital: проектирование и прототипирование сайтов и
интерфейсов, юзабилити (тестирование).
7) Интеграция (1С, CRM, Платёжные сервисы и т.д.)
В штате компании насчитывается около 70 сотрудников, которые
занимаются ведением, разработкой, тестированием и внедрением проектов по
разработке веб-сайтов.
В компании имеется специальные выделенные отделы сопровождения и
развития. Команда компании реализовала более 100 проектов. Имеется опыт
работы над крупными проектами с высокой посещаемостью и нагрузкой.
Компания условно имеет несколько подразделений:
1) Отдел продаж.
2) Отдел проектирования и дизайна.
3) Отдел Front End разработки.
4) Отдел Back End разработки.
5) Отдел менеджмента проектов.
6) Отдел системного администрирования.
7) Отдел тестирования.
Именно
обеспечения
отдел тестирования является
качества
итогового
продукта.
ответственным за процесс
В
рамках
одного
проекта
тестирование занимает около шестидесяти часов, но если проектов много, то
19
тестирование сильно нагружает трудовые ресурсы отдела тестирования. Рост
компании повлек за собой необходимость изменения бизнес-процесса. При
большом количестве проектов процесс тестирования усложняется и приходится
декомпозировать на менее объёмные процессы, которые в дальнейшем можно
оптимизировать и автоматизировать. Совершается это или общими усилиями
компании, или усилиями заинтересованных в этом лиц. В компании
приветствуются адекватные затраты времени на автоматизацию деятельности,
которая будет в дальнейшем повторяться. Проще всего автоматизировать
процесс, в котором есть четкий сценарий работы, когда есть некие вводные
данные и есть ожидаемый эффект.
Структура рабочего процесса, выполненная в нотации eEpc представлена
на рисунке 1.
20
Сформировано
ТЗ, закончен
этап
проектирования
Проектная группа
Начат этап
вёрстки
Вёрстка
страниц сайта
Верстальщик
Вёрстка
сделана
Начат этап
Программиров
ания
Тестирование
вёрстки
Программиров
ание
функционала
сатраниц
Тестирование
завершено
Завершен этап
программиров
ания
ГОСТ Р ИСО/МЭК 25010-2015
Документиров
ание
результатов
Начат этап
переноса сайта
на хостинг и
домен
Программист
с
Системный администратор
Аудит до
переноса
Перенос сайта
Сайт
перенесён
Аудит после
переноса
ГОСТ Р ИСО/МЭК 25010-2015
Аудит
завершен
Аудит
завершен
QA-менеджер
QA-менеджер
(ЕСПД) ГОСТ 19
Формирование
документации
Формирование
документации
Список багов в баг-треккере
(ЕСПД) ГОСТ 19
(ЕСПД) ГОСТ 19
Закончен этап
переноса
Список багов в
баг-треккере
Список багов в баг-треккере
ГОСТ Р 56920-2016
Мероприятия
по завершению
проекта
Рисунок 1- Модель тестирования веб-сайтов AS-IS
Как можно увидеть на диаграмме автоматизированное тестирование не
используется в компании. Процесс тестирования продуктов проходит в 3
стадии:
а) Тестирование верстки.
б) Тестирование до переноса продукта.
в) Тестирование после переноса на сервер заказчика.
Как видно на диаграмме, после тестирования на сервере заказчика
тестирование продукта заканчивается, соответственно ошибки, появляющиеся
21
при реальной эксплуатации, не отслеживаются.
В рамках одного проекта тестирование занимает около шестидесяти
часов, но если проектов много, то тестирование сильно нагружает трудовые
ресурсы отдела тестирования. Рост компании повлек за собой необходимость
изменения бизнес-процесса. При большом количестве проектов процесс
тестирования усложняется и приходится декомпозировать на менее объёмные
процессы, которые в дальнейшем можно оптимизировать и автоматизировать.
На диаграмме Дерево отказов (рисунок 2) представлены основные
причины, по которым качество итогового продукта снижается, что однозначно
приводит к недовольству клиента и падению репутации и прибыли компании.
Плохое качество
итогового продукта
Возникают
очереди на
тестирование
Качество
выпускаемого
программистами
продукта - низкое
Не
оптимизирована
нагрузка на
тестировщиков
Программисты не
видят тех ошибок,
что видит
тестировщик
Выделение нового
ресурса в отдел
тестирования
Сроки у
разработчиков
сильно сжаты, нет
времени на
полный
функциональный
тест
Сроки проекта
более
приоритетны
Необходимо более
детально
планировать и
контролировать
соблюдение
сроков проекта
Рисунок 2- Дерево ошибок обеспечения качества
Чтобы сократить количество ошибок, а главное сократить количество
дефектов, которые может обнаружить заказчик или конечный пользователь в
проекте,
компанией
ООО
ЦИТ
«ФАКТ»
было
принято
решение
автоматизировать часть процессов тестирования путем внедрения системы
автоматизированного тестирования веб-сайтов.
После внедрения системы автоматизированного тестирования ожидаются
22
следующие положительные эффекты:
1) автотесты работают быстрее, чем человек;
2) автотесты выполняются с большей точностью;
3) автоматизация тестирования позволяет повысить качество продукта;
4) автоматизация может использоваться практически во всех процессах
тестирования;
5) автотесты могут выполняться ночью;
6) снижение процента ошибок в проектах, приходящих со стороны
разработки;
7) снижение
общего
процента
дефектов,
ошибок,
обнаруженных
клиентом или заказчиком.
1.3
Формирование
требований
к
методике
автоматизированного
тестирования.
Для
компании
программного
необходима
продукта
автоматизированного
в
система
рабочем
тестирования
поддерживающая
состоянии.
будет
Тем
выполнять
самым
состояние
система
регрессионное
тестирование, которое на данный момент выполняет тестировщик по запросу
менеджера (постановка задачи в корпоративную систему) или не выполняет
никто, что в результате приводит к жалобам. Для выполнения регрессионного
тестирования необходимо выполнение нескольких условий, которые и станут
основой для формирования требований к методике.
Для получения доступа к тестовой площадке, на которой будет проходить
тестирование, необходимо взаимодействовать с браузером. Соответственно
первым требованием к методике будет- взаимодействие с браузером. Благодаря
возможности запуска браузера и взаимодействия с ним, автотесты станут
максимально близко воспроизводить действия обычных пользователей вебсистемы.
На скорость разработки автотестов так же влияет несколько факторов.
23
Которые тоже налагают некоторые требования на среду разработки. В среде
разработки
должна
иметься
подсветка
синтаксиса
для
удобства
программирования. Данное требование выполняется почти каждой средой
разработки. Так же в среде разработки должна присутствовать возможность
структурирования и группировки тестов. Выполнение данного требования
позволит разрабатывать автотесты для нескольких проектов, или группировать
несколько тестов для одного проекта.
Выбор фреймворка тоже должен быть обоснован, к нему так же есть
некоторые требования. А именно от него будет зависеть генерация отчетов.
Сами отчеты будут не сложными, предоставлять только необходимую
статистическую информацию о прогонах тестов, количестве положительных и
отрицательных результатах, текст ошибки при обрыве прогона.
Так как подразумевается использование сразу нескольких сложных систем
для реализации автоматизированного тестирования, необходим сборщик,
который позволит объединить запуск нескольких систем одним нажатием.
Основное
требование
к
системе
сборки
будет
наличие
возможности
автоматической сборки. Данная функция позволит проводить тестирование без
участия сотрудника. Соответственно это дает возможность проводить тесты
круглые сутки, а при возникновении ошибки оперативно её распознавать и
решать.
Исходя из вышеперечисленного, основные требования, которые должна
выполнять система или набор систем автоматизации процесса тестирования
веб-сайтов, следующие:
а) запуск и взаимодействие с браузером;
б) структурирование и группировка тестов;
в) автоматическая генерация отчетов;
г) подсветка синтаксиса;
д) автоматическая сборка.
Рассмотрим пример другой компании. Для анализа выберем компанию из
другой отрасли и другого масштаба. Для выполнения данной роли подходит
24
компания ООО «РОНА». Данная компания занимается обеспечением ИТинфраструктуры для аптечной сети. Аптека распространена в разных регионах,
необходимо управлять остатками, подстраиваться под разные ценовые
политики регионов, объединять все регионы в одной информационной сети.
Для выполнения этих функций в компании существует несколько больших
информационных систем. В компании присутствует несколько отделов. В
отличии от веб-студии, наличие нескольких отделов с разной направленностью
помогает декомпозировать бизнес-процесс и оптимизировать работу, не
затрагивая другие отделы.
Одним из отделов является департамент управления информационными
потоками. В этом отделе есть группа веб-разработки, которая занимается
поддержанием веб систем компании. Одной из систем является веб-сайт. Вебсайт един для всех торгующих регионов. От функционирования сайта зависит
прямая
прибыль
компании.
Для
компании
необходима
система
поддерживающая состояние программного продукта в рабочем состоянии. Тем
самым
система
регрессионное
автоматизированного
тестирование,
которое
тестирования
на
данный
будет
выполнять
момент
выполняет
тестировщик. Данное решение
Выводы по разделу 1
Проведя анализ существующих методик и средств автоматизации
тестирования
веб-систем,
можно
сделать
вывод,
что
рынок
данного
направления очень развит. Соответственно необходимо принять решение в
пользу одного из вариантов. Выбирать методику следует, учитывая потребности
компании, для чего был проведен анализ текущей модели тестирования в
компании по разработке веб-систем. По итогам анализа были выявлены места
падения производительности и эффективности тестирования веб-систем.
Основными причинами ухудшения качества тестирования веб-систем
является нехватка времени на тестирование всех частей итогового продукта.
Рутинная работа требует много времени и усилий, данная работа однообразна и
25
не требует высокой квалификации, поэтому было принято решение о
оптимизации таких видов работ. Внедрение автоматизированного тестирования
должно сократить объём рутинной работы и позволить тестировщикам
заниматься более критичными элементами веб-систем.
Для покрытия наибольшей части функционала автотестами, были
сформированы требования к методике тестирования. Выполнение этих
требований обеспечивает максимальный эффект от внедрения методики. А
именно снижение затрат времени на проведение тестирования веб-систем,
повышение качества за счет проведения регрессионного тестирования.
Исключение человеческого фактора снижение вероятности влияния на
результат тестирования.
26
2. Адаптирование методики автоматизации тестирования
2.1. Адаптирование методики автоматизированного тестирования для
повышения качества итогового продукта
Методика автоматизированного тестирования будет заключаться в выборе
средства автоматизации и дальнейшем реинжиниринге бизнес-процесса.
После того как были сформированы требования необходимо выбрать
систему автоматизации для новой методики.
Чтобы определится с выбором внедряемой системы автоматизированного
тестирования, было проведено исследования с помощью метода анализа
иерархий Т. Саати.
Предлагаются
следующие
основные
критерии
выбора
системы
автоматизированного тестирования:
1) Система автоматизированного тестирования должна уметь запускать
браузер и взаимодействовать с ним (К1).
2) Система должна иметь возможность генерировать и отправлять отчеты на
электронную почту или мессенджеры (К2).
3) Система должна иметь удобный и понятный интерфейс (К3).
4) Система должна иметь широкую аудиторию для возможности поддержки
другим сотрудником (К4).
5) Наличие возможности структурирование и группировка тестов (К5).
Определяем варианты сравнения (альтернативы) систем тестирования как
возможные варианты внедрения:
1) Стек из систем (М1).
2) Sahi (М2).
3) WatiN (М3).
Определение приоритетов критериев (суждения)
Таблица 1 – Шкала относительной важности
Шкала
1
3
5
Значение
А и В одинаково важны
А незначительно важнее, чем В
А значительно важнее В
27
7
9
2, 4, 6, 8
А явно важнее В
А по своей значительности абсолютно превосходит В
2, 4, 6, 8 Промежуточные значения.
Составим матрицы попарных сравнений для альтернатив по каждому
критерию, опираясь на шкалу относительной важности (Рис.3). Сводные
данные по весам каждого критерия для каждой альтернативы представлены в
таблице 2. Расчеты были проведены в программном средстве СППР «Выбор».
Рисунок 3 - Матрица попарных сравнений по критериям
Далее
заполняем
матрицы
парных
критериев
для
каждой
(!)
альтернативы, то есть системы автоматизированного тестирования. Например,
на
рисунке
4
представлена
автоматизированного
тестирования
матрица
должна
для
уметь
критерия
запускать
1,
Система
браузер
и
взаимодействовать с ним. Коэффициенты заполняются по такому же принципу,
расписанному ранее. Для относительно фактора уровня альтернатив выбирается
вес фактора уровня критериев.
28
Рисунок 4 - Матрица альтернатив по критерию 1
После заполнения всех матриц необходимо произвести расчеты. По
окончании
расчетов
результаты
можно
вывести
в
виде
диаграммы,
изображенной на рисунке 5.
Рисунок 5 - Результаты расчетов
Результаты расчета показали, что наиболее выигрышным вариантом для
внедрения автоматизированного тестирования будет система, составляющая
стек из других систем.
Стек систем будет состоять из фреймворка TestNG, среды разработки
Eclipse и сборщика Maven.
29
Автотесты и сценарии будут создаваться самим тестировщиком.
Разработка тестов будет осуществляться только в двух случаях. Первым
случаем будет постановка задачи от вышестоящих руководителей. Это будет
делаться для особо важных, критичных проектах, ошибки в которых повлечет
за собой
потерю имиджа компании. При
этом заказчику не будет
предоставляться счет на оплату разработки автотестов для программного
продукта. Заказчиком и потребителем в этом случае будет постановщик задачи.
Вторым случаем будет являться постоновка задачи от менеджера проекта.
При этом сценарии заказчик и менеджер проекта изначально составляют
договор на покрытие веб-системы автотестами. При этом оговариваются
границы автоматизации, какой функционал заказчик считает критичным в
рамках его системы, и какие области нужно покрывать автотестами.
При планировании загрузки необходимо учитывать объём покрытия
проекта автотестами и детализацию функционала, для того что бы оговаривать
с заказчиком реальный срок разработки.
При
возникновении
ошибки
в
системе
автоматизированного
тестирования необходимо провести анализ возникшей ошибки. По этим данным
тестировщик принимает решение либо исправить написанный автотест, либо
сообщить об ошибке программисту.[20] В процессе исправления ошибки
программистом
ведется
промежуточное
тестирование
средствами
автоматизированной системы. При выявлении ошибки в написанном автотесте,
тестировщик анализирует причину возникновения, и изменяет автотест.
Подобные ошибки могут возникнуть из-за изменения логики работы или
визуальном изменении проекта.
30
2.2. Особенности применения разработанной методики на предприятиях
разных масштабов.
Данная методика повышения качества, а именно внедрение стека систем
для разработки автоматизированных тестов может быть использована не только
в компаниях по разработке веб-сайтов, но и в других ИТ отраслях. Рассмотрим
ИТ-отдел компании ООО «РОНА», которая представляет собой организацию
обеспечивающую технический аспект работы аптеки. Тем самым поддерживая
всю ИТ структуру предприятия, начиная с внутренних систем взаимодействия и
учета информации заканчивая сайтом аптеки и приложением. Отдел называется
– «Департамент управления информационными потоками». Данный отдел
занимается разработкой и сопровождением сопутствующих развитию проектов.
Сама компания очень крупная, в отличии от компании «Факт» она насчитывает
около трех тысяч сотрудников.
К основным бизнес-процессам (БП) компании относятся:
а) Анализ ИТ-потребностей в компании.
б) Управление информационными потоками.
в) Обучение, сотрудников взаимодействию с системой.
г) Поддержание работы, актуализация данных системы.
д) Техническая поддержка работы аптеки (call-центр).
е) Техническая поддержка сайта.
ж) Формирование
и
согласование
технического
задания
(ТЗ)
на
выполнение разработки или внедрения.
з) Заключение договора на выполнение разработки.
и) Создание сопроводительной документации (документирование).
к) Внедрение разработки.
л) Сопровождение
разработки
(исправления,
доработка,
консультирование по работе и т.д.).
Сам департамент проектной деятельности включает в себя пять
смысловых групп, они отображены на рисунке 6.
31
Директор
департамента
Руководитель
группы 1Сразработки
Разработчик
1С
Руководитель
группы вебтехнологий
Веб
разработчик
Back-end
Руководитель
проектной
деятельности
Веб
разработчик
Back-end
Менеджер
проекта
Руководитель
отдела контроля
качества
Руководитель
Контактного центра
Сотрудник
контроля
качества
Оператор
контактного
центра
Сотрудник
контроля
качества
Оператор
контактного
центра
Сотрудник
контроля
качества
Оператор
контактного
центра
Менеджер
проекта
Разработчик
1С
Веб
Дизайнер
Разработчик
1С
Системный
администратор
Разработчик
1С
Системный
администратор
Веб
разработчик
Front-end
Тестировщик
Системный
аналитик
Системный
аналитик
Менеджер
по
документоо
бороту
Сотрудник
контроля
качества
Оператор
контактного
центра
Рисунок 6 - Организационная структура департамента проектной деятельности
Отдел веб-разработки по структуре напоминает проектную группу в
компании «ФАКТ». Как и в компании «ФАКТ» на весь отдел приходится только
один тестировщик.
Отдел 1С разработки отвечает за взаимодействие систем на платформе 1С
с другими системами, к примеру веб-сайтом, корпоративной системой и
кассами аптек. У этого подразделения есть свой руководитель, который
распределяет нагрузку между разработчиками и назначает задачи на
исполнителей. Так же руководитель подразделения участвует в собраниях с
другими руководителями и планировании задач.
Отдел Веб-технологий отвечает за работу веб-сайта, его разработку,
поддержку и его взаимодействие с другими системами. Отдел отвечает за вебсистемы, использующиеся в работе аптек. Например, терминалы, которые
используются для быстрого оформления заказа дорогостоящих товаров,
которые не развозят в небольшие города или деревни. Помимо этих задач, они
ведут
разработку шины
данных,
которая
будет являться
глобальным
хранилищем данных, позволяющим реагировать на мгновенные события в
системах.
32
Соответственно руководство компании «РОНА» столкнулось с похожей
проблемой что и в компании «ФАКТ». Так как организационно тестировщик
находится в отеле веб-разработки, то продукты, выпускаемые отделом 1Сразработки, тестировались самими разработчиками. Соответственно качество
итогового продукта было не достаточным для полноценного функционирования
систем, из-за чего срок разработки продлевался для устранения дефектов.
Необходим был еще один ресурс для тестирования продуктов 1С разработки.
Перед руководством стоял выбор между наймом дополнительного ресурса или
созданием дополнительной нагрузки на текущего тестировщика. В итоге был
сделан выбор в пользу расширения обязанностей сотрудника. Чтобы освободить
время сотрудника на тестирование всех продуктов, разрабатываемых в
департаменте, было принято решение о оптимизации процесса тестирования.
Так же, как и для веб-студии «ФАКТ», для компании необходима система
поддерживающая состояние программного продукта в рабочем состоянии. Тем
самым
система
регрессионное
автоматизированного
тестирование,
которое
тестирования
на
данный
будет
выполнять
момент
выполняет
тестировщик. Внедрив систему автоматизированного тестирования, компания
уменьшит загрузку ресурса на тестирование веб-систем и освободит для других
продуктов.
Для внедрения так же был выбран стек из систем: фреймворка TestNG,
среды разработки Eclipse и сборщика Maven. Методика останется практически
неизменной благодаря тому, что специфика работы отдела веб-технологий и
компании по разработке веб-систем похожа. В обоих случаях проектная группа
занимается разработкой, сопровождением или развитием веб-систем. Основные
различия будут состоять в том, что в отличии от компании «ФАКТ», в
департаменте проектной деятельности изначально будет составлен план по
объёму и глубине покрытия функционала системы автоматизированными
тестами.
Автотесты будут добавляться или изменяться по мере изменения самой
33
веб-системы.
Задачу
Сопровождение
будет
ставить
осуществляться
руководитель
группы
тестировщиком
и
разработки.
системным
администратором. Так же будут вестись работы в сторону достижения
Continuous Integration (далее CI). CI - это практика разработки программного
обеспечения, в которой члены команды проводят интеграцию не реже чем раз в
день. Результаты интеграции проверяются автоматически, используя автотесты
и статический анализ кода. Непрерывная интеграция позволяет снизить
трудоёмкость интеграции и сделать её более предсказуемой за счет наиболее
раннего обнаружения и устранения ошибок и противоречий, но основным
преимуществом является сокращение стоимости исправления дефекта, за счёт
раннего его выявления.
2.3 Анализ затрат в процессе реализации результатов исследования.
Поскольку
ООО
ЦИТ
«Факт»
является
крупной
компанией
и
предполагаемая доходность от инвестиций в реализацию системы сравнима со
ссудным
процентом
финансового
рынка,
для
расчета
экономической
(коммерческой) эффективности выбраны дисконтные методы (NPV, IRR, DPB).
Разработка предполагается собственными силами компании, рассчитана на
собственные нужны компании, экономический эффект минимален.
Прежде чем, приступить к расчету данных показателей, являющихся
основой для принятия решений, необходимо оценить денежный поток (затраты
и предполагаемые поступления), порождаемый разработкой проекта. Оценка
денежного потока от реализации проекта
Капитальные затраты носят разовый характер. Те из них, которые
направляются в основные средства обработки информации, переносят свою
стоимость на услуги по частям за счет амортизационных отчислений.
Капитальными их называют потому, что они не утрачиваются, а
воспроизводятся.
Капитальные затраты включают:
a) затраты на техническое обеспечение (вычислительную технику, оргтехнику,
средства коммуникации, технические средства охраны и т.п.);
34
b) затраты на программное обеспечение, включая функциональное и сервисное;
c) затраты на обустройство помещений, включая рабочие места сотрудников;
d) затраты на услуги привлекаемых экспертов, консультантов, разработчиков;
e) прочие затраты (обычно составляют 7-8% от общих затрат).
При расчете капитальных затрат на реализацию проекта по внедрению
системы автоматизированного тестирования в ООО ЦИТ «Факт», затраты на
техническое
обеспечение,
обустройство
помещений
и
рабочих
мест
сотрудников не учитывались, поскольку реализация внедрения системы будет
осуществляется
в
подразделениях
с
уже
имеющимися
техническими
средствами, а также созданными и функционирующими автоматизированными
рабочими местами (АРМ) сотрудников. Размещение системы на сервере, в
рамках разработки системы, планируется на сервере с корпоративной системой.
Капитальные затраты рассчитаны при составлении план-графика работ и
составляют 136 880 руб. Из них - затраты на услуги внедренцев: 136 880 руб.
Прочие неучтенные затраты: 136 880 * 7% = 9581,6 руб.
Таким образом, капитальные затраты, включая прочие неученые,
составляют: 146461,6 руб.
Эксплуатационные (текущие) затраты
Эксплуатационные затраты, в отличие от капитальных, являются
повторяющимися, рассчитываются суммарно за год. Эксплуатационные
затраты включают:
а) затраты на заработную плату, выплачиваемую основному и вспомогательному персоналу;
б) затраты на эксплуатацию вычислительной техники и других технических средств;
в) затраты на эксплуатацию помещений и обслуживание рабочих мест
сотрудников;
35
г) прочие затраты (составляют обычно 7% от общих затрат).
Эксплуатационные затраты после реализации системы, будут включать:
1) затраты, связанные с увеличением заработной платы:
а)
вспомогательного персонала: (з/пл системного администратора *
12 месяцев) * 10% = 40 000 *12 * 0,1 = 48 000 руб./год. Соответственно, увеличение взносов в социальные фонды составит:
48 000 * 34% = 16320 руб./ год.
б)
заработная плата основного персонала (которые непосредственно
будут использовать внедряемые ИТ), составляет определенный
процент от суммы поступлений по договорам страхования. Так
как после реализации системы планируется увеличение количества клиентов, заработная плата основного персонала увеличится
пропорционально. При проведении расчетов ее опускаем.
2) затраты на эксплуатацию вычислительной техники и других
технических средств:
а)
реализация системы автоматизированного тестирования не повлияет на такие затраты, как: амортизационные отчисления и затраты на электроэнергию (их величина не изменится, так как не
изменится парк оборудования); затраты, связанные с использованием глобальных вычислительных сетей.
б)
абонентская плата за хостинг: 1330 руб. *12 месяцев = 15960 руб.
3) затраты на эксплуатацию помещений и обслуживание рабочих мест
сотрудников – без изменений, поскольку парк компьютеров не
увеличивается.
4) прочие затраты: (48 000 + 16320+ 15960) * 7% = 5619,6 руб./год.
Таким образом, текущие (эксплуатационные) затраты составят: 48 000 +
16320+ 15960 + 5619,6 = 85899,6 руб./год.
Предполагаемая экономия/доход
Реально оценка доходной части от реализации ИТ-проектов может
выражаться в финансовых показателях, т.е. в виде денежного потока, а также в
36
виде
нефинансовых
метрик,
т.е.
некоторых
натуральных
показателей
(конкурентное преимущество, повышение качества обслуживания клиентов,
качества системы управления и т.д.). Причина в том, что ИТ составляют часть
интеллектуального капитала, который на сегодняшний день, особенно для
информационно-ориентированных компаний, составляет основную часть
рыночной стоимости компании.
Если калькуляция затрат, как правило, не представляет особой сложности
и носит в основном чисто технический характер, то при оценке показателей
экономического эффекта/эффективности могут возникнуть трудности. В связи с
этим для оценки отдельных показателей часто приходится использовать метод
экспертных оценок, при котором вместо расчета какого-либо из слагаемых
показателя прибегают к мнению специалистов (экспертов) относительно
оптимистических, пессимистических и наиболее вероятных его значений.
Экономическая
эффективность
может
достигаться
как
за
счет
дополнительно принесенного дохода/прибыли, так и за счет получаемой
экономии на затратах:
Планируемое увеличение дохода за счет качественного улучшения
процессов тестирования, повышения качества продукта оказывающих влияние
на лояльность клиентов, а также за счет привлечения клиентов по показателю
качества:
а) за первый год после реализации системы автоматизированного тестирования: 200 000 руб.
б) за второй год: 400 000 руб.
в) за третий год: 850 000 руб.
Данная сумма будет зависеть от количества клиентов оплачивающих
абонентскую плату в размере 10000 рублей в месяц за разработку базового
уровня покрытия автотестами их веб системы. Базовый уровень включает в себя
тестирование основного функционала сайта.
Таким образом, первый год после реализации системы ожидаемый доход
составит: 200 000 руб.
37
Денежные потоки после разработки представлены в табл. 2.
Таблица 2 – Денежные потоки
Период
Начало проекта
Стоимость
создания
(капитальные затраты), руб.
Стоимость
эксплуатации
(текущие
затраты), руб.
Доход/экономия, руб.
Эффект, руб.
1
2
3
год
год
год
85899,6
85899,6
85899,6
2
00000
6
3120
4
00000
2
63120
8
00000
6
63120
- 136 880
- 136 880
Расчет показателей экономической эффективности реализации системы
автоматизированного тестрования.
Определим необходимые показатели для расчетов:
а) CF – сальдо (эффект), как разность между притоком и оттоком денежных
средств.
б) период (шаг) t принимаем равным 1 год, n – суммарное число периодов – 3 года;
в) r
–
проектная
дисконтная
ставка.
Как
правило,
на
практи-
ке ставка дисконтирования – это личная оценка ситуации на рынке – т.е.
оценка того, какая доходность достаточна для проекта с точки зрения инвестора. Ставка дисконтирования может определяться следующими факторами: безрисковой нормой доходности, ожидаемым темпом инфляции и
премией за специфический риск проектов и др. Для расчетов размер ставки
r принимаем 10%;
г) I0 – инвестиции равны рассчитанным капитальным затратам.
Чистый приведенный доход:
n
CFt
63120
263120 663120



 899418 .
t
1
(1  0,1) (1  0,1) 2 (1  0,1) 3
t 1 (1  r )
NPV  
NPV с учетом инвестиций за три года составит: 899418 - 136880 = 762538 руб.
Чистый приведенный доход является положительной величиной, начиная
со второго года.
38
Внутренняя норма доходности:
n
NPV   I 0  
t 1
CFt
 0.
(1  IRR ) t
С помощью функции «Подбор параметров» MS Office Excel вычислено
значение IRR, значение которого составило: 85%, что больше установленной
дисконтной ставки, поэтому проект считается эффективным.
Срок окупаемости:
Tок 
I0
136880
 r )  ln( 1 
 0,1)
 ln( 1  1,06  0,1)  ln( 0,89) 0,11
CF
200000




 0,77 .
ln( 1  r )
ln( 1  0,1)
ln( 1  0,1)
ln( 1,1)
0,09
 ln( 1 
Срок окупаемости составит 10 месяцев.
По результатам оценки экономической эффективности можно сделать
вывод, что реализация системы автоматизированного тестирования в компании
ООО ЦИТ «Факт» является целесообразной для дальнейшего развития
компании.
39
Выводы по разделу 2
Во второй главе была разработана методика автоматизированного
тестирования
для
повышения
качества
итогового
продукта.
Методика
заключается в использовании стека систем автоматизации на этапе реализации
проекта для осуществления регрессионного тестирования, и тестирования
высоконагруженных проектов, в которых необходим максимальный уровень
отказоустойчивости. Разработка автотестов будет происходить в
среде
разработки Eclipse, с помощью фреймворка TestNG и сборщика Maven будут
написаны автотесты на базе веб-драйвера Selenium. Автотесты будут
воспроизводить пользовательский сценарий, разработанный тестировщиком на
основе статистических данных метрик.
Проанализировав два разных предприятия, был сделан вывод о том, что в
компаниях, занятых в ИТ-отрасли работают похожие проектные группы.
Единственное различие заключалось в отсутствии менеджера в отделе вебтехнологий компании ООО «РОНА». Данный фактор влияет только на то, кем
будет поставлена задача для тестировщика. В остальном, оба предприятия
стремятся оптимизировать процесс тестирования и сделать его более
эффективным.
Для каждой компании система автоматизированного тестирования,
состоящая из стека систем, является оптимальным вариантом, так как сами
программные продукты являются бесплатными и находятся в свободном
доступе. Существует множество материалов по использованию этих средств.
Было произведено обоснование затрат и рисков в процессе реализации
внедрения системы автоматизированного тестированию в компанию по
разработке веб-систем. В результате обследования был вычислен срок
окупаемости проекта. Срок составляет 10 месяцев. Данный срок зависит от
популярности заказов на разработку и покрытие автотестами веб-систем
заказчиков. Так же данный срок зависит от суммы абонентской платы в месяц.
Так как сумма 10000 рублей была взята основываясь на средние рыночные цены
данного сегмента её можно изменить исходя из оценки рыночной ситуации и
40
знания рынка. Если у компании есть постоянные клиенты, которые готовы
заплатить
за
гарантии
качественного
функционирования
программного
продукта, данную сумму можно увеличивать, соответственно срок окупаемости
изменится и может уменьшиться до трёх месяцев.
41
3. Внедрение системы автоматизированного тестирования
3.1. Применение разработанной методики автоматизированного
тестирования на примере типового предприятия
Перед началом процесса внедрения необходимо определить методологию
или технологию внедрения, которой будет руководствоваться компания,
внедряющая методику.
На
сегодняшний
день
существует
множество
как
оригинальных
методологий, разработанных большими компании на основе их опыта
разработки и внедрения, так и их доработанных версий, адаптированных под
конкретную предметную область. Были выбраны и проанализированы
несколько методологий. Распишем кратко каждую из них.
Методика компании Oracle внедрения готовых приложений пакета Oracle
E-Business Suite, называемая Application Implementation Method (AIM), является
составной частью методического комплекса Oracle Method, который охватывает
различные аспекты развития ИТ-инфраструктуры компании. Методологи Oracl
AI представляет собой детальное описание задач, выполняемых в ходе проекта,
с указанием последовательности их выполнения и ответственных ролей
проектной группы [7].
Руководство внедрения 1С – основной принцип которой состоит в
минимизации
затрат
и
функциональных
возможностях
формирования
отчетности и ведения учета. Несколько предприятий может использовать один
программный продукт и пользоваться единой информационной базой, если их
деятельность тесно взаимосвязана.
Microsoft
программного
Solutions
Framework
обеспечения,
(MSF)
предложенная
-
методология
корпорацией
разработки
Microsoft.
MSF
опирается на практический опыт Microsoft и описывает управление людьми и
рабочими процессами в процессе разработки решения. MSF представляет собой
согласованный набор концепций, моделей и правил.
Также был рассмотрен вариант собственного корпоративного метода
внедрения. Данный метод заимствует особенности методологии MSF, однако
42
упускает
некоторые
этапы
и
позволяет
использовать
собственные
корпоративные регламенты компании.
Несмотря на то, что, на первый взгляд, собственная технология внедрения
является более выигрышной в силу значительно уменьшенных затрат и
многократности использования, стоит провести анализ некоторых вариантов,
так как для выбранной системы может потребоваться более широкий спектр
действий и ресурсов для внедрения.[5]
Для сравнения и принятия решения был выбран метод анализа иерархий
Т. Саати.[22]
Выделены следующие основные критерии выбора методологии внедрения
системы автоматизированного тестирования:
1)
методология должна обеспечивать актуальность АС на всем ее
жизненном цикле (ЖЦ) - меняющиеся требования заказчика;
2)
методология должна обеспечивать внедрение АС в кратчайший и
установленный срок заказчиком - срок внедрения АС;
3)
методология должна обеспечивать минимальные стоимостные
затраты на внедрение АС ОКПП - стоимостные затраты на внедрение АС;
4)
методология должна обеспечивать минимальные трудовые затраты
при внедрении АС ОКПП - трудозатраты внедрения АС;
5)
методология должна обеспечивать ведение документации при
внедрении АС– документация;
6)
методология должна обеспечивать сопровождение внедрения АС
высококвалифицированной и компетентной рабочей группой проекта - рабочая
группа;
7)
методология
должна
максимально
отражать
качественное
выполнение всех этапов жизненного цикла (ЖЦ) внедрения АС - этапы ЖЦ
внедрения АС.[6]
После определения того, какая система будет внедряться в компании, а
также того, каким образом будет проводится данный процесс внедрения,
сотрудники компании готовы приступить в непосредственному внедрению.
43
Перед началом внедрения было разработано техническое задание на внедрение
системы автоматизированного тестирования, представленного в приложении А.
Руководствуясь техническим заданием на внедрение, был проведен
процесс
внедрения
стека
систем
автоматизированного
тестирования
сотрудниками компании. Схема процесса внедрения представлена на рисунке 6.
Схема составлена в виде процессной диаграммы eEPC.
44
Поступило ТЗ
на внедрение
системы
ТЗ на внедрение
ТЗ на внедрение
системы изучено
Тестировщик
Сис. администратор
Подготовка к
внедрению
Руководство пользователя
V
Подготовлена
среда внедрения
Изучена
документация
системы
Подготовлено
окружение
системы
Настройки и окружение
V
Внедрение
системы
Система
внедрена
Сис. администратор
Тестировщик
Выявление
ошибок
Ошибки
найдены
XOR
Ошибки не
найдены
Исправление
ошибок
Ошибки
исправлены
XOR
Регламент
Составление
регламента
работы с
системой
Регламент
составлен
Обучение
сотрудников
компании
Сотрудники
обучены
Промышленная
эксплуатация
Презентация системы
Рисунок 7 - Внедрение системы автотестирования
45
Как видно из представленной диаграммы
–
для внедрения системы
автоматизированного тестирования необходимо всего два ресурса: системный
администратор и тестировщик. Администратор будет настраивать сервер, на
котором должна размещаться система и нотификацию для пользователей
системы. Тестировщик будет настраивать стек для корректной работы всех его
частей, так же в его обязанности будет входить разработка тестовых сценариев,
под которые в дальнейшем будут разрабатываться тесты. Так же тестировщик и
системный администратор в дальнейшем будут должны осуществлять
сопровождение системы.
Перед внедрением тщательно изучается ТЗ на внедрение, а также
документация системы:
а) - руководство пользователя;
б) - рекомендации по внедрению;
в) - системные требования.
Перед проведением внедрения подготавливается площадка и создается
специальное окружение.
При настройке каждой системы из стека, проверяется работоспособность,
как самих систем, так и интеграции между собой. Система проверяется на
наличие ошибок, проводится тестовый запуск и тестовое написание автотеста.
Найденные ошибки исправляются.
После
внедрения
автоматизированного
составляется
тестирования
регламент
для
работы
сотрудников. Также
с
системой
проводится
обязательное обучение сотрудников проведением презентации о системе. [14]
После
проведения
внедрения
системы
автоматизированного
тестирования, процесс переходит в стадию промышленной эксплуатации.
Параллельно осуществляется переход к корректирующему сопровождению
системы.
Промышленная эксплуатация подразумевает под собой непосредственную
разработку автотестов под разработанные тестовые сценарии, запуск тестов и
46
прогон их на разных браузерах.
3.2
Разработка
мероприятий
по
сопровождения
системы
автоматизированного тестирования
После
проведения
внедрения
наступает
стадия
эксплуатации
и
сопровождения. Система автоматизированного тестирования является может
быть внедрена как собственными силами компании, так и специально нанятыми
на эту задачу людьми. Компания ООО ЦИТ «Факт» внедрила систему
собственными силами, так как обладала свободными трудовыми ресурсами.
Для поддержки системы автоматизированного тестирования требуется
корректирующее сопровождение, которое по своей специфике подразумевает
оперативное устранение обнаруженных ошибок в программном продукте.
Для сопровождения необходимо назначить ответственного сотрудника
компании,
который
будет
ответственным
за
выполнение
процесса
сопровождения, а именно за устранение ошибок, возникших в системе. Важно
четко понимать, какую ошибку ему необходимо устранить и какие условия при
этом нужно выполнить. Выявление ошибок будет выполняться пользователями
системы, а именно сотрудниками отдела системного администрирования или
тестировщиком, в зависимости от характера ошибки.
Как было сказано ранее, для компании ООО ЦИТ «ФАКТ» требуется
корректирующее сопровождение системы автоматизированного тестирования, и
выполняться
такой
процесс
будет
сотрудниками
отдела
системного
администрирования и тестировщиком. Алгоритм процесса сопровождения стека
систем автотестирования представлен на рисунке 7.
47
Возникла
ошибка в работе
системы
Была
обнаружена
ошибка
Отправка
уведомления о
сбое
Системный администратор
Тестировщик
Сценарий с
ошибкой
остановлен
Анализ
ошибки
Причина
ошибки
найдена
Причина
ошибки не
найдена
V
Исправление
ошибки
Отладка сценария
автотест а
Причина сбоя
найдена
Исполнитель
Ошибка
исправлена
Ошибка
исправлена
V
Исправление
сценария
автотеста
Запуск
системы
Система
автотестирова
ния запущена
Составление
отчета об
ошибке
Тестировщик
Журнал учета
ошибок
Завершение
процесса
Ошибка
описана
Рисунок 8 - Алгоритм сопровождения системы автоматизированного
тестирования
48
Ведение сопровождения системы автоматизированного тестирования
должно вестись на протяжении всего срока использования системы, т.е. до
снятия системы с эксплуатации. Срок исправления одной ошибки должен
длиться не более 1 дня. Так как сопровождение для компании ООО ЦИТ
«ФАКТ» ведется своими силами, договор о сопровождении не оформляется,
назначается
лишь
прописывается
в
ответственный
его
должностных
сотрудник,
а,
обязанностях.
следовательно,
Ответственным
это
за
сопровождение системы будет тестировщик, так как им будут писаться сами
тесты.
При возникновении ошибки в системе автоматизированного тестирования
необходимо провести анализ возникшей ошибки. По этим данным тестировщик
принимает решение либо исправить написанный автотест, либо сообщить об
ошибке программисту.[20] В процессе исправления ошибки программистом
ведется промежуточное тестирование средствами автоматизированной системы.
При выявлении ошибки в написанном автотесте, тестировщик анализирует
причину возникновения, и изменяет автотест. Подобные ошибки могут
возникнуть из-за изменения логики работы или визуальном изменении проекта.
Для ведения процесса сопровождения в компании ООО ЦИТ «ФАКТ» не
предусмотрен специальный отдел по сопровождению ввиду масштабов фирмы
и небольшого штата сотрудников. Для проведения корректирующего
сопровождения определен круг ответственных за процесс, состоящий из 4
человек. Организационная структура процесса сопровождения системы
автоматизированного тестирования представлена на рисунке 8.
49
ООО ЦИТ «ФАКТ»
Технический директор
Программист
Системный администратор
Тестировщик
Рисунок 9 - Организационная структура процесса сопровождения системы
автоматизированного тестирования
Основные роли участников процесса сопровождения системы
автоматизированного тестирования и степень их заинтересованности
представлен в виде профиля заинтересованных лиц в таблице 2.
Таблица 3 - Профили заинтересованных лиц процесса сопровождения
Заинтересова Понимание
нные
в основной
проекте лица ценности
процесса
Руководство Увеличение
компании
производительн
ости
труда
сотрудников,
контроль
эффективности
поведения
сопровождения
Сотрудники Увеличение
компании
качества
(заказчики)
продукта
Отношение
Основные
интересы
ожидается
правильное и
своевременно
е выполнение
процесса
сопровождени
я
Заинтересован Не
ность в
определен
правильном
ы
выполнении
регламента
сопровождени
я
Сокращение
Сохранение
кол-ва ошибок привычного
в
итоговом рабочего
50
Ограничен
ия
Необходи
мость
адаптации
продукте,
процесса
высокая
отказоустойчи
вость
сотрудник
ов к
увеличени
ю времени
итоговой
разработк
и проекта
Менеджер
Быстрые сроки ожидается
Увеличение
Планирова
выполнения
быстрое
заработной
ние
процесса
исправление
платы за счет рабочего
исправления
ошибок из-за увеличения
времени
ошибок
увеличения
обязанностей из-за
покрытия
возникнов
тестирование
ения
м
бизнесвнепланов
процесса
ых задач и
увеличени
я времени
тестирова
ния
Тестировщик Эффективное
Ожидание
Увеличение
Планирова
выполнение
быстрого
и заработной
ние
обязанностей
эффективного платы за счет рабочего
сопроводителя исправления
увеличения
времени
ошибок
обязанностей из-за
возникнов
ения
внепланов
ых задач
К сопроводителю, как главному участнику процесса сопровождения
предъявляется ряд требований:
а) обладать навыками работы с приложением;
б) знать особенности разработки приложения;
в) начальные навыки программирования на Java;
г) знание принципов работы браузера и web-драйвера;
д) владеть полным доступом к данным приложения;
е) умение разработки тестовых сценариев, и их автоматизации;
ж) обладать компетенцией устранения поступающих ошибок, которые
необходимо будет исправить в процессе сопровождения.
51
Данные требования легко выполнимы за счет того, что сопроводитель, как
сотрудник компании, и тестировщик, легко справится с дизайном тест кейсов и
их разработкой, а так же в работе системы.
Информационные
потоки
процесса
сопровождения
системы
автоматизированного тестирования
Для подготовки к внесению изменений в систему автоматизированного
тестирования, сопроводителю должен владеть документами, которые являются
входными для процесса:
а) руководство пользователя;
б) руководство для специалиста по сопровождению.
Несмотря на то, что сопровождение системы автоматизированного
тестирования будет проводиться внутри компании ООО ЦИТ «ФАКТ», ведение
сопроводительной документации в процессе также необходимо, как и при
заключении договора со сторонними организациями.[3]Выходными
документами, которые будут формироваться в процессе сопровождения,
являются:
а) база разработанных автотестов;
б) журнал учета ошибок;
в) задача в CRM системе с описанием проделанной работы и отметкой
времени выполнения;
г) протокол внесения изменений;
После внесения изменений в систему, обязательно должны быть
изменены и сопроводительные документы. Сопроводитель обязан предоставить
протокол внесения изменений, в котором опишет план проведения процесса
сопровождения. Так как после сдачи проекта процесс автотестирование
принимает коммерческий характер, данный процесс так же должен быть
официально подкреплён договором с заказчиком. Заявку оформляет заказчик.
Остальные документы заполняет менеджер при согласовании с заказчиком.
Ресурсы процесса сопровождения делятся на 4 основных группы:
1) Человеческие ресурсы – участники процесса.
52
2) Программные ресурсы – программные продукты, с помощью которых
выполняют процесс.
3) Технические средства.
4) Оборудование.
В таблице 3 расписаны все необходимые для компании ресурсы для
процесса сопровождения системы автоматизированного тестирования.
Таблица
4
-
Ресурсы
процесса
сопровождения
системы
автоматизированного тестирования
Ресурсы
Человеческие
Программные
Технические
Оборудование
1. Системный администратор
2. Разработчик
3. Руководитель
проекта
4. Тестировщик.
1. Система:
Microsoft
Windows 8;
2. Microsoft Office
2013;
3. Adobe Reader
9.1;
4. Антивирус
«Касперский»;
5. Системы
TestNG,
Eclipse, Maven,
Selenium
6. SQL Server;
7. PhpShtorm;
8. Браузер (любой).
9. Babun
1. Internet;
2. Облачный
сервер (Cloud
Servers).
1. АРМ (компьютер или ноутбук);
2. Смартфон;
3. МФУ.
Многое из того, что представлено в таблице уже имеется в наличие у
компании: все человеческие ресурсы, программные, оборудование, Internet. Для
внедрения и дальнейшего сопровождения компании обязательно наличие
облачного сервера, для хранения данных.
53
Заключение
Принятие решения о том, каким образом повысить качество разработки и
снизить количество ошибок в итоговом продукте, разработать новое ПО для
использования
в
компании,
провести
реинжиниринг,
внедрить
новые
технологии и пр., всегда является непростым, но зачастую необходимым для
компании. Нередко руководство принимает решение в пользу внедрения уже
существующих систем, методологий, подходов, снизив тем самым часть рисков
и расходов используя уже полученный другими компаниями опыт.
В первой главе были проанализированы существующие методы и
средства автоматизации тестирования, был сделан вывод что рынок данного
направления очень развит. Соответственно необходимо принять решение в
пользу одного из средств. Основными причинами ухудшения качества
тестирования веб-систем является нехватка времени на тестирование всех
частей итогового продукта. Внедрение автоматизированного тестирования
должно сократить объём рутинной работы и позволить тестировщикам
заниматься
более
критичными
элементами
веб-систем. Для
покрытия
наибольшей части функционала автотестами, были сформированы требования к
методике
тестирования.
Выполнение
этих
требований
обеспечивает
максимальный эффект от внедрения методики.
Во
второй
главе
автоматизированного
была
тестирования
проведена
для
разработка
повышения
качества
методики
итогового
продукта. Методика заключается в использовании стека систем автоматизации
на этапе реализации проекта для осуществления регрессионного тестирования,
и
тестирования
высоконагруженных
проектов,
в
которых
необходим
максимальный уровень отказоустойчивости. Разработка автотестов будет
происходить в среде разработки Eclipse, с помощью фреймворка TestNG и
сборщика Maven будут написаны автотесты на базе веб-драйвера Selenium.
Автотесты будут воспроизводить пользовательский сценарий, разработанный
тестировщиком на основе статистических данных метрик.
Проанализировав два разных предприятия, был сделан вывод, что в
54
компаниях,
занимающихся
в
ИТ-отрасли
похожие
проектные
группы.
Единственным различием между компаниями было отсутствие менеджера в
отделе
веб-технологий
компании
ООО
«РОНА».
Было
произведено
обоснование затрат и рисков в процессе реализации внедрения системы
автоматизированного тестированию в компанию по разработке веб-систем. В
результате обследования был вычислен срок окупаемости проекта.
В результате внедрения методики тестирования, поставленные компанией
цели, были достигнуты, а именно повышение качества продукта. Благодаря
отлаженному процессу сопровождения автотестов, оперативное нахождение и
устранение недочетов повысило качество разработки. За счет повышения
качества продукта, возрос приток клиентов, а соответственно и прибыль
компании.
55
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ
1. ГОСТ 24.003 «Единая система стандартов АСУ. Автоматизированные системы управления. Термины и определения».
2. ГОСТ Р ИСО МЭК 14764-2002 Информационная технология. Сопровождение программных средств
3. ГОСТ 34601-90 Информационная технология. Комплекс стандартов на автоматизированные системы. Автоматизированные системы. Стадии создания.
4. Константин Азарский - Тестирование. Легкий старт. 2014
5. Куканова Н. Современные методы и средства анализа и управления рисками информационных систем компаний
6. Куканова Н. Современные методы и средства анализа и управления рисками информационных систем компаний. Научная статья. [Электронный
ресурс] – Режим доступа: https://dsec.ru
7. Масааки Имаи.Гемба кайдзен. Путь к снижению затрат и повышению качества. Серия Модели менеджмента ведущих организаций". М.: Альпина
Бизнес Букс, 2013
8. РД 50-34.698-90 «Методические указания. Автоматизированные системы
требования к содержанию документов»
9. Рудинский И. Д. Технология проектирования автоматизированных систем
обработки информации и управления [Электронный ресурс]: учеб.пособие
/ И.Д.Рудинский. - М.: Горячая линия – Телеком, 2013, 304 с., - Режим доступа: http://ibooks.ru/reading.php?productid=334027 – Загл, с экрана.- ISBN
978-5-9912-0148-3
10.Святослав Куликов «Тестирование программного обеспечения. Базовый
курс.» 2017.
11.Назарова О.Б., Масленникова О.Е. Моделирование
учеб.
-метод,
пособие
/
О.Б.
Назарова,
О.Е.
бизнес-процессов:
Масленникова.
–
Магнитогорск: Изд-во Магнитогорск. гос. техн.ун-та им. Г.И. Носова,
2015. – 230 с.
56
12.
13.Тейлор Ш. Создание услуг высокого качества и управление ими; М.: itSMF
России, 2013
14.Текст стандарта ISO 9126 («Стандарт для оценки качества ПО»)
15.Текст стандарта IEEE 829-1998 («Стандарт для тестовой документации тестирования программного обеспечения»)
16.Текст стандарта ГОСТ 28195 "Оценка качества программных средств"
17. Трифонова, О.Н., Бордюг, В.Л. Выбор методологии внедрения автоматизированной и информационно-аналитической системы электронного документооборота проектно-сметной документации для инжиниринговой
компании на основе метода анализа иерархий Томаса Саати / О.Н. Трифонова, В.Л. Бордюг, Е.Г. Панченко // Nauka-rastudent.ru. – 2015. – No. 02 (142015)
/
[Электронный
ресурс]
–
Режим
доступа:
http://nauka-
rastudent.ru/14/2415/ (дата обращения: 15.01.2018).
18.Гленфорд Майерс, Том Баджетт, Кори Сандлер, The Art of Software Testing;
Пер. с англ., 2016
19.Лиза Криспин, Джанет Грегори. Agile Testing: A Practical Guide for Testers
and Agile Teams, 2016
20.Рекс Блэк Critical Testing Processes: Plan, Prepare, Perform, Perfect, 2014
21. Cedric Beust, Hani Suleiman Next Generation Java Testing, 2015.
22. Официальный сайт компании ООО ЦИТ «ФАКТ». [Электронный
источник]. – Точка доступа: http://studiofact.ru.
23. Бизнес-моделирование:
IDEF0,
DFD,
IDEF3,
FISHBONE,
FTA
[Электронный ресурс]: учебное пособие / Новикова Т.Б., Назарова О.Б.,
Петеляк
В.Е.;
ФГБОУ
ВПО
«Магнитогорский
государственный
технический университет им. Г.И. Носова». – Электрон.текстовые дан. –
Магнитогорск: ФГБОУ ВПО «МГТУ», 2015.
24.Новикова Т.Б., Назарова О.Б., Петеляк В.Е.
ARIS: теория и практика
бизнес-моделирования/ Т.Б.Новикова, О.Б. Назарова, В.Е. Петеляк. Магнитогорск: Изд-во Магн.техн. гос. ун-та, 2016. - 289 с.
57
Приложения
Приложение А. Техническое
автоматизированного тестирования
задание
на
внедрение
системы
Утверждаю
Утверждаю
Разработчик
Генеральный директор ООО
ЦИТ «ФАКТ»
_____________ Д. В. Кириллов
_____________ Д.Фатыхов
«___» _____________ 2018 г.
«___» _____________ 2018 г.
ТЕХНИЧЕСКОЕ ЗАДАНИЕ
На внедрение системы
Автоматизированного тестирования
2018 г.
58
1.Общие сведения
1.1 Полное наименование системы
Система автоматизированного тестирования.
1.2 Наименование предприятий разработчика и заказчика системы и их реквизиты
Заказчик: ООО ЦИТ «ФАКТ»
Коды предприятия:
ИНН 2351689001, КПП 235168900, ОГРН 1027700310582
Юридический и почтовый адрес:
Россия, 455000, г. Магнитогорск, ул. Ленина д. 94 стр. А
Банковские реквизиты:
Р/с 40702351689001103289
БИК 001103289
К/с 00110328900110328949
тел. +7 495 663-33-88
факс +7 495 663-33-99
Исполнитель: магистр 2-го курса ИЭиАС, направления Прикладная информатика,
Кириллов Дмитрий Викторович.
1.3 Основания для внедрения системы
Система автоматизированного тестирования внедряется с помощью компании ООО
ЦИТ «ФАКТ» на основании решения, принятого руководством предприятия по разработке
веб-сайтов.
1.4 Плановые сроки начала и окончания работ
Начало с 01.02.2018 г. по 14.03.2018 г. На основе плана-графика внедрения Система
автоматизированного тестирования.
1.5 Порядок финансирования
Финансирование работ по внедрению системы автоматизированного тестирования
производится за счет собственных средств компании ООО ЦИТ «ФАКТ».
1.6 Порядок оформления и предъявления заказчику результатов работ
Внедрение системы автоматизированного тестирования производится в соответствии
регламентом проведения мероприятий по внедрению системы, который предлагается
компанией разработчиком. Все мероприятия оформлены в виде плана-графика работ по
внедрению системы и утверждены руководством компании ООО ЦИТ «ФАКТ».
1.7 К составу отчетной документации относятся следующие документы:
Техническое задание, выполненное в соответствии с ГОСТ 34.602-89.
59
Руководство пользователя системы.
2. Назначение, функции и цель внедрения АИС
2.1 Назначение системы
Назначение системы автоматизированного тестирования представлено в двух основных
направлениях:
 автоматизированная некоторых аспектов функционального и регрессионного тестирования;
 автоматизирование процесса нахождения неисправностей, дефектов в работе вебсайта.
2.2 Цель внедрения системы
Основной целью внедрения системы автоматизированного тестирования является
автоматизация части процесса тестирования веб-сайтов разрабатываемых в компании, что
обеспечивает:
 повышение качества итогового продукта;
 снижение количества ошибок в проектах, приходящих с этапа разработки;
 оптимизация работы тестировщика;
 повышение репутации перед клиентом;
 уменьшение количества заявок от клиента о обнаруженной ошибке;
2.3 Основные функции системы
Основные функции, которые должна выполнять система или набор систем
автоматизации процесса тестирования веб-сайтов, следующие:
 запуск и взаимодействие с браузером;
 структурирование и группировка тестов;
 автоматическая генерация отчетов;
 подсветка синтаксиса;
 автоматическая сборка.
Заранее написанные автотесты для каждого проекта будут индивидуальны и
уникальны. Данные тесты должны будут работать бесперебойно каждый день, без выходных.
Об возникших сбоях при выполнении тест кейса, система должна оповещать всех участников
процесса.
3. Характеристика объекта автоматизации
Компания ООО ЦИТ «ФАКТ» - это компания, которая занимается разработкой вебсайтов, веб-порталов разных уровней сложности. Компания была основана в 2010-м году. В
60
своей работе веб-студия Факт ориентируется на результат и долгосрочное сотрудничество.
Постоянная работа с клиентом обеспечивает высокое качество, соблюдение сроков и полную
прозрачность проекта.
Специализация компании:
1. Разработка традиционных веб-сайтов.
2. Поддержка сайтов
3. Адаптивные сайты.
4. Мобильные приложения: дизайн, проектирование, разработка, интеграция, поддержка,
развитие.
5. Корпоративные порталы.
6. Дизайн в Digital: проектирование и прототипирование сайтов и интерфейсов, юзабилити (тестирование).
7. Интеграция (1С, CRM, Платёжные сервисы и т.д.)
В штате компании насчитывается около 70 сотрудников, которые занимаются
ведением, разработкой, тестированием и внедрением проектов по разработке веб-сайтов.
Именно отдел тестирования является ответственным за процесс обеспечения качества
итогового продукта. В рамках одного проекта тестирование занимает около шестидесяти
часов, но если проектов много, то тестирование сильно нагружает трудовые ресурсы отдела
тестирования. Рост компании повлек за собой необходимость изменения бизнес-процесса.
При большом количестве проектов процесс тестирования усложняется и приходится
декомпозировать
на
менее
объёмные
процессы,
которые
в
дальнейшем
можно
оптимизировать и автоматизировать. Совершается это или общими усилиями компании, или
усилиями заинтересованных в этом лиц. В компании приветствуются адекватные затраты
времени на автоматизацию деятельности, которая будет в дальнейшем повторяться. Проще
всего автоматизировать процесс, в котором есть четкий сценарий работы, когда есть некие
вводные данные и есть ожидаемый эффект. Внедрив систему автоматизированного
тестирования ожидается снижение нагрузки на тестировщиков и рост качества продукта.
3.1 Основная цель
Основная цель деятельности компании ООО ЦИТ «ФАКТ» – получение прибыли
засчет выполнения проектов по разработке и сопровождению веб-сайтов и мобильных
приложений.
3.2 Предметная область
Основной процесс предметной области – обеспечение качества проекта, который будет
оптимизирован с помощью системы автоматизированного тестирования.
61
4. Требования к системе
4.1 Общие требования
Требования к структуре и функционированию системы
Основные функции, которые должна выполнять система или набор систем
автоматизации процесса тестирования веб-сайтов, следующие:
 запуск и взаимодействие с браузером;
 структурирование и группировка тестов;
 автоматическая генерация отчетов;
 подсветка синтаксиса;
 автоматическая сборка.
Предполагаемая внедряемая система должна снизить нагрузку с тестировщиков.
Предполагается, что система будет работать как обособленная система непрерывно двадцать
четыре часа в сутки, так и развернута локально у программистов для тестирования правок до
этапа проверки тестировщиком. Система должна будет запускать прогоны и в случае
возникновения сбоя информировать об этом на почтовые адреса ответственные лица.
Требования к численности и квалификации персонала
Пользователь – это специализированный сотрудник компании, который компетентен в
вопросах
тестирования
и
разработки.
Пользователями
внедряемой
системы
автоматизированного тестирования являются сотрудники компании ООО ЦИТ «ФАКТ», а
именно:
 сотрудники отдела тестирования;
 программисты;
Сотрудники отдела тестирования должны обладать следующими навыками:
 обладать навыками работы с приложением;
 знать особенности разработки приложения;
 начальные навыки программирования на Java;
 знание принципов работы браузера и web-драйвера;
 владеть полным доступом к данным приложения;
 умение разработки тестовых сценариев, и их автоматизации;
 обладать компетенцией устранения поступающих ошибок, которые необходимо будет
исправить в процессе работы с системой.
Менеджеры проектов и программисты будут получать уведомления на email адрес, при
ошибке в прогоне автотеста.
62
Требования к охране труда
 определены внутрикорпоративным стандартом на этот вид деятельности;
 определены санитарно-гигиеническими нормами работы с вычислительной техникой
и коммуникационным оборудованием.
Требования к надежности системы
Надежность системы должна заключаться как в устойчивости к внешним воздействиям,
связанным с человеческими факторами, так и к внутренним воздействиям операционной
среды технического средства:
 устойчивость к взлому системы, копированию данных, входа посторонних лиц в систему и к незаконному изменению данных и системы;
 устойчивость оборудования к перепадам напряжения;
 устойчивость БД системы;
 устойчивость к одновременному использованию большого количества сотрудников
тех или иных функций;
 автоматическое сохранение данных;
 логирование изменений;
 индивидуальная авторизация каждого пользователя для каждой машины;
 отдельные доступы к серверу.
Перечень аварийных ситуаций, по которым должны быть регламентированы требования
к надежности, и значения соответствующих показателей:
 непредвиденное отключение электроэнергии;
 поломка серверного оборудования;
 пожар;
 затопление;
 непредвиденное отключение Интернета.
Для обеспечения целостности, корректности и надежности данных, а также
эффективности работы каждого пользователя система поддерживает следующие принципы:
 корректность изменения информации – одновременное редактирование одних и тех
же данных несколькими пользователями запрещено;
 последовательный ввод информации – при одновременной передаче данных к одному
источнику, сохраняется последовательность передачи, исключая возможных задержек;
 синхронизация данных.
За сохранность и корректность данных в процессе их передачи, редактирования и
хранения отвечает системный администратор компании.
63
Удаление ненужной информации производится сотрудниками компании, руководством
или системным администратором в зависимости от типа удаляемой информации и
доступности ее для удаления те или иным человеком. При удалении данных система
несколько раз выдает сообщения для подтверждения совершаемых действий.
Каждый автотест храниться на сервере, защищенном от общего доступа, все
пользователи кроме тестировщика имеют права только на чтение. Редактировать тест может
только тестировщик, в тоже время создавать новые тесты и подключать их к своей ветке
разработки разрешено всем пользователям.
Требования к безопасности системы
Информация, расположенная в системе, делится на 2 основные части:
1. Информация, расположенная в облачном пространстве – рабочие данные, которые были загружены пользователями системы.
2. Данные, конфигурации текущей системы.
В связи с этим, должен быть составлен договор о конфиденциальности информации,
хранящейся на хостинге, который будет гарантировать сохранность данных.
Требования к эксплуатации, техническому обслуживанию, ремонту и хранению
компонентов системы
 система должна постоянно функционировать при наличии подключения к сети Интернет в любое время суток;
 обслуживание системы осуществляет как системной администратор компании компания ООО ЦИТ «ФАКТ», так и тестировщик.
Основными мероприятиями по обслуживанию системы, осуществляемому системным
администратором компании являются:
Диагностика сервера, как минимум 3 раза в неделю и при возникновении неполадок.
При
выявлении
неполадок
в
работе
системы
системный
администратор
должен
зарегистрировать факт возникновения неполадки. После проведения диагностики и анализа,
если проблема со стороны системного администратора, должны быть устранены как
неполадка, так и её причина. Кроме того, системный администратор должен реагировать на
любые сообщения пользователей о возникновении неполадок в работе системы. Так же
системный администратор должен выполнять резервное копирование хранящейся на сервере
базы каждую ночь, посредством автоматизированного средства.
 Разработано руководство по установке.
 Все действия по администрированию выполняются по руководству системного администратора.
64
Требования к эргономике и технической эстетике
Для комфортной и эффективной работы в системе автоматизированного тестирования
должны быть выполнены следующие требования:

мощности и быстродействия аппаратного обеспечения;

соответствия аппаратного обеспечения современному уровню (моральное уста-
ревание оборудования ведёт к снижению комфортности работы на нём);

мощный, быстрый и бесперебойный Интернет.
Требования к интерфейсу пользователя
Система должна иметь дружественный пользовательский интерфейс, который
поможет эффективно работать как опытному пользователю, так и начинающему. Это
достигается засчет следующих особенностей интерфейса:

удобное расположение пользовательского интерфейса – все функциональные
кнопки и поля расположены в удобных, легко видимых местах для быстрого перемещения в
системе;

дизайн системы – дизайн системы выполнен в приятных пользователю цветах,
каждое поле, кнопка, надпись выполнена в одинаковых стилях;

использование клавиатуры и «мыши» – основные элементы управления ориен-
тированы на работу с «мышью» (к примеру, панель инструментов, полосы горизонтальной и
вертикальной прокрутки, всплывающие меню) и продублированы «горячими» клавишами;

справочная информация – при возникновении вопросов по использованию тех
или иных функций системы предусмотрена справочная информация с инструкциями по эксплуатации;

поиск информации – для удобного перемещения по системе и поиска необхо-
димой информации предусмотрено поле ввода искомой информации по ключевым словам;

возможность настройки отображаемых элементов самому пользователю.
4.2 Требования к видам обеспечения
Требования к техническому обеспечению
Важнейшим фактором, который необходимо учесть при внедрении системы, является
соответствие потребностей в ресурсах имеющемуся на предприятии техническому
обеспечению.
Таблица
А.1
–
Минимальные
технические
требования
к
рабочим
местам
пользователей
Предназначение
АРМ
АРМ для тести-
Состав АРМ
Характеристики
Моноблок MSI AE202-023RU клавиа-
Intel Celeron 1037U / RAM
65
ровщика
тура, мышь, смартфон с установленным 4GB / HDD 500GB / DVDмессенджером Телеграмм
RW / 19,5" HD LED / WiFi /
WebCam /
АРМ директора
АРМ Системного
администратора
Моноблок Apple iMac , Телефон, Лазерное МФУ HP LaserJet Pro MFP
M125r клавиатура, мышь, смартфон с
установленным мессенджером Телеграмм
Системный блок DNS Prestige XL
0805941, монитор Samsung S24E391HL
клавиатура, мышь, смартфон с установленным мессенджером Телеграмм
рtina 5K 27" Core i5 3,5 ГГц,
8 ГБ, Fusion Drive 1 ТБ, AMD
R9 M290X
Ubuntu, Core i7 4790, 4000
МГц, RAM 16 Гб, HDD1 ТБ,
AMD Radeon R9 270 2048 Мб
Данное требование обеспечивается следующими характеристиками решения:

использование MS Windows в качестве платформы для функционирования сер-
вера приложения системы;

использование PostgreSQL 9 в качестве системы управления базами данных;
Требования к организационному обеспечению
Для организации эффективной работы с внедряемой системой автоматизированного
тестирования необходимо провести ряд подготовительных мероприятий:

перед допуском пользователя к работе в системе необходимо обязательное про-
хождение им обучения, а также инструктажа;

в системе необходимо разграничить доступ каждого отдела сотрудников к той
или иной информации;
Все
мероприятия
проводятся
согласно
плану-графику
внедрения
системы
автоматизированного тестирования.
Для комфортного обучения и дальнейшей работы сотрудников с системой
разработано руководство пользователя.
Требования к программному обеспечению
Программное обеспечение должно обладать следующими свойствами:

функциональная достаточность (полнота);

надежность (в том числе восстанавливаемость, наличие средств выявления
ошибок);

адаптируемость;

модифицируемость;

модульность построения и удобство эксплуатации.
5. Состав и содержание работ по внедрению системы
66
Состав и содержание работ по внедрению системы отражены в план-графике на
внедрение системы автоматизированного тестирования в компании ООО ЦИТ «ФАКТ»
представленном на рисунке А.1.
Рисунок А.1 - План-график по внедрению системы автоматизированного тестирования
6. Порядок контроля и приемки
Регламентирован стандартом ГОСТ 19.301-79 и отражен в план-графике на внедрение
системы автоматизированного тестирования в компании ООО ЦИТ «ФАКТ».
7.Требования к составу и содержанию работ по подготовке объекта автоматизации к
вводу системы в действие
Состав и содержание работ по вводу системы в действие рассмотрены в плане-графике
на внедрение системы автоматизированного тестирования в компании ООО ЦИТ «ФАКТ».
Перед
опытной
эксплуатацией
корпоративной
системы
автоматизированного
тестирования необходимо провести следующее:

написать автотесты для проектов клиентов, заключивших договор;

настроить интеграцию с почтовой системой;

настроить генерируемые отчеты
8. Источники разработки
Перечень стандартов и базовых нормативных документов для выполнения проекта
приведен ниже:
67

ГОСТ 34.601-90 «Автоматизированные системы. Стадии создания»

ГОСТ 34.602-89 «Техническое задание на создание автоматизированной систе-

ГОСТ 34.603-92 «Виды испытаний автоматизированных систем»

ГОСТ P ИСО/МЭК 12207-99 «Процессы жизненного цикла ПС».

ГОСТ P ИСО/МЭК 14764 – 2002 «Сопровождение ПС».

ГОСТ P ИСО/МЭК 15271 – 2002 «Руководство по применению ГОСТ P
мы».
ИСО/МЭК 12207 – 99 (процессы ЖЦПС)».

ГОСТ P ИСО/МЭК 12119-2000 «Пакеты программ. Требования к качеству и те-
стированию».
Список сокращений
ООО
Общество с ограниченной ответственностью
ЦИТ
Центр Интернет-Технологий
СОСТАВИЛИ
Наименова
ние
Должнос
организац
ть
ии,
исполнит
предприят
еля
Фамилия
имя,
отчество
Подп
ись
Дата
ия
МГТУ им.
Г.И. Носова
Студент,
разработчик
Кириллов
Дмитрий
Викторович
СОГЛАСОВАНО
Наименова
ние
организац
ии,
предприят
Должнос
ть
исполнит
еля
Фамилия
имя,
отчество
68
Подп
ись
Дата
ия
ООО ЦИТ
«ФАКТ»
Генераль
ный директор
Фатыхов
Дмитрий
69
Приложение Б Устав внедрения системы
тестирования в компанию ООО ЦИТ «ФАКТ»
автоматизированного
Устав проекта внедрения системы автоматизированного тестирования
ИНФОРМАЦИЯ О ПРОЕКТЕ
Внедрение
Наименование
системы
тестирования в компании ООО ЦИТ «ФАКТ»
проекта
Спонсор проекта
ООО ЦИТ «ФАКТ»
Руководитель проекта
Кириллов Д.В
Другие
участники
проекта
Дата
автоматизированного
создания
документа
Кочетков А.В., Гайрабедянц Д.А., Гарбар Е.А.
15.01.2018
ОПИСАНИЕ ПРОЕКТА
Причины инициации проекта:
Компания ООО ЦИТ «ФАКТ» имеет достаточно высокую репутацию. Она постоянно
развивается и расширяется, происходит увеличение количества проектов, а в частности
крупных дорогостоящих проектов. Следствием этого является потребность в постоянном
совершенствовании качества предоставляемых услуг и предложении новых удобных и
полезных услуг.
При разработке приложения необходимо обеспечить выполнение всех требований к
системе и налагаемых ограничений. По мере возрастания роли ИТ в компании растет и
потребность в обеспечении высокого уровня качества продукта. Конечным результатом
должен являться рабочий продукт, поэтому особое внимание стоит уделять и тестированию
программного продукта.
Принятое решение по автоматизации процессов деятельности предприятия зависит,
прежде всего, от точек падения производительности процесса, которые часто возникают в
компании и которые можно решить с помощью автоматизации.
Содержание проекта:
Содержание проекта определено составленным планом-графиком (Приложение А) по
внедрению системы автоматизированного тестирования в компании ООО ЦИТ «ФАКТ».
Проект состоит из следующих этапов:
1. Анализ потребностей. Составление брифа, выявляющего все потребности компании, а
именно отдела тестирования и отдела системного администрирования, базовые цели,
критерии и так далее.
2. Составление ТЗ на внедрение, с указанием сроков, ресурсов.
3. Техническое решение. Решение проблем с установкой ПО и его отладкой для запуска.
4. Подготовительные работы. Составление инновационной группы пользователей или
выбор пилотного отдела, создание плана работы для них, обучение, выработка по-
70
5.
6.
7.
8.
этапного плана внедрения портала. Выбор первоначальных целей и отработка тактики
по их внедрению.
Проведение тестового внедрения для выявления возможных ошибок и дополнительных потребностей для полного внедрения системы.
Внедрение системы автоматизированного тестирования.
Обучение. Сформировать план обучения сотрудников.
Интеграция с почтовым сервисом.
Цели проекта:
1.
2.
3.
4.
5.
6.
7.
Снижение количества ошибок в итоговом продукте на 30%.
Получение прибыли;
Привлечение новых клиентов;
Постоянное улучшение деятельности компании;
Улучшение условий работы сотрудников;
Постоянное совершенствование предоставляемых услуг.
Улучшение отношений с клиентами.
Результат проекта:
Результатом проекта будет являться внедренная система автоматизированного
тестирования в компании ООО ЦИТ «ФАКТ» и составленный регламент на сопровождение
системы на срок, равный сроку использования системы.
Ограничения проекта и допущения проекта:
Ограничение 1. Выполнение проекта может быть ограничено бюджетными рамками.
Ограничение 2. Реализация проекта может быть ограничена установкой
дополнительного оборудования и собственного сервера.
Ограничение 3. Выполнение всех задач проекта может быть ограничено временем,
так как компания не всегда может выделять ресурсы на внедрение.
Ограничение 4. Обязанности сотрудников могут возрасти в первые недели, после
внедрения системы, за счет недостатка практических знаний работы в новой системе.
Допущение 1. В процессе разработки проекта возможно превышение графика работ
на 2-3 недели.
Допущение 2. Результаты проекта могут появится не сразу.
Допущение 3. Бюджет проекта может быть увеличен максимум на 20 тысяч рублей.
УТВЕРЖДЕНО:
Должность
Дата
Подпись
Должность
Дата
Подпись
71
Приложение
А.
План-график
внедрения
тестирования в компании ООО ЦИТ «ФАКТ»
72
системы
автоматизированного
Приложение Б. Орг. структура проекта внедрения системы автоматизированного
тестирования в компании ООО ЦИТ «ФАКТ»
ООО ЦИТ «ФАКТ»
Технический директор
Программист
Системный администратор
Тестировщик
Рисунок Б.1 - Организационная структура проекта внедрения
Таблица Б.1 –Таблица распределения ролей и ответственности
Роль
Ответственность / функции
Технический
Как непосредственный начальник остальных участников
директор компании
проекта полностью контролирует процесс внедрения системы.
Координирует работу Исполнителей проекта. Помогает в
процессе решения сложных задач.
Руководитель
отдела
Куратор
проекта
непосредственно
не
руководит
системного проектными работами. Обеспечивает успешность внедрения со
администрирования
Системный
администратор
стороны сервера, и обеспечивает должный уровень безопасности
Главный ответственный за его успешное завершение.
Уровень
ответственности
соответствующими
самостоятельно
должен
полномочиями
принимать
73
решения
сопровождаться
и
в
возможностью
рамках
проекта
внедрения. Проводит полный перечень работ по внедрению. На
этапе завершения составляет отчетную документацию.
Программист
Помощь в выполнении задач, связанных с доработкой
внедряемой системы.
Тестировщик
Его цель - обеспечение успеха проекта посредством
принятия стратегических решений и частичным выполнением
задач по выполнению внедрения системы. Ответственен за
составление регламентов в конце проекта.
74
Приложение В. Должностная инструкция инженера по тестированию
УТВЕРЖДАЮ
Директор
__________ А.А. Спиваков
«___» ____________20__ г.
Должностная инструкция
Инженера по тестированию
Департамента проектной деятельности
75
1. Общие положения
Должность: инженер по тестированию
Порядок назначения и освобождение от должности: в установленном действующим
законодательством порядке приказом директора ООО «Рона».
Основополагающие
организационно-правовые
документы, регламентирующие
служебную деятельность и полномочия:
- Трудовой кодекс РФ;
- федеральные законы РФ;
- руководящие и нормативные материалы, регламентирующие использование
вычислительной техники при обработке информации;
- положение о подразделении;
- приказы и распоряжения руководства;
- нормативные документы предприятия;
- настоящая инструкция.
Подчинен ие: директору департамента проектной деятельности.
Порядок замещения: лицо, назначенное в установленном порядке приказом директора
предприятия.
Квалификационные требования:
- высшее техническое или экономическое образование.
- стаж работы от 2 лет.
Дополнительные требования:
-Корпоративные: лояльность к компании, клиентоориентированность, работа в команде.
-Профессиональные знания и навыки:
- знание теории и методологии тестирования;
- понимание процесса жизненного цикла ПО;
- понимание особенностей тестирования различных типов продуктов: WEB, мобильные
приложения и т.п.;
- базовые технические навыки в соответствующей области (способность самостоятельно
посмотреть лог, сделать HTTP-запрос и т.п.);
- навыки работы с технической документацией, составление тест-кейсов, чек-листов,
планов тестирования;
- навыки работы в багтрекинговых системах;
- опыт работы с реляционными базами данных (Oracle, Microsoft SQL Server);
- знание SQL на уровне написания базовых запросов;
- желательно знание и практические навыки работы с soap и rest запросами.
- Личные качества: ответственность, инициативность, дисциплинированность, готовность к
изменениям, стрессоустойчивость.
- Дополнительные знания и навыки:
- значения специальных терминов, применяемых в аптечной организации;
- структуру Компании;
- используемое в подразделении ПО.
1
2. Цели:
- обеспечение соблюдения требований к web-сайту аптеки;
- тестировние и обеспечение должного уровня качества web-ресурсов.
3. Должностные обязанности
Должностные обязанности инженер по тестированию представлены в таблице №1.
Таблица 1 – Должностные обязанности
Оформля
Периодично
Взаимо
Функции
емый
сть
действие
документ
Тестирование проектов компании (Web,
Ежедне
Внутри
Desktop, Mobile).
вно
департамент
Обнаружение,
отслеживание,
БагЕжедне
Внутри
документирование ошибок.
репорт
вно
департамент
Разработка и оптимизация тестовой
Тест-план.
Еженед
Внутри
документации.
ельно
департамент
Кроссбраузерное тестирование.
БагЕжедне
Внутри
репорт
вно
департамент
Взаимодействие
с
разработчиками,
Ежедне
Внутри
аналитиками.
вно
департамент
1
Тестирование
программного
БагПо
Внутри
обеспечения в соответствии с планом.
репорт
плану работ департамента
2 Cогласование с руководителем планов и
сроков выполнения этапов работ.
3 Разработка
тестовых сценариев.
плана
тестирования
и
Тест-план.
Багрепорт
4 При внедрении нового программного
решения осуществлять поддержку корректного
функционирования и соответствия получаемого
результата c согласованными требованиями. В
случае некорректной работы программного
продукта
незамедлительно
информировать
исполнителя
5
Проведение
регрессионного
тестирования
6 Консультация коллег, осуществление
обмена опытом.
Багрепорт
72
По
мере
необходимос
ти
По
мере
необходимос
ти
По
мере
необходимос
ти
Внутри
департамента
По
плану работ
По
мере
необходимос
ти
Внутри
департамента
Внутри
департамента
Внутри
департамента
Внутри
департамента
7
Проведение
работ
администрированию тестовой среды.
по
По
Внутри
мере
департамента
необходимос
ти
8
Оперативное
информирование
По
Внутри
руководителя о
невозможности выполнения
мере
департамента
должностных обязанностей в срок.
необходимос
ти
Кроме вышеперечисленных функций инженер по тестированию должен выполнять разовые
поручения руководителя.
4. Права
Инженер по тестированию имеет право:
- знакомиться с проектами решений руководства, касающимися его деятельности;
- Запрашивать лично или по поручению своего непосредственного руководителя от
специалистов подразделений информацию и документы, необходимые для выполнения его
должностных обязанностей;
- вносить на рассмотрение руководства предложения по улучшению деятельности
предприятия по вопросам связанным с его деятельностью;
- подписывать и визировать документы в пределах своей компетенции;
- инициировать, проводить и участвовать в совещаниях по вопросам, относящимся к его
деятельности;
- требовать выполнения производственных процессов в соответствии с требованиями ТК
РФ;
- требовать от пользователей информационных систем корректной и добросовестной
работы в этих системах в соответствии с регламентами и инструкциями;
- распоряжаться выделенными трудовыми, материальными, техническими, финансовыми
ресурсами;
- требовать от руководства оказания содействия в исполнении должностных обязанностей,
возложенных на него, и в реализации прав, предусмотренных настоящей инструкцией;
- привлекать специалистов всех (отдельных) структурных подразделений к решению задач,
возложенных на него (если это предусмотрено положениями о структурных подразделениях, если
нет - то с разрешения их руководителей);
- пользоваться различными внешними источниками для получения информации,
необходимой для осуществления должностных (трудовых) обязанностей;
- пользоваться иными правами, предусмотренными для работников Компании.
5. Ответственность
Инженер по тестированию несет ответственность за:
- за неисполнение поручений руководства;
- нарушение норм Гражданского и Трудового кодекса Российской Федерации;
- несвоевременное и некачественное выполнение функциональных обязанностей,
определенных в трудовом договоре, регламенте АС УП 01-003 «Деловое общение» и настоящей
должностной инструкции;
- несвоевременное и некачественное предоставление исходной информации в
подразделения и вышестоящим руководителям;
73
- нарушение правил по охране труда и пожарной безопасности, промышленной санитарии
и охране окружающей среды;
- нерациональное использование трудовых, материальных, технических, энергетических,
финансовых ресурсов;
- за причинение материального ущерба в пределах, определенных действующим трудовым
и гражданским законодательством Российской Федерации;
- необеспечение конфиденциальности в работе отдела со сведениями, составляющими
служебную и экономическую (коммерческую тайну).
Разработано:
Начальник отдела управления
информационными потоками
Ю.В. Артемьев
Согласовано:
Начальник ЮО
Е.М. Вдовенко
Бизнес-технолог
М.В.
Лузик
74
Скачать