Вход

Приложение для автоматического тестирования кода на Java

Рекомендуемая категория для самостоятельной подготовки:
Дипломная работа*
Код 537279
Дата создания 2020
Мы сможем обработать ваш заказ (!) 2 мая в 12:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
1 600руб.
КУПИТЬ

Описание

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

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

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

Задачами данной работы являются исследование техники написания программного обеспечения через тестирование, сравнительный анализ разных версий фреймворка JUnit из семейства SUnit для модульного тестирования отдельных методов приложения, исследование фреймворка Mockito для создания заглушек и spy-объектов, их использование для модульного тестирования корректности обработки POST/GET запросов в rest-api сервисе,

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

Содержание

ВВЕДЕНИЕ........................................................................................................ 3

1 Инструменты для разработки через тестирование (TDD)......................... 7

1.1 JUnit............................................................................................................ 7

1.2 JUnit 3.X...................................................................................................... 9

1.4 JUnit 5.X................................................................................................... 17

2 Mockito вместе с JUnit................................................................................... 22

2.1 Описание.................................................................................................. 22

2.2 Создание заглушки................................................................................. 23

2.3 Определение поведения mock-объекта................................................. 25

2.4 Контроль количества вызовов.............................................................. 26

2.5 Обработка исключений.......................................................................... 27

2.6 Использование интерфейса org.mockito.stubbing.Answer........... 28

2.7 Использование шпиона Spy................................................................... 29

3 Разработка тестов для rest-api сервиса....................................................... 30

4 JavaFX............................................................................................................ 36

5 Разработка UI с помощью FXML............................................................... 39

ЗАКЛЮЧЕНИЕ............................................................................................. 58

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ................................. 60

ПРИЛОЖЕНИЕ.................................................................................................. 61

Список литературы

1. Koskela, L.A. Test Driven. Practicial TDD and Acceptance TDD for Java Developers / L.A. Koskela. – Greenwich, 2008. - 585 c.

2. Форум программистов: Mockito и как его готовить [Электронный ресурс]. – 2019. – Режим доступа: https://habr.com/ru/post/444982/ (дата обращения: 24.04.20)

3. Блог разработчиков JUnit: JUnit 5 [Электронный ресурс]. – 2020. –Режим доступа: https://junit.org/junit5/ (дата обращения: 17.04.20)

4. Metanit: Введение в JavaFX [Электронный ресурс]. – 2020. – Режим доступа: https://metanit.com/java/javafx/1.1.php (дата обращения: 05.05.20)

5. Документация библиотеки JavaAssist: Getting Started with Javassist [Электронный ресурс]. – 2020. – Режим доступа: https://www.javassist.org/tutorial/tutorial.html (дата обращения: 17.05.20)

Очень похожие работы
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.20596
© Рефератбанк, 2002 - 2024