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 | Корректное завершение работы приложения | ✅ Пройден |
Интеграционное тестирование
Тестовые пути:
CC = 7 - 5 + 2 = 4
(количество тестовых путей)
- Т1:
1 → 3
- Т2:
1 → 2 → 3
- Т3:
1 → 4 → 1 → 3
- Т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. |
Успешный переход между формами | Ожидаемый | Пройден |
Т2 | 1. |
Успешный переход между формами | Ожидаемый | Пройден |
Т3 | 1. |
Успешный переход между формами | Ожидаемый | Пройден |
Т4 | 1. |
Успешный переход между формами | Ожидаемый | Пройден |