Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1 курс. 2 семестр / НИР-НТС / НИР. Голубцов Максим. Z8430M

.pdf
Скачиваний:
4
Добавлен:
29.01.2021
Размер:
245.24 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ федеральное государственное автономное образовательное учреждение высшего образования

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»

ОТЧЕТ О НАУЧНО-ИССЛЕДОВАТЕЛЬСКОЙ РАБОТЕ

Руководитель работы

С.И. Колесникова подпись, дата инициалы, фамилия

Магистрант

 

 

 

 

группы № Z8430М

 

 

М.

Голубцов

 

 

 

 

 

подпись, дата

инициалы, фамилия

Санкт-Петербург 2019

Цель работы

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

Вотчёте необходимо:

1)Сформулировать задачу поиска литературных источников.

2)Представить краткий реферат по каждому изученному источнику, а

также указать всю информацию о данном источнике.

Задача поиска литературных источников

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

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

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

Книги

1. Ron Patton. Software Testing, 2nd edition / Ron Patton.- USA.: Sams Publishing, 2009. - 408 p.

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

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

2. Lisa Grispin. Agile Testing: A Practical Guide for Testers and Agile Teams / Lisa Grispin, Janet Gregory .- USA.: Addison-Wesley Professional, 2009. - 576 p.

2

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

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

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

3. Eric Matthes. Python Crash Course: A Hands-On, Project-Based Introduction / Eric Matthes - USA.: No Starch Press, 2015. - 560 p.

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

Автор, как и полагается, начинает с основ языка: каким образом на Python

реализованы условия, циклы, классы и структуры данных, такие как списки, словари,

массивы. В продвинутой части предоставлены 3 проекта для демонстрации различных возможностей языка.

В процессе реализации проектов, мы ознакомимся с различными вспомогательными библиотеками языка Python: NumPy, Pygal, MatPlotLib.

4.Hein Smith. Machine learning: The Absolute Beginner’s guide to learn and

understand Machine learning effectively / Hein Smith - USA.: Amazon Digital Services LLC, 2018. - 52 p.

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

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

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

5. Ashwin Pajankar. Python Unit Test Automation: Practical Techinques for Python Developers and Testers/Ashwin Pajankar - USA.: Apress, 2017. – 111 p.

3

Данная книга позволяет быстро освоить автоматизацию юнит-тестирования,

используя такие библиотеки автоматизации языка Python как: doctest, unittest, nose, pytest.

Автор исследует важные принципы тестирования ПО и их реализацию на языке

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

6.Scott Chacon. Pro Git / Scott Chacon, Ben Straub - USA.:Apress, 2014.- 456 p.

Сегодня ни одна серьезная разработка не обходится без распределенной системы управления версиями. Эта книга рассказывает о самой популярной такой системе – Git.

Автор предоставляет подробную инструкцию по использованию и применению Git

в современном мире. Эффективная и правильно реализованная система контроля версий необходима для проектов любых размеров.

7. Andreas C. Muller. Introduction to Machine Learning with Python: A guide for Data Scientists/ Andreas C. Muller, Sarah Guido - USA.: O’Reilly Media, 2016. - 400 p.

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

Многочисленные онлайн сервисы, такие как Netflix, Facebook, Amazon в своих ядрах

сбольшой долей вероятности содержат модели, основанные на машинном обучении.

Вданной книге авторы в качестве основного инструмента используют Python и

библиотеки: scikit-learn, NumPy, matplotlib.

8. Sebastian Raschka. Python Machine Learning: Machine Learning and Deep Learning with Python, scikit-learn, and TensorFlow/ Sebastian Raschka, Vahid Mirjalili - USA.: Packt Publishing, 2017. - 662 p.

Эта книга позволяет приобрести обширные знания по машинному обучению,

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

4

момент библиотеки языка Python с открытым исходным кодом, а также применяет

популярную библиотеку TensorFlow для глубокого обучения.

Вкниге авторы описывают алгоритмы машинного обучения и глубокого обучения

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

Статьи

1. Linking software testing results with a machine learning approach, 2013.

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

2.An Artificial Intelligence paradigm for troubleshooting software bugs, 2018.

Вэтой статье рассматривается парадигма «Обучайся – Диагностируй – Планируй»

(LDP). Ее составными компонентами являются:

1)Машинное обучение. Модель будет обучаться, используя знания о структуре исходного кода, истории изменений и прошлых дефектов. На основании этих знаний можно будет предсказывать какие компоненты ПО будут, с большей долей вероятности, содержать дефекты.

2)Автоматизированная диагностика. Модель сможет определять какие компоненты ПО должны быть изменены, чтобы исправить дефект.

3)Автоматизированное планирование. Модель будет планировать дополнительные тесты, которую смогут повысить точность диагностики компонентов ПО.

5

Выводы

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

6