WWW.LIB.KNIGI-X.RU
БЕСПЛАТНАЯ  ИНТЕРНЕТ  БИБЛИОТЕКА - Электронные матриалы
 


«Кафедра Вычислительных систем Допустить к защите Зав.каф. _Мамойленко С.Н. ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА МАГИСТРА Исследование ...»

Федеральное агентство связи

Федеральное государственное бюджетное образовательное учреждение

высшего образования

«Сибирский государственный университет телекоммуникаций и информатики»

(СибГУТИ)

Кафедра Вычислительных

систем

Допустить к защите

Зав.каф. ___________Мамойленко С.Н.

ВЫПУСКНАЯ

КВАЛИФИКАЦИОННАЯ РАБОТА

МАГИСТРА

Исследование инструментов автоматизированного тестирования

веб-приложений, сайтов и биллинговых систем

Магистерская диссертация по направлению 09.04.01 «Информатика и вычислительная техника»

Студент /Нгуен Р.Ш./ Руководитель / Молдованова О.В./ Новосибирск 2016 г.

СОДЕРЖАНИЕ 1 Введение

1.1 Основное определение

1.2 История возникновения тестирования программного обеспечения...... 5

1.3 Обзор используемой литературы

2 Постановка цели и задачи

2.1 Цель работы

2.2 Задача работы

3 Общие понятия

3.1 Виды тестирования

3.2 Типы тестирования

3.3 По степени автоматизации

3.4 Три уровня автоматизации тестирования

4 Обзор технологий

4.1 Sikuli IDE

4.2 Selenium Webdriver

4.3 Auto-it

4.4 SilkTest

5 Выбор технологий

5.1 Auto-it

5.2 SilkTest

5.3 Selenium

5.4 Sikuli

6 Использование и исследование необходимых технологий

6.1 Дополнительные технологии

6.2 Полный цикл прогона всей системы мониторинга

6.3 Практическая часть

6.4 Проекты, введенные в эксплуатацию

7 Вывод

8 Список используемых источников

1 Введение

1.1 Основное определение Тестированием программного обеспечения представляет собой исследование, исполненное для определения заинтересованным сторонам информации о качестве продукта или сервиса при их испытании. Тестирование программного обеспечения также может дать объективную, независимую от программного обеспечения оценку, что позволит бизнес - сектору оценить и понять риски, связанные с реализацией тестируемого программного обеспечения. Методы тестирования включают в себя процесс выполнения программы или приложения с целью обнаружения ошибок в программном обеспечении (ошибки или другие дефекты).

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

В целом, эти свойства показывают уровень, где компонент или тестируемая система:

–  –  –

сторонами.

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

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

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

- Agile подход, выставление требований, программирование и тестирование часто выполняются одновременно.

1.2 История возникновения тестирования программного обеспечения

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

В 1960-е и 1970-е годы был разработан метод, известный как «доказательство корректности», но это на его применение тратилось достаточно много времени, и при этом система тестировалась недостаточно.

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

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

Компьютеры могли бы выполнить больше тестов по сравнению с людьми, что являлось повышением эффективности тестирования программного обеспечения.

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

В 2000-е годы был разработан метод тестирования, известный как BTO (Business Technology Optimization). В этом методе тестирования программного обеспечения были приняты во внимание организация бизнес цели программы и эффективность программы. Данный метод был разработан для измерения ценности программы и максимизации ее за счет повышения производительности.

1.3 Обзор используемой литературы Рекс Блэк. «Ключевые процессы тестирования – планирование, подготовка, проведение, совершенствование»

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

– подготовке успешного тестирования.

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

После прочтения предыдущего материала возникает момент основного логического перехода в процессе тестирования.

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

Если это происходит вне группы тестирования, то при информировании о результатах тестирования могут возникать конфликты и неприятные неожиданности. Когда проектная группа, которая не смогла предвидеть необходимости изменений, должна принять решения в связи с плохими результатами тестирования, может возникнуть неопределенность.

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

Элфрид Дастин, Джефф Рэшка, Джон Пол. Автоматизированное тестирование программного обеспечения. Внедрение, управление и эксплуатация Книга «Автоматизированное тестирование программного обеспечения»

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

Предметом книги является автоматизированное тестирование в среде клиентсервер или Web.

Книга будет полезна тестировщику/тест-менеджеру, сталкивающемуся с необходимостью выполнения тестирования более быстро и тщательно, разработчику, который обязан провести тестирование проекта (т.е.

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

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

Представлено руководство по внедрению автоматизированного тестирования в проекте, и описан процесс планирования, проектирования, разработки, выполнения и оценки тестирования.

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

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

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

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

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

Но все же, специалисты программного обеспечения могут не представлять, что представляет из себя внедрение средств тестирования в проект, и могут быть не знакомы с потенциальными возможностями, которыми сегодня обладают средства автоматизированного тестирования. «Автоматизированное тестирование программного обеспечения» послужит руководством в этих областях.

Рост потенциальных и реальных возможностей автоматизированного тестирования вызван исходя из роста популярности ускоренной разработки приложений (RAD) – методологии разработки программного обеспечения, уделяющей огромное внимание сокращению сроков разработки, предоставляя при этом возможность получения различных версий программного продукта всевозрастающего объема с высокой частотой. Целью RAD, на самом деле, является участие пользователя во всех этапах проектирования и разработки, начиная с первоначальных, при выпуске каждой версии с тем, чтобы улучшить программное обеспечение, гарантируя при этом, что оно в наибольшей степени отражает потребности и предпочтения пользователя. В данной среде периодических изменений и дополнений к программному обеспечению при переходе от одной версии к другой, при поощряющем развитии требований, тестирование приобретает итеративную природу. Каждая новая версия сопровождается значительным количеством новых тестов, а также переработкой существующих тестовых скриптов. Таким образом, автоматизированное тестирование программного обеспечения становится важным механизмом проверки, гарантирующим точность и стабильность программ по мере выпуска новых версий.

Первостепенной задачей RAD является сокращение суммарного времени разработки за счет рассмотрения самых рискованных аспектов разработки в ранних версиях. В итоге тестирование выполняется в начале первичного цикла RAD, а также в рамках каждого последующего цикла RAD. Как отмечается в части III книги, проектирование и разработка тестирования представляют собой сложное дело. Процесс тестирования может оказаться столь же трудоемким, что и разработка программных приложений. Если, например, проект включает в себя интеграцию готовых прикладных продуктов (COTS), тестирование может потребовать даже больших ресурсов, чем разработка. В случае если команда тестировщиков не участвует в создании спецификации программного обеспечения или тестирование начинается на поздних этапах, проект становится более рискованным. Результатом этого могут быть незавершенные работы по тестированию, нехватка времени на тестирование и незапланированное увеличение сроков разработки для обеспечения тестирования.

Большинство видов работ, требуемых сейчас при проектировании, должно поддерживаться автоматизированными инструментальными средствами тестирования. Ручное тестирование трудоемко, подвержено ошибкам и не обеспечивает тот же уровень проверки качества, который возможен при использовании автоматизированных средств тестирования.

Внедрение автоматизированных средств заменит ручное тестирование более эффективной и воспроизводимой средой автоматизированного тестирования.

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

Сэм Канер, Джек Фолк, Енг Нгуен. Тестирование программногообеспечения

Книга именитых специалистов в области разработки программного обеспечения посвящена одному из наиболее важных и нетривиальных аспектов в рамках процесса создания сложных программных систем. Книгу отличает, прежде всего, привязка к условиям реального мира на примерах известных компаний-разработчиков, находящихся в Силиконовой долине. Подробно рассматривается широкий спектр вопросов: от организации процесса тестирования до собственно текстирования проекта, кода, документации и т.д.

Для специалистов в области разработки программного обеспечения.

Святослав Куликов. «Тестирование программного обеспечения. Базовыйкурс.»

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

Джеймс Уиттакер, Джейсон Арбон, Джефф Каролло. Как тестируют вGoogle

В книге описано тестирование программных продуктов в Google: как устроены процессы, как организованы команды, какие техники используются, кто ответственен за качество. Принципы, на которых построено тестирование в Google, применимы в проектах и компаниях любого размера. Авторы книги сами работали над продуктами Google, создавая инструменты тестирования, настраивая процессы и занимаясь непосредственно тестированием.

Книга рассчитана на профессионалов из индустрии разработки программного обеспечения: специалистов по тестированию, программистов, менеджеров.

2 Постановка цели и задачи2.1 Цель работы

Необходимо исследовать средства автоматизированного тестирования для построения качественной системы мониторинга веб-приложений, сайтов и биллинговых систем ПАО «МТС».

«Мобильные ТелеСистемы» (МТС) — российская телекоммуникационная компания, оказывающая услуги в России и странах СНГ под торговой маркой «МТС». Компания оказывает услуги сотовой связи (в стандартах GSM, UMTS (3G) и LTE), услуги проводной телефонной связи, широкополосного доступа в интернет, мобильного телевидения, кабельного телевидения, спутникового телевидения, цифрового телевидения и сопутствующие услуги, в частности услуги по продаже контента.

По состоянию на март 2014 года компания во всех странах своего присутствия обслуживала более 107 миллионов абонентов.

Критерии для выбора средства:

-надежность

-бесплатно распространяется

-гибкая настройка под все виды испытуемых систем

-поддержка всех видов испытуемых систем

-возможность мониторинга

-легко сопровождаема

-имеется возможность легкой разработки и правки(возможно визуальное программирование)

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

Изначальные требования:

Пользователь авторизован в ПК.

A.

–  –  –

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

Автоматизированное тестирование программного обеспечения — процесс тестирования программного обеспечения, где основные функции и шаги теста, такие как запуск, инициализация, выполнение, анализ и выдача результата, с помощью инструментов для автоматизированного тестирования производятся автоматически.

Но сам инструмент для автоматизированного тестирования — это программа, с помощью которой осуществляется создание, отладка, выполнение и анализ результатов прогона тест-скриптов (Test Scripts — это список инструкций для автоматической проверки задаваемой изначально части программного обеспечения).

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

3.1 Виды тестирования Видов тестирования достаточно много и все они разбиваются на определенные подвиды, исходя из своего назначения и применения в различных сферах тестирования.

По объекту тестирования

–  –  –

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

Функциональное тестирование не подразумевает тестирование функции (метода) вашего модуля или класса. Функциональное тестирование проверяет общую функциональность всей системы.

Функциональное тестирование включает в себя:

–  –  –

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

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

Возможны два подхода к тестированию производительности программного обеспечения:

1. в терминах рабочей нагрузки: программное обеспечение подвергается тестированию в ситуациях, соответствующих различным сценариям использования;

2. в рамках бета-тестирования, когда система испытывается реальными конечными пользователями.

Рассмотрим виды тестирования производительности:

–  –  –

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

Стресс-тестирование

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

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

Конфигурационное тестирование

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

Юзабилити - тестирование

Юзабилити - тестирование является методом тестирования программного обеспечения, которое используется для того, чтобы понять эргономично ли испытуемое ПО или нет.

То есть тестирование позволяет ответить на вопрос:

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

Тестирование безопасности

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

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

Тестирование локализации

Тестирование локализации представляет собой тестирование программного обеспечения на предмет локализации в зависимости от языка, ассоциаций, региона/страны/города. Зачастую на локализацию влияет не только местоположение тестируемого объекта, но и менталитет пользователей, который также необходимо учитывать при создании определенных сценариев и логических цепочек в приложениях.

Тестирование совместимости

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

Проверяется будут ли мешать друг другу приложения, имеются ли какие то конфликты в плане версионности, обратно ли они совместимы или нет и тд.

3.2 Типы тестирования

–  –  –

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

Признаки подхода «черный ящик»:

1.Тестировшик не знает, как устроен механизм обработки входных данных.

2.Идеи для тестирования идут от предполагаемых паттернов(pattern – образец) поведения пользователей. Поэтому подход «Черный ящик» также называется поведенческим.

Для начала рассмотрим первый признак. С одной стороны это дает преимущество, т.к. если тестирует программист, то он нередко воспринимает код как априорно непогрешимый.

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

Рассмотрим второе. Исполнение тестирования может происходить как при наличии, так и без тест кейсов.

Например, рассмотрим следующий тестовый сценарий (Последовательность действий для достижения фактического результата ):

1)Открыть сайт ***

2)Ввести текст «привет»

3)Нажать искать Здесь текст «привет» является данными к тест-кейсу.

Основные источники паттернов:

1)Спецификация

2)Найдены путем эксплоринга(использования софта для понимания того, как реальный пользователь будет с ним обращаться).

3)Черный ящик

4)Интуиция

5)Совет программиста

6)Другие источники В отличие от «Черного ящика» при подходе «Белый ящик» тестировщик основывает идеи для тестирования на знании об устройстве и логике тестируемой части.

Тестировочное покрытие состоит из двух вещей:

1)Покрытие возможных сценариев

2)Покрытие исполнения тест-кейсов Покрытие возможных сценариев - величина, показывающая процентное соотношение сценариев, зафиксированных в тест кейсах, ко всем теоритически возможным сценариям.

Покрытие исполнения тест-кейсов- это процентное отношение исполненныхтест-кейсовк общему количествутест-кейсов.

Симбиоз подходов «Черный ящик» и «Белый ящик» увеличивает покрытие возможных сценариев.

«Серый ящик» - подход, сочетающий в себе элементы двух предыдущих подходов

3.3 По степени автоматизации Также тестирование делится еще на два подтипа «по степени автоматизации» на ручное и автоматизированное.

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

Но все-таки, перед автоматизацией тестирования абсолютно любого приложения, нужно выполнить серию тестов вручную. Для ручного тестирования программного обеспечения нужно приложить значительные усилия, для доказательства того, что мы сможем применить здесь автоматизацию. А также не стоит забывать, что все таки 100% автоматизация не возможна в принципе и ручное тестирование периодически необходимо.

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

Тестирование может быть очень непростым занятием. Проведение тестирования для проверки максимально возможного количества путей выполнения с использованием минимального числа тест-кейсов требует серьезных аналитических навыков.

Рассмотрим, какие же преимущества дат тестировщику автоматизация:

Человеческий фактор исключается. Это достаточно весомый аргумент.

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

Также имеется возможность в формировании отчетов – мы можем настроить как и вид отчетов, так и их отсылку.

Тесты могут выполняться в любое время суток, а разработчик заниматься другими важными делами

Вместе с тем имеет место и ряд недостатков, таких как:

Однообразно выполняемые тесты является минусом и плюсом одинаково, так как разработчик может обратить внимание на какие-то детали при ручном тестировании и найти ошибку. При автоматизации, данное действие невозможно.

Пропорционально растут затраты на сопровождение от частоты изменений тестируемого приложения.

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

Стоимость инструмента для автоматизации – в случае, если используется лицензионное ПО, его стоимость может быть достаточно высока.

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

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

3.4 Три уровня автоматизации тестирования

Условно, тестируемое приложение можно разбить на 3 уровня:

o Unit Tests Layer o Functional Tests Layer (Non-UI) o GUI Tests Layer Для обеспечения лучшего качества продукта, рекомендуется автоматизировать все 3 уровня.

Рассмотрим более детально стратегию автоматизации тестирования на основе трехуровневой модели:

Уровень модульного тестирования (Unit Test layer) Под автоматизированными тестами на этом уровне понимаются Компонентные или Модульные тесты написанные разработчиками. Тестировщикам никто не запрещает писать такие тесты, которые будут проверять код, конечно же, если их квалификация позволяет это. Наличие подобных тестов на ранних стадиях проекта, а также постоянное их пополнение новыми тестами, проверяющими «баг фиксы», убережет проект от многих серьезных проблем.

Уровень функционального тестирование (Functional Test Layer nonui) Как правило не всю бизнес логику приложения можно протестировать через GUI слой. Это может быть особенностью реализации, которая прячет бизнес логику от пользователей. Именно по этой причине по договоренности с разработчиками, для команды тестирования может быть реализован доступ напрямую к функциональному слою, дающий возможность тестировать непосредственно бизнес логику приложения, минуя пользовательский интерфейс.

Уровень тестирования через пользовательский интерфейс (GUI Test Layer) На данном уровне есть возможность тестировать не только интерфейс пользователя, но также и функциональность, выполняя операции вызывающую бизнес логику приложения. С нашей точки зрения, такого рода сквозные тесты дают больший эффект нежели просто тестирование функционального слоя, так как мы тестируем функциональность, эмулируя действия конечного пользователя, через графический интерфейс.

4 Обзор технологий

4.1 Sikuli IDE

–  –  –

Sikuli — открытая кросс-платформенная визуальная среда создания сценариев-скриптов, которая ориентирована на программирование графического интерфейса при помощи изображений (скриншотов).

В качестве скриптового языка в Sikuli используется Jython, то есть в скрипте при желании можно использовать конструкции из языка Python. В SikuliX появилась возможность использовать для написания скриптов язык Ruby в реализации jRuby. Sikuli доступна для работы в Windows, Mac OS X и Linux.

Sikuli появилась в 2008 г. как результат совместной работы доктора Rob Miller (профессора в департаменте EECS в MIT), студента Массачусетского технологического института (MIT) из Китая Sean Tsung-Hsiang Chang, и Tom Yeh — соискателя учной степени в Университете Мэриленда (University of Maryland).

Sikuli переводится с древнего индейского языка Wixarica из Мексики как «глаз бога», что намекает на возможность видеть все на экране. Авторы нового языка считают, что некоторые задачи, например по автоматизации тестирования пользовательского интерфейса или поиску информации в базе данных, проще выполнять с помощью визуальных средств. Sikuli использует алгоритмы распознавания текста и индексации изображений с помощью «визуальных слов». Встроенные функции языка принимают в качестве параметров графические данные (скриншоты).

Sikuli позволяет автоматизировать все, что видно на экране, без углубленного знания внутреннего API (что не мешает также писать сложные скрипты на Jython или Ruby). Простой пример — следить по изображению вебкамеры за ребенком и, если он будет крутиться, подать сигнал.

Jython — это реализация языка Python на языке Java. Первоначальное имя проекта — JPython, которое пришлось поменять из-за конфликта с одноименным проектом (имя было занято на хостинге sourceforge.net), одновременно и компилятор, и интерпретатор.

Программы, выполняющиеся в среде Jython могут одновременно использовать классы языков Java и Python, используя, например, классы стандартной библиотеки Swing.

На языке Java можно разрабатывать апплеты для веб-браузеров. Но в настоящий момент апплеты в Jython не включены. Компилятор был удалн из пакета Jython 2.5.0 с целью внедрения новой технологии, которая лучше реализует создание апплетов. Технология будет включена в другую версию в ближайшем будущем.

Рисунок 2 - Как выглядит интерфейс пользователя Sikuli

–  –  –

Плюсы данного варианта:

Простота — очень просто создать скрипт, даже человеку не 1.

понимающему в программировании.

Написано на Jython — следовательно можем подключатьиспользовать Java помимо Python.

Нет привязок по id у объектов — следовательно можем тестировать 3.

как Веб, так и desktop приложения, что является безусловно очень важным критерием.

Бесплатно распространяема.

4.

Очень подробная документация.

5.

Минусы:

Для мониторинга систем будет необходима разработка способов 1.

отправки данных и их хранения.

Маленькое количество информации о данной платформе на русском 2.

языке.

Нет привязок по id у объектов — также является минусом, потому 3.

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

Что касаемо самого языка программирования Python.

Рисунок 4 - Логотип языка Python

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

Python поддерживает несколько парадигм программирования, в том числе структурное, объектноориентированное, функциональное, императивное и аспектноориентированное. Основные архитектурные черты — динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Код в Python организовывается в функции и классы, которые могут объединяться в модули (они в свою очередь могут быть объединены в пакеты).

Эталонной реализацией Python является интерпретатор CPython, поддерживающий большинство активно используемых платформ. Он распространяется под свободной лицензией Python Software Foundation License, которая дает использовать его без ограничений в любых приложениях, включая проприетарные. Есть реализации интерпретаторов для JVM (с возможностью компиляции),MSIL (с возможностью компиляции), LLVM и других. Проект PyPy предлагает реализацию Python на самом Python, что уменьшает затраты на изменения языка и постановку экспериментов над новыми возможностями.

Python — активно развивающийся язык программирования, новые версии (с добавлением/изменением языковых свойств) выходят примерно раз в два с половиной года. Вследствие этого и некоторых других причин на Python отсутствуют стандарт ANSI, ISO или другие официальные стандарты, их роль выполняет CPython.

Разработка языка Python была начата в конце 1980-х годов сотрудником голландского института CWI Гвидо Ван Россумом. Для распределнной ОС Amoeba требовался расширяемый скриптовый язык, и Гвидо начал писать Python на досуге, позаимствовав некоторые наработки для языка ABC (Гвидо участвовал в разработке этого языка, ориентированного на обучение программированию). В феврале 1991 года Гвидо опубликовал исходный текст в группе новостей alt.sources. С самого начала Python проектировался как объектно-ориентированный язык.

Название языка произошло вовсе не от вида пресмыкающихся. Дело в том, что автор именовал язык в честь популярнейшего британского комедийного телешоу семидесятых годов - «Летающий цирк Монти Пайтона».

Но, вс равно название языка чаще связывают именно со змей, нежели с передачей — пиктограммы файлов в KDE или в Microsoft Windows и даже эмблема на сайте python.org (до выхода версии 2.5) изображают змеиные головы. Важная цель разработчиков Python - создавать его забавным для использования. Это отражено в его названии, которое пришло из Монти Пайтона,. Также это отражено в иногда игривом подходе к обучающим программам и справочным материалам, таким как примеры использования, которые используют понятия спама и яиц вместо стандартных foo и bar.

Наличие дружелюбного, отзывчивого сообщества пользователей считается наряду с дизайнерской интуицией Гвидо одним из факторов успеха Python. Развитие языка происходит согласно чтко регламентированному процессу создания, обсуждения, отбора и реализации документов PEP (англ. Python Enhancement Proposal) — предложений по развитию Python.

3 декабря 2008 года, после длительного тестирования, вышла первая версия Python 3000 (или Python 3.0, также используется сокращение Py3k). В Python 3000 устранены многие недостатки архитектуры с максимально возможным (но не полным) сохранением совместимости со старыми версиями Python. На сегодня поддерживаются обе ветви развития (Python 3.x и 2.x).

–  –  –

Jython — версия языка Python на языке Java. Первое имя проекта — JPython, но его пришлось изменить так как произошел конфликт с одноименным проектом (имя было занято на хостинге sourceforge.net), одновременно является и компилятором, и интерпретатором.

–  –  –

Программы, выполняющиеся в среде Jython могут одновременно использовать классы языков Java и Python, используя, например, классы стандартной библиотеки Swing.

4.2 Selenium Webdriver Selenium – это профессиональный инструмент для автоматизированного управления браузерами. Наиболее популярной областью применения Selenium является автоматизация тестирования веб-приложений. Однако при помощи Selenium можно автоматизировать любые другие рутинные действия, выполняемые через браузер.

Разработка Selenium поддерживается производителями популярных браузеров. Они адаптируют браузеры для более тесной интеграции с Selenium, а иногда даже реализуют встроенную поддержку Selenium в браузере. Selenium является центральным компонентом целого ряда других инструментов и фреймворков автоматизации.

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

WebDriver – это инструмент для автоматизированного тестирования вебприложений, в частности, для проверки того, что приложение работает в соответствии с ожиданиями. Этот инструмент задумывался таким образом, чтобы иметь удобный программный интерфейс (API), позволяющий повысить читаемость и упростить поддержку тестов, более легкий для изучения и понимания, чем Selenium RC (1.0) API. WebDriver API не привязан ни к каким тестовым фреймворкам, что позволяет использовать любые фреймворки модульного тестирования, равно как и старый добрый метод main.

4.3 Auto-it

–  –  –

AutoIt — бесплатно распространяемый язык программирования, используемый при автоматизации задач для Microsoft Windows.

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

После апгрейда до AutoIt 3 синтаксис языка стал реструктурирован и стал похож на язык семейства BASIC. Появилась возможность скомпилировать код в отдельный от интерпретатора файл.

Немного о Basic (BASIC — сокращение от англ. Beginner’s All-purpose Symbolic Instruction Code — универсальный код символических инструкций для начинающих; англ. basic — основной, базовый) — группа языков программирования высокого уровня.

–  –  –

В 1963 году преподавателями Дартмутского Колледжа Джоном Кемени и Томасом Куртцом был придуман данный язык и реализован командой студентов колледжа под их руководством. С течением времени, когда стали появляться другие диалекты, этот «изначальный» диалект стали называть Dartmouth BASIC.

Basic создан таким образом, чтобы студенты без специального математического образования могли писать программы. Изначально целью создания языка Basic, было решение проблем, связанных с языками созданными ранее – которые являлись сложными, и предназначался для более «простых» пользователей, интересовавшихся не столько в скорости работы своих программ, сколько просто в потенциальной возможности использовать персональный компьютер и язык программирования для решения своих задач.

Для популяризации языка первый компилятор распространялся бесплатно.

Когда создавался язык Basic, были сформулированы восемь правил к нему:

–  –  –

чтобы программировать;

Хорошее взаимодействие между пользователем и операционной системой.

Язык был основан частично на Fortran II и частично на Algol-60, с добавлениями, делающими его удобным для работы в режиме разделения времени, обработки текста и матричной арифметики. Первоначально Бейсик был реализован на GE-265 с поддержкой множества терминалов. Вопреки распространнному убеждению, в момент своего появления это был компилируемый язык.

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

В 1975 году компания Microsoft выпустила Altair BASIC. После этого был выпущен ряд операционных систем, использующих Basic в качестве основного языка программирования. Для операционной системы CP/M был создан диалект BASIC-80, надолго определивший развитие языка.

В данный период было создано множество новых компиляторов и интерпретаторов Basic. Майкрософт продавала несколько версий BASIC для MS-DOS/PC-DOS, включая BASICA, GW-BASIC и QuickBASIC(QBASIC).

Компания Borland в 1985 выпустила Turbo BASIC 1.0 (более поздние его версии впоследствии продавались другой компанией под именем PowerBASIC). На домашних компьютерах появились различные расширения Basic, обычно включающие средства для работы с графикой, звуком, выполнением DOSкоманд, а также средства структурного программирования. Некоторые другие языки использовали хорошо известный синтаксис Basic в качестве основы, на которой строилась совершенно иная система (см. например, GRASS).

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

Вторую жизнь Basic получил с появлением в 1991 году Visual Basic от Microsoft. Этот язык напоминал оригинальный только синтаксисом, но был значительно более современным. Visual Basic и его варианты стали одним из наиболее часто используемых языков на платформе Windows. Позже был создан вариант под названием WordBasic, используемый в MS Word до появления Word 97. Visual Basic for Applications (VBA) был встроен в Excel 5.0 в 1993 году, затем в Access 95 в 1995-ом, а после и во все остальные инструменты, входящие в пакет Office — в 1997-ом. Internet Explorer 3.0 и выше, а также установленная Windows включала в себя интерпретатор скриптового языка VBScript. В полный вариант пакета OpenOffice также включн интерпретатор Basic.

В настоящее время Basic — это не один язык, а группа языков, отличающихся временем создания, парадигмами программирования и синтаксисом, бывает, что и до полной потери совместимости программ.

Первые версии не поддерживали даже структурное программирование; со временем структурное и процедурное программирование стали общепринятыми парадигмами, и появились версии, поддерживающие их. Ряд современных компиляторов во главе с Visual Basic и VB.NET реализуют объектно-ориентированное и событийное программирование.

AutoIt же, использует симуляцию нажатия клавиш, движений мыши и манипуляции с окнами, элементами управления. Это позволяет автоматизировать задачи пользователя Windows таким образом, какой невозможен или затруднн в других языках программирования. Кроме того, этот язык компактен, самодостаточен и работает на всех версиях Windows «прямо из коробки», без внешних.dll-библиотек и записей в реестре, что позволяет безопасно использовать его на серверах.

Возможности языка включают:

–  –  –

Работа с консольными приложениями и доступность стандартных потоков ввода-вывода.

Имеется возможность запустить программу от имени другого пользователя.

Сохранения скриптов в формат.EXE, благодаря встроенной программе Aut2Exe.

Файлы можно извлечь при запуске, так как они включаются в скомпилированный файл.

Сжатие и защита исполняемого файла от декомпиляции с помощью упаковщика UPX.

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

Использование функций из динамических библиотек и функций Windows API.

Работа с Windows-реестром, буфером обмена, файлами.

–  –  –

кликов мышки.

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

Получение информации и использование элементов управления:

поле редактирования, переключатель, список, кнопки, статусная строка и т. д., в том числе неактивных.

распознавание HTML кода страниц, скачивание файлов, из интернета, использование FTP, отправление E-mail сообщений, работа с БД MySQL и SQLite.

Использование протоколов TCP и UDP.

Автоматизированная работа в Internet Explorer, Opera, FireFox.

–  –  –

использовать возможности AutoIt в программах, написанных на других языках.

Интерпретатор AutoIt имеет маленький размер и не обязателен к установке. Для работы необходим основной файл, а для создания скрипта — любой текстовый редактор.

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

Имеется полная документация по AutoIt и SciTE на русском языке с дополнительной установкой полной версии редактора.

Как и другие скриптовые языки, AutoIt — язык использующий классическую модель и переменные вариантного типа, разрешающий хранить типы данных различного рода, например массивы. В AutoIt нет (или имеют ограниченную поддержку) пространства имн, объектно-ориентированное программирование, абстрактные типы данных, классы, расширенные графические функции. Также, помимо возможностей, встроенных в ядро, есть вариант использовать большую библиотеку готовых функций.

Распространенное использование AutoIt — разработка программ для Microsoft Windows. Такие популярные задачи, как мониторинг веб-сайтов, мониторинг сетей, дефрагментация дисков и резервное копирование могут быть автоматизированы и скомбинированы в виде настроенной под пользователя утилиты.

Нередко AutoIt используется для создания ботов к онлайн-играм. С помощью ботов можно автоматизировать некоторые определенные действия в играх, в конечном счете, пользователь имеет возможность быстрее добиться необходимого результата. Данное использование Autoit не одобряется сообществом, так как создат плохую репутацию программе, но несколько скриптов данного вида могут быть найдены на официальном форуме. Бытует мнение, что использование ботов рассматривается большинством пользователей AutoIt как нечестная игра, и вам не следует ожидать значительной помощи от сообщества в их создании. Большое число членов сообщества вообще не рассматривают запросы такого вида.

Для упрощения разработки GUI существует визуальный редактор форм Koda Form Designer, c интерфейсом, аналогичным Delphi IDE.

Поддерживается визуальное создание и изменение всех доступных в AutoIt диалоговых элементов (кнопок, полей ввода, меню и т. д.) Исходный код AutoIt 3.1.0 на языке С++ доступен для загрузки в архиве AutoIt; код дальнейших версий закрыт. Исходный код AutoIt использовался при создании языка AutoHotkey. Это являлось разработкой небольшой команды, но с активной поддержкой пользователей всего мира. Сторонняя поддержка включает в себя - файлы справки, примеры программ, форумы техподдержки, список рассылки, утилиты.

4.4 SilkTest

–  –  –

SilkTest является инструментом для автоматизированного и регрессионного тестирования корпоративных приложений. Он был первоначально разработан Segue Software, которая была приобретена компанией Borland в 2006 году. Borland была приобретена компанией Micro Focus International в 2009 году.

SilkTest предлагает различные клиенты:

–  –  –

для написания сценариев по автоматизации. Этот объектно-ориентированный язык похож на C ++. Он использует понятия классов, объектов и наследование.

Silk4J позволяет писать тесты автоматизации в Eclipse, используя

–  –  –

(действия пользователя). Эти команды могут быть выполнены на той же машине, как хозяин или на удаленной машине.

SilkTest определяет все окна и элементы управления тестируемого приложения как объекты, и определяет все свойства и атрибуты каждого окна. Исходя из этого, он поддерживает ООП реализацию (частично).

SilkTest может быть запущен, чтобы определить движение мыши вместе с нажатием клавиш (полезно для пользовательского объекта). Он может использовать как запись и воспроизведение или описательные методы программирования для захвата диалоговых окон, что является достаточно важным моментом для разработчиков.

Расширения, поддерживаемые SilkTest:.NET, Java (Swing, SWT), DOM, IE, Firefox, SAP графического интерфейса пользователя Windows.

SilkTest использует Silk Bitmap Tool (bitview.exe), чтобы захватить и сравнить окна и области.

5 Выбор технологий Итак, какую технологию выбрать, вопрос достаточно сложный, исходя из первоначально приведенных условий, можно сделать выбор, что подходят для решения исходных задач почти все технологии, рассмотрим и обоснуем решение, касательно каждого пункта общего стека:

5.1 Auto-it

AutoIt – отличное ПО, для тестирования, бесплатна, есть сносная документация, к сожалению для разработки необходимо более глубокое понимание концепции данной программы, при разработке теста для авторизации на сайте, получилось написать около 100 строк (для сравнения на Sikuli - ~10). Данное ПО заслуживает внимания, но скорее любителям синтаксиса Basic.

–  –  –

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

–  –  –

Поддержка 1.

Тип нахождения объектов – захват изображения, следовательно, 2.

можем тестировать веб и десктоп приложения.

Имеется встроенное ПО для захвата видео тестов.

3.

Различные клиенты позволяют писать под различные языки 4.

программирования.

–  –  –

Несомненно, одним из лидеров по тестированию ПО в компаниях мирового уровня на различных платформах является Selenium. Имеется огромная база знаний и поддержка пользователей, но на английском, конечно на данный момент существенным минусом это не является, также есть возможность разработки под различных платформы, что является очень удобным, но, имеется и минус данного варианта, платформа не подходит для тестирования конкретно биллинговых систем, так как система определения шаблонов по Selenium позволяет увидеть ID объектов в браузере, в виду того, у данных приложений ID элементов определить невозможно. Вариант с Selenium автоматически выбывает, хотя на базе Selenium была разработана умельцами из Новосибирска программа Winium, являющаяся аналогом Selenium, но конкретно для desktop приложений к сожалению полное распределение средств тестирования между двумя системами достаточно сложно, так как придется выставлять таймауты для определенных видов операций и определенных действий, что не совсем корректно, особенно если системы поведут себя не как запланировано заранее, поэтому от данного варианта придется отказаться, так как он хорош только для конкретного вида платформ.

–  –  –

5.4 Sikuli Очень гибкое программное обеспечение, хотя очень простое, позволяет решить задачи, касаемо действий на рабочем столе без подключения скриптов PowerShell и Командной строки. С задачами связанными с мониторингом справилось на ура. Также очень легко сочетается с различными библиотеками (например на парсинг), сочетается с отправкой данных, также очень легка в управлении и создании собственных решений с помощью визуального программирования, что является легким решением для отладки кода, при замене шаблонов (это может произойти, например, при обновлении шрифтов в системе)

Плюсы данного варианта:

Простота — очень просто создать скрипт, даже человеку не 1.

понимающему в программировании.

Написано на Jython — следовательно, можем подключатьиспользовать Java помимо Python.

Нет привязок по id у объектов — следовательно, можем тестировать 3.

как Веб, так и desktop приложения, что является безусловно очень важным критерием.

Бесплатно распространяема.

4.

Очень подробная документация.

5.

Можно крайне быстро развернуть платформу для тестирования 6.

Минусы:

Для мониторинга систем будет необходима разработка способов 1.

отправки данных и их хранения.

Маленькое количество информации о данной платформе на русском 2.

языке.

Нет привязок по id у объектов — также является минусом, потому 3.

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

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

6 Использование и исследование необходимых технологий

6.1 Дополнительные технологии Итак, весь построенный рабочий процесс мониторинга на основе проведенных исследований средств автоматизации тестирования выглядит следующим образом:

Приведен полный цикл прогона всей системы мониторинга для биллинговой системы компании ПАО «МТС». Вход и работа в системе осуществляется через решения компании Citrix, в частности – Сitrix Receiver и Citrix XenApp, и конечно же мониторинг осуществляется в самой биллинговой системе компании.

–  –  –

Citrix Receiver — (ICA Client) клиент доставки ИТ-услуг пользователям:

решение для предоставления удалнных рабочих столов и корпоративных приложений по "Software on-demand" вне зависимости от типа устройства или его местоположения и без необходимости контроля со стороны ИТ-служб.

Существуют реализации Citrix Receiver для Windows, Windows Mobile, iPhone, iPad, Android устройств, Mac OS X и Linux.

–  –  –

Citrix XenApp — (ранее Citrix WinFrame Server, Citrix MetaFrame Server и Citrix Presentation Server) программное обеспечение для доставки различных приложений Windows, разрешающее использовать виртуализацию, централизацию, управление из центра обработки данных и доставку приложений как сервиса Software on-demand по запросу на любое пользовательское устройство (технологии Терминальный сервер и Тонкий клиент вне зависимости от его местоположения. Для доставки используется проприетарное программное обеспечение протокол Independent Computing Architecture. В последних версиях используется многопотоковый протокол HDX (High-Definition User Experience).

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

Для деятельности биллинга существует три основных направления:

Расчетные операции Информационное обслуживание Финансовое обслуживание В общем смысле, если рассматривается биллинг в совокупности с управлением доходами, дополнительно выделяют следующие функции:

Гарантированное получение доходов Управление прибыльностью абонентов Контроль мошенничества абонентов

В блоке расчетных операций можно использовать такие функции как:

o Определение потребления – получение подробной информации о звонках с коммутаторов, обработка данных об использовании трафика с коммутационного оборудования, получение информации с системы медиации).

o Оценка потребления – получение расчетной характеристики об использовании данных.

o Агрегация оценок o Формирование начислений пользователям o Подсчет налогообложения, скидок, дополнительных начислений, корректировок и так далее.

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

Prepaid (предоплата) — структура расчтов с абонентами и агентами, имеющая ввиду авансовый способ внесения средств на свой личный счт оператора услуг связи, используются в последствии на оплату получаемых услуг. Prepaid-системы расчтов, в целом, ведут учт в реальном времени, непосредственно управляя процессом предоставления услуг, по достижению нижнего порога количества средств на счте контрагента режим предоставления услуг может быть изменн (вплоть до полного прекращения).

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

Postpaid — модель расчтов, при которой оператор сначала предоставляет услуги абоненту или агенту в рамках заключнного с ним договора, а потом производит тарификацию и выставление счетов для оплаты. Процесс тарификации и выставления счетов является планово-регулярным и обычно охватывает оговоренный в договоре календарный промежуток времени (чаще всего — месяц, иногда — неделя, квартал, год). Контрагент обязан оплатить сумму выставленного счта в течение оговоренного в контракте промежутка времени, в случае несвоевременной оплаты к нему применяются указанные в договоре методы работы с должником, в рамках процессов взыскания дебиторской задолженности.

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

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

Различные системные скрипты, использующие в запуске приложений, завершении сессий и отправке данных, имеют расширения данных.bat и.ps1.bat файлы, является своего рода файлами сценария в DOS, OS / 2 и Windows. Они состоит из серии команд, которые будут выполнены в интерпретаторе командной строки, хранятся данные скриптов в простых текстовых файлах.

.bat файл может содержать любые команды известные интерпретатору, команды принимаются в интерактивном режиме и используют конструкции, которые позволяют осуществлять условные переходы и циклы внутри пакетного файла, такие как "if", "for", " Goto".

Аналогично работы на языке управления (JCL), других систем на мэйнфреймах и микрокомпьютерных систем,.bat файлы были добавлены, чтобы облегчить работу, необходимую для некоторых обычных задач, позволяя пользователю настроить сценарий для их автоматизации. Когда пакетный файл запускается, оболочка программы (обычно COMMAND.COM или cmd.exe ) читает файл и выполняет его команды, как правило, строка за строкой.

Расширение имени файла.bat используется в DOS и Windows. Windows NT и OS / 2 также как и.cmd.

Windows PowerShell – автоматизированное средство разработки Windows, в котором имеется внешний интерфейс и интерфейс командной строки, а также скриптовый язык. Первое упоминание и демонстрация были процедены в Monad в сентябре 2003 года. Уже 2ая версия была выпущена в составе Windows 7, 8, 2008R2, 2012R2 и также стала доступна для Windows XP SP3, server 2003 SP2, Vista, Server 2008, Server 2012.

PowerShell – интегрирован с.Net Framework и построен на нем же. Также в PowerShell имеется связь с ADSI, WMI, COM, но не стоит забывать что обычные команды командной строки также выполняются, все это организовано, чтобы создать единое окружение, где пользователи смогли бы решать задачи на локальных и удаленных системах.

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

Windows PowerShell может использовать механизм встраивания, из-за которого, различные исполняемые компоненты PowerShell встраиваются в другие приложения. Данные приложения используют функциональность PowerShell для разработки различных операций, включая используемые через графический интерфейс. Такой подход выполняется в Microsoft Exchange Server 2007 при реализации главной функциональности под видом командлетов PowerShell и различных графических утилит управления оболочек PowerShell, где вызываются нужные командлеты. Исходя из этого, графический интерфейс управления пребывает выше промежуточного слоя – PowerShell. Также некоторые другие приложения, например, Microsoft SQL Server 2008, System Center Operations Manager и System Center Data Protection Manager. Также имеют возможность использоваться вместе с PowerShell через командлеты.

Приведем некоторые термины, используемых в дальнейшем:

Робот – полный стек технологий, системы мониторинга Элементарная операция – операция, действие, указанное в списке действий робота, прописанная в скрипте и изначальной документации к разработке Итак, весь построенный рабочий процесс мониторинга выглядит следующим образом:

6.2 Полный цикл прогона всей системы мониторинга В Планировщике задач Windows ставим задачу на постоянное 1.

цикличное выполнение и перезапуск в течение 5 минут после завершения самой задачи. На самом деле, это важный момент, ведь для ведения мониторинга систем необходимо делать замеры, элементарных операций всего сценария работ, с определенной периодичностью, так как только в этом случае выстроится кривая графика наиболее точно отображающая отклик по всем операциям, и чем чаще будет запускаться данная задача из Планировщика, тем больше будет данных о времени замеров и тем точнее мы будем видеть картину всей работоспособности системы. Поэтому, если в среднем полный тест по замерам длится 5 минут и цикличность повтора будет заявлена в 5 минут – за одни сутки появится примерно 60/(5+5)=6 *24 = 144 замера в сутки.

«Примерно», потому что от нас, к сожалению, не зависит время отклика системы.

Необходимы скрипты.bat формата, чтобы мы смогли:

2.

a. Поставить проверку открыт ли браузер, если да, закрыть.

b. Запустить файл теста через IDE c. Отправить значения на сервер базы данных

6.3 Практическая часть

Рассмотрим задачу, приведенную выше:

1.

–  –  –

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

Изначально, нам доступно ПО с 45 дневным триальным сроком, стоимость лицензионного пакета варьируется от наполненности этого пакета – может быть включено – минимум: визуальный плагин и максимум: +плагины для разработки на Java и.Net. Также доступна IDE и общий центр мониторинга и запуска тестов.

Описание шести операций тест-кейса дало 7 строк. Настройка осуществлялась визуальным программирование – «клик мышкой, операция появилась». Логин и пароль для входа были введены сразу в программу.

–  –  –

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

При входе на сайт, входе и выходе из учетной записи также трудностейне возникло.

Для разработки тестов вручную(для получения более гибких операций, более трудных операций, для вставки проверок) – необходимо достаточно много предварительных действий, в частности, установка сервера Selenium, установка пакетов языковых, установка Webdriver’ов для определенного типа браузера. Также для запуска тестов необходимо будет прописывать постоянный предварительный запуск сервера.

–  –  –

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

Это и является огромным минусом.

–  –  –

Установка проста, использование еще проще – выбираем операцию из левой части окна интерфейса, далее кнопка для снятия выбираемой области для «клика», после приведенных действий – полноценная операция готова. Можем тут же в редакторе подключить библиотеки Python и Java, с необходимыми функциями – взаимодействие с Командной строкой, к примеру, готово.

Результаты смотрим в логах. Запуск скриптов, к сожалению, осуществляется только из программы, то есть, нет возможности формирования.exe файлов, но если осуществлять запуск через CMD, проблема решается. Редактор достаточно удобен, имеется функция замедленного запуска, как и у Selenium – осуществляется подсветка всех выбираемых областей, также промежуток между операциями больше. Программа очень удобна, так как мы можем сочетать в ней быстроту разработки + профессионализм в разработке сложных решений.

6.4 Проекты, введенные в эксплуатацию

–  –  –

1 шаг – заходим на удаленный ПК, подключаемся к ней(если необходимы изменения, иначе начинаем с шага 2) 2 шаг – робот со скриптов теста выполняется по запуску планировщика 3 шаг – высылаются данные на сервер 4 шаг – смотрим результаты Если необходимы логи ПК, применяем пункт 1 Результаты замеров отсылаются после выполнения скрипта робота(с помощью рукописного скрипта формата.bat) Что касаемо сайта со статистикой – сайт организован с помощью JS и PHP кода.

Данные высылаемые роботом имеют два формата – изображение.png и данные замеров в.csv.

Рисунок 19 - График операции входа в Citrix

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

Что касается данных CSV – данные отсылаются на сервер БД, откуда при разработке самого сайта – берут значения PHP и JS код. PHP берет значения только из CSV. JavaScript же берет значения как CSV, так и JS потому что необходимо построение графиков отображающих доступность и время выполнения операции, а также таймауты. По стандарту таймаут выставлен в 100 секунд – то есть если никаких действий не происходит, либо действия не те которые нам нужны, либо реакция системы на какое то действие не соответствует – в CSV записывается значение 100.

–  –  –

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

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

7 Вывод

Было проведено исследование четырех наиболее распространенных версий программного обеспечения для разработки автоматизированных кейсов тестирования, для дальнейшего использования в построении системы мониторинга веб-приложений, сайтов и биллинговых систем ПАО «МТС».

Был рассмотрен простейший пример задачи на вход и авторизацию на сайте – все программы справились с данной задачей, но в какой- то степени легче, либо сложнее.

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

Система AutoIT, к сожалению, также не подходит из-за некоторой сложности в разработке – выучить новый язык + достаточно большие затраты в коде, неоправдываемые в действиях.

Следующий на очереди Selenium – он является одним из лидеров совместно с Sikuli, но есть две причины по которым выбор на данное средство не падет – большая гибкость (визуальное программирование имеется только на FireFox, скорее на Selenium проще писать более серьезные тесты различных, не только функциональных направленностей) и совмещаемость с вебприложениями(если на сайте действия произведены, то всю работу по десктопу, либо подготовке к тестированию, например, закрытие всех активных программ, придется возложить на другие средства, причем появится необходимость синхронизации действий).

Что касаемо Sikuli – очень информативная среда – все понятно интуитивно, кода мало при визуальном программировании, но тем не менее, для сложных вещей – полет также не ограничен, можно легко подключить в коде библиотеки и получится некоторый гибридный язык Sikuli/Python/Java.

Отлично сочетаем с отчетностью и предварительными действиями. С задачами очень хорошо справился и в реальной разработке.

На данный момент система мониторинга и ее совокупность дополнительных приложений на основе Sikuli, были организованы мной и успешно используются в компании ПАО «МТС».

8 Список используемых источников

1. Элфрид Дастин, Джефф Рэшка, Джон Пол. Автоматизированное тестирование программного обеспечения. Внедрение, управление и эксплуатация. Издательство Лори. 592 с. 2003

2. Рекс Блэк. «Ключевые процессы тестирования – планирование, подготовка, проведение, совершенствование» - Издательство Лори. 544 с. 2011

3. Святослав Куликов. «Тестирование программного обеспечения. Базовый курс». Версия книги 1.0.8 от 09.06.2016. 289 с.

4. Джеймс Уиттакер, Джейсон Арбон, Джефф Каролло. Как тестируют в Google. Издательство Питер. 320 с. 2014.

5. Русское сообщество AutoIt - [Электронный ресурс]. URL: http://autoitscript.ru/ - Дата обращения - 01.12.2015

6. Заклинание Jython - [Электронный ресурс]. URL:

http://www.ibm.com/developerworks/ru/library/j-jython/ - Дата обращения Популярные » Блоги » PySU - [Электронный ресурс]. URL: http://python.su/ Дата обращения - 10.03.2016

8. Статьи Selenium - [Электронный ресурс]. URL:

http://selenium2.ru/articles.html?start=6 - Дата обращения - 09.10.2015

9. Документация Selenium - [Электронный ресурс]. URL:

http://docs.seleniumhq.org/ - Дата обращения - 09.10.2015

10. Tutorial Selenium - [Электронный ресурс]. URL:

http://www.tutorialspoint.com/selenium/ - Дата обращения - 09.10.2015

11. SilkTest - Borland SilkTest, Borland, SilkTest - Программные продукты Каталог ПО - Описания продуктов - [Электронный ресурс]. URL:

http://www.interface.ru/home.asp?artId=7810 - Дата обращения - 04.03.2016

12. Tutorial SilkTest - [Электронный ресурс]. URL: http://silktutorial.ru/ - Дата обращения - 04.03.2016

13. Автоматизация тестирования и безопасность: Работа с Selenium Web Driver Электронный ресурс]. URL: http://forworktests.blogspot.ru/2013/03/seleniumweb-driver.html - Дата обращения - 09.10.2015

14. Подробнее о Sikuli в автоматизации тестирования / Хабрахабр Электронный ресурс]. URL: https://habrahabr.ru/post/163883/ - Дата обращения - 07.10.2015

15. Sikuli - [Электронный ресурс]. URL: http://www.sikuli.org/ - Дата обращения

- 07.10.2015

16. Запуск Selenium Server [Электронный ресурс]. URL:

http://www.protesting.ru/automation/practice/start_selenium_server.html - Дата обращения - 09.10.2015

17. Jython - [Электронный ресурс]. URL: https://ru.wikipedia.org/wiki/Jython Дата обращения - 19.03.2016

18. Биллинговые системы - [Электронный ресурс]. URL:

http://citforum.ru/operating_systems/linux/billing/ - Дата обращения Уровни автоматизации тестирования - [Электронный ресурс]. URL:

http://www.protesting.ru/automation/functional/autolevel.html - Дата обращения

- 19.03.2016

20. Автоматизированное тестирование - [Электронный ресурс]. URL:

http://automated-testing.info/ - Дата обращения - 01.06.2016

21. Автоматизированное тестирование - [Электронный ресурс]. URL: http://softtesting.narod.ru/auto.htm - Дата обращения - 01.06.2016

22. Ручное и автоматизированное тестирование - [Электронный ресурс]. URL:

http://qalight.com.ua/baza-znanij/ruchnoe-i-avtomatizirovannoe.html - Дата

Похожие работы:

«4 МЕТОДИКА КУРСОВОГО ПРОЕКТИРОВАНИЯ ПО ДИСЦИПЛИНЕ "АРХИТЕКТУРА КОМПЬЮТЕРОВ И ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ" (на примере операции умножения) 4.1 Кодирование чисел 4.1.1 Кодирование знака числа. Кодирование чисел позволяет заменить операцию арифметического вычитания опера...»

«Российская академия наук ИНСТИТУТ ВЫЧИСЛИТЕЛЬНОЙ МАТЕМАТИКИ Информационно-вычислительная система вариационной ассимиляции данных измерений ИВС-T2 Агошков В.И., Ботвиновский Е.А., Гусев А.В., Кочуров А.Г., Лебедев С.А., Пармузин Е.И., Шутяев В.П. Москва 2008 Введение Проекты ИВМ РАН по проблемам создания систем ассимиляц...»

«Информационные процессы, Том 14, № 1, 2014, стр. 87–107. 2014 Лопес-Мартинес, Кобер, Карнаухов. c МАТЕМАТИЧЕСКИЕ МОДЕЛИ, ВЫЧИСЛИТЕЛЬНЫЕ МЕТОДЫ Восстановление изображений с помощью микросканирующей изображающей системы Х.Л.Лопес-Мартинес, В.И.Кобер, В....»

«Что такое основные средства Основные средства это здания, сооружения, различные приборы, вычислительная техника, автомашины и многие другие объекты, которые не потребляются в ходе производства, хотя участвуют в не...»

«Встречайте: новый ПЛК110. ОВЕН ПЛК110 NEW.ПРЕДПОСЫЛКИ ПОЯВЛЕНИЯ НОВОГО КОНТРОЛЛЕРА. Почему компания ОВЕН решила делать новый ПЛК110 1. Существовал ряд пожеланий к выпускаемому контроллеру 2. Удовлетворить новые требованиями рынка ПЛК:• Увеличение вычислительных мощностей контроллера • Работа с сигналами с частотой следования импульсов до 10...»

«0315654 Новые достижения, новые возможности! Компания АЛС и ТЕК была создана в 1993 году коллективом ведущих разработчиков оборонных предприятий г. Саратова. Работая в постоянном сотрудничестве с Министерством Российской федерации по связи и инф...»

«МИНИСТЕРСТВО СЕЛЬСКОГО ХОЗЯЙСТВА РФ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ "РЯЗАНСКИЙ ГОСУДАРСТВЕННЫЙ АГРОТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ ИМЕНИ П.А.КОСТЫЧЕВА" ИНЖЕНЕРНЫЙ ФАКУЛЬТЕТ Кафедра Электротехн...»

«МИНИСТЕРСТВО СЕЛЬСКОГО ХОЗЯЙСТВА РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования КУБАНСКИЙ ГОСУДАРСТВЕННЫЙ АГРАРНЫЙ УНИВЕРСИТЕТ РАБОЧА...»

«1 Министерство образования Республики Беларусь Учреждение образования "БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ" Филиал кафедры электронной техники и технологии на НПО "Ин...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ Учебно-методическое объединение по образованию в области информатики и радиоэлектроники УТВЕРЖДАЮ Первый заместитель Министра образования Республики Беларусь _В.А.Богуш 04.02.2015 Рег...»

«Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Владимирский государственный университет имени Александра Григорьевича и Николая Григорьевича Столетовых" (ВлГУ) Институт прикладной математики и информатики биои нанотехнолог...»

«5. Программирование 1.Для программирования параметров войдите в сервисный режим. Для этого после набора [0] [0] [0] [0] [0] [0] подождите, пока не погаснет светодиод(5сек), далее наберите мастер-код( в случае ошибки при наборе шести нулей подождите 5сек после последней набранной цифры и...»

«Муниципальное бюджетное общеобразовательное учреждение средняя общеобразовательная школа №10 с углубленным изучением отдельных предметов Щёлковского муниципального района Московской области УТВЕРЖДАЮ Директор МБОУ СОШ №10 с УИОП ЩМР МО _ Е.В.Метрик "" _2015г. Рабочая программа по информатике 8-Б...»

«Известия высших учебных заведений. Поволжский регион МАШИНОСТРОЕНИЕ И МАШИНОВЕДЕНИЕ УДК 004.8:621.923. А. А. Игнатьев, А. В. Каракозова АНАЛИЗ ИНФОРМАТИВНОСТИ ВИБРОАКУСТИЧЕСКИХ ПАРАМЕТРОВ ПРИ КОНТРОЛЕ ДИНАМИЧЕСК...»

«Санкт-Петербургский государственный университет Кафедра математической теории игр и статистических решений Феофанов Василий Алексеевич Выпускная квалификационная работа бакалавра Дискриминантный анализ базы данных Направление 010400 Прикладная математика, фунда...»

«Санкт-Петербургский государственный университет Кафедра Системного Программирования Болотов Сергей Сергеевич Разработка компилятора для языка РуСи на платформу MIPS Бакалаврская работа Научный руководитель: д. ф.-м. н., профессор Терехов А. Н.Рецензент: Тиунова А. Е....»

«Применение параллельных алгоритмов для решения системы линейных алгебраических уравнений с ленточной матрицей итерационными методами на кластерной системе Демешко И.П., Акимова Е.Н., Коновалов А.В. Представлены результаты применения параллельных итерационных алгоритмов решения системы линейных алгебра...»








 
2017 www.lib.knigi-x.ru - «Бесплатная электронная библиотека - электронные матриалы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.