May 17, 2024

2. Введение в Java. Тестирование. | Технострим  

2. Введение в Java. Тестирование. | Технострим

https://www.youtube.com/watch?v=pXUybW4ON4w

00:04 Анализ домашних заданий

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

03:46 Примеры плохого кода

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

09:13 Советы по написанию кода

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

14:32 Анализ кода

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

26:20 Тестирование и дизайн

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

32:17 Тестирование и юнит-тестирование

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

35:12 Примеры тестирования

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

40:16 Тестирование интерфейса

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

42:13 Неоднозначность и тестирование

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

44:43 Создание интерфейса и реализация

• Создание интерфейса и реализация класса, который наследует интерфейс.
• Добавление методов и реализация тестов для класса.

50:34 Проверка границ и корректность ввода

• Проверка корректности ввода и границ чисел.
• Создание тестов для проверки корректности ввода и границ.

56:32 Проверка корректности вывода

• Создание тестов для проверки корректности вывода.
• Починка тестов, если они не проходят.

01:00:16 Проверка условий

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

01:02:15 Рефакторинг кода

• Удаление лишнего кода и проверка корректности тестов.
• Добавление интерфейса и наследника для упрощения кода.

01:08:05 Создание генератора чисел

• Создание интерфейса и наследника для генерации чисел от 1 до 100.
• Создание теста для проверки корректности работы генератора.

01:15:02 Рефакторинг генератора чисел

• Создание массива для заполнения числами от 1 до 100.
• Использование генератора для заполнения массива.
• Добавление конструктора для оптимизации работы генератора.
• Добавление статического поля для указания границ массива.

01:22:00 Рефакторинг кода

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

01:36:15 Создание интерфейса и использование стримов

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

01:39:44 Рефакторинг кода

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

01:41:16 Создание массива нужного размера

• Автор решает создать массив нужного размера, а не использовать массив из 100 элементов.
• Это позволяет избежать создания лишней памяти и работы, которая не нужна.

01:43:08 Рефакторинг кода и тестирование

• Автор решает переписать код, чтобы он работал с массивами любого размера, и тестирует его.
• Он обнаруживает, что тесты работают, но код может сломаться, если массив будет меньше 100 элементов.

01:46:11 Решение проблемы

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

01:48:17 Исправление ошибок в коде

• Исправление ошибок в коде, связанных с некорректными массивами и индексами.
• Проверка корректности работы кода с разными входными данными.

02:00:19 Добавление дополнительной информации

• Добавление возможности вывода дополнительной информации при возникновении ошибок.
• Использование класса String для вывода сообщений об ошибках.

02:07:46 Исправление ошибок в конструкторе

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

02:10:35 Создание тестов для домашней работы

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

02:18:38 Тестирование и проверка границ

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

02:21:05 Преимущества юнит-тестирования

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

02:21:05 Преимущества юнит-тестирования