7. Тестирование (Модульное и интеграционное) - siliciumo2/The-ice-explorer GitHub Wiki

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

Тестирование проводилось вручную с использованием try-catch. Пример кода:

Метод SaveRecord()

Метод для сохранения рекордов игрока в базе данных SQL Server.

private void SaveRecord() { try { using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open();`

        `// Получаем следующий ID для новой записи`
        `int newId = 1;`
        `string getMaxIdQuery = "SELECT ISNULL(MAX(ID), 0) FROM records";`
        `using (SqlCommand cmd = new SqlCommand(getMaxIdQuery, connection))`
        `{`
            `newId = (int)cmd.ExecuteScalar() + 1;`
        `}`

        `// Добавляем новую запись`
        `string insertQuery = "INSERT INTO records (ID, Nickname, Score) VALUES (@id, @nickname, @score)";`
        `using (SqlCommand cmd = new SqlCommand(insertQuery, connection))`
        `{`
            `cmd.Parameters.AddWithValue("@id", newId);`
            `cmd.Parameters.AddWithValue("@nickname", nickname);`
            `cmd.Parameters.AddWithValue("@score", score);`
            `cmd.ExecuteNonQuery();`
        `}`
    `}`
`}`
`catch (Exception ex)`
`{`
    `MessageBox.Show($"Ошибка при сохранении рекорда: {ex.Message}", `
                  `"Ошибка", `
                  `MessageBoxButtons.OK, `
                  `MessageBoxIcon.Error);`
`}`

}

Тест-кейсы

ID Шаги выполнения Ожидаемый результат Статус
001 1. Ввести никнейм2. Запустить игру Успешный запуск игры с сохранением никнейма ✅ Пройден
002 1. Запустить игру без ввода никнейма Отображение предупреждения о необходимости ввода никнейма ✅ Пройден
003 1. Ввести никнейм2. Запустить игру3. Использовать прыжок (Пробел) Корректная обработка управления в игровом процессе ✅ Пройден
004 1. Ввести никнейм2. Запустить игру3. Столкнуться с препятствием Отображение экрана "GAME OVER" ✅ Пройден
005 1. Ввести никнейм2. Запустить игру3. Потерпеть поражение4. Нажать Enter Успешный перезапуск игры ✅ Пройден
006 1. Открыть вкладку рекордов Корректное отображение таблицы лидеров ✅ Пройден
007 1. Нажать кнопку Exit Корректное завершение работы приложения ✅ Пройден

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

Граф программы drawio

Тестовые пути:
CC = 7 - 5 + 2 = 4 (количество тестовых путей)

  1. Т1: 1 → 3
  2. Т2: 1 → 2 → 3
  3. Т3: 1 → 4 → 1 → 3
  4. Т4: 1 → 2 → 5 → 2 → 3

Интеграционное тестирование "The Ice Explorer"

Тест-кейсы

ID Шаги выполнения Ожидаемый результат Статус
001 1. Ввести никнейм2. Запустить игру Успешный запуск игры с сохранением никнейма ✅ Пройден
002 1. Запустить игру без ввода никнейма Отображение предупреждения о необходимости ввода никнейма ✅ Пройден
003 1. Ввести никнейм2. Запустить игру3. Использовать прыжок (Пробел) Корректная обработка управления в игровом процессе ✅ Пройден
004 1. Ввести никнейм2. Запустить игру3. Столкнуться с препятствием Отображение экрана "GAME OVER" ✅ Пройден
005 1. Ввести никнейм2. Запустить игру3. Потерпеть поражение4. Нажать Enter Успешный перезапуск игры ✅ Пройден
006 1. Открыть вкладку рекордов Корректное отображение таблицы лидеров ✅ Пройден
007 1. Нажать кнопку Exit Корректное завершение работы приложения ✅ Пройден

Результаты тестирования

Тестовый путь Скриншоты Ожидаемый результат Фактический результат Статус
Т1 1. 13. 3 Успешный переход между формами Ожидаемый Пройден
Т2 1. 12. image_2025-06-06_15-57-42 (2)3. 3 Успешный переход между формами Ожидаемый Пройден
Т3 1. 14. 41. 13. 3 Успешный переход между формами Ожидаемый Пройден
Т4 1. 12. image_2025-06-06_15-57-42 (2)5. 52. image_2025-06-06_15-57-42 (2)3. 3 Успешный переход между формами Ожидаемый Пройден