Классификация ошибок
Поиск ошибок
Стратегии тестирования
Оптимизация vs Рефакторинг
100

Нарушение правил языка

Синтаксические ошибки

100

Как найти синтаксические ошибки?

•Подсветка в Visual Studio (красные подчеркивания)

•Ошибки компиляции в Error List

100

Модульное тестирование

Отдельные методы/классы

100

Цель оптимизации

улучшение производительности и эффективности

200

Ошибки при выполнении

Исключения

200

Что за тип исключения DivideByZeroException?

Деление на 0

200

Интеграционное тестирование

Работа с БД/API, взаимодействие форм

200

Цель рефакторинга

улучшение читаемости и структуры без изменения функциональности

300

Код работает, но неверно

Логические ошибки

300

Что за тип исключения ArgumentOutOfRange?

Значение аргумента вне диапазона значений

300

3 шага TDD (Test-Driven Development)

1.Пишем тест

2.Реализуем код

3.Рефакторим

300

Основные приемы рефакторинга

1.Извлечение метода (Extract Method)

2.Переименование переменных (Rename Variable)

3.Замена магических чисел на константы

4.Упрощение условных выражений

5.Устранение дублирования

400

Проблемы в приложениях с GUI

UI-ошибки

400

Что за тип исключения IndexOutOfRangeException?

Индекс за пределами границ массива

400

Что такое Data-Driven Testing?

Тестирование с разными входными данными

400

Методы оптимизации
программного кода

Устранение дублирования кода

Документирование изменений

Улучшение читаемости

Внедрение проверок и валидации

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

500

Что за тип исключения NullReferenceException?

Попытка обращения к null-объекту