Для тестирования функционала ролей мастера приемщика, автомеханика и автодиагноста в информационной системе автосервиса, я предлагаю следующие тестовые сценарии:
Таблица 1: Тестовые сценарии
Мастер приемщик
- Тестовый сценарий 1Дата(ы) теста: 2024-06-15
Приоритет тестирования: Высокий
Заголовок/название теста: Добавление нового сотрудника
Этапы теста:Войти в систему как мастер приемщик.
Перейти в раздел управления сотрудниками.
Нажать на кнопку "Добавить сотрудника".
Ввести в форму данные нового сотрудника.
Подтвердить добавление сотрудника.
Тестовые данные: Имя - "Иван Иванов", Роль - "Механик"
Ожидаемый результат: Новый сотрудник добавлен, система показывает сообщение об успешном добавлении.
Фактический результат: Анализируется после выполнения теста. - Тестовый сценарий 2Дата(ы) теста: 2024-06-16
Приоритет тестирования: Средний
Заголовок/название теста: Просмотр всех заказов
Этапы теста:Войти в систему как мастер приемщик.
Перейти в раздел управления заказами.
Просмотреть список всех заказов.
Тестовые данные: Нет специфических данных.
Ожидаемый результат: Система отображает список всех текущих и прошлых заказов.
Фактический результат: Анализируется после выполнения теста.
Автомеханик - Тестовый сценарий 1Дата(ы) теста: 2024-06-15
Приоритет тестирования: Высокий
Заголовок/название теста: Изменение статуса заказа на "готов"
Этапы теста:Войти в систему как автомеханик.
Перейти к списку заказов активной смены.
Выбрать заказ и изменить его статус на "готов".
Тестовые данные: Заказ №1234
Ожидаемый результат: Статус заказа обновлён, система показывает сообщение об успешном изменении статуса.
Фактический результат: Анализируется после выполнения теста. - Тестовый сценарий 2Дата(ы) теста: 2024-06-16
Приоритет тестирования: Средний
Заголовок/название теста: Просмотр списка заказов за активную смену
Этапы теста:Войти в систему как автомеханик.
Перейти к списку заказов.
Тестовые данные: Нет специфических данных.
Ожидаемый результат: Отображение всех заказов за текущую смену.
Фактический результат: Анализируется после выполнения теста.
Автодиагност
- Тестовый сценарий 1Дата(ы) теста: 2024-06-15
Приоритет тестирования: Высокий
Заголовок/название теста: Создание нового заказа
Этапы теста:Войти в систему как автодиагност.
Перейти к форме создания нового заказа.
Заполнить данные о новом заказе.
Подтвердить создание заказа.
Тестовые данные: Клиент - "ООО Рога и Копыта", Автомобиль - "Volvo XC90", Услуги - "Диагностика двигателя", Статус - "Принят"
Ожидаемый результат: Заказ успешно создан, система показывает сообщение о создании заказа.
Фактический результат: Анализируется после выполнения теста. - Тестовый сценарий 2Дата(ы) теста: 2024-06-16
Приоритет тестирования: Средний
Заголовок/название теста: Изменение статуса заказа на "оплачен"
Этапы теста:Войти в систему как автодиагност.
Перейти к списку всех принятых заказов.
Выбрать заказ и изменить его статус на "оплачен".
Тестовые данные: Заказ №5678
Ожидаемый результат: Статус заказа обновлён, система показывает сообщение об успешном изменении статуса.
Фактический результат: Анализируется после выполнения теста.
Для инспекции программного кода, который был разработан для модуля 1, необходимо соблюдение стандартов кодирования и проверка на следующие аспекты:
- Читаемость и стиль кода:Проверка имен переменных и функций на их понятность и соответствие задачам, которые они выполняют.
Использование комментариев для описания блоков кода, сложных алгоритмов или использования хаков/триков.
Соблюдение стандартов форматирования кода, включая отступы, пробелы и скобки. - Структура и архитектура:Адекватность разделения кода на функции и модули.
Соблюдение принципов SOLID для объектно-ориентированного программирования.
Использование паттернов проектирования, где это уместно. - Безопасность:Проверка на наличие уязвимостей, связанных с SQL-инъекциями, XSS (Cross-site scripting), CSRF (Cross-Site Request Forgery) и другими распространёнными угрозами.
Использование аутентификации и авторизации для защиты чувствительных разделов приложения. - Производительность:Оптимизация запросов к базам данных.
Минимизация загрузки ресурсов и управление памятью. - Отладка и логирование:Наличие системы логирования для отслеживания ошибок и важных событий.
Предусмотрены ли механизмы для упрощения отладки (например, вывод значений переменных в лог). - Тестирование и документация:Наличие тестов для проверки функциональности системы.
Наличие документации по коду, включая инструкции для развертывания и настройки системы.
Пример проверки кода
Если у нас есть конкретный фрагмент кода, можно выполнить следующий обзор:
phpКопировать код// Пример PHP-кода function addUser($db, $username, $password) {
$hashed_password = password_hash($password, PASSWORD_DEFAULT);
$query = "INSERT INTO users (username, password) VALUES (?, ?)";
$stmt = $db->prepare($query);
$stmt->bind_param("ss", $username, $hashed_password);
$stmt->execute();
}
Что хорошо:
- Использование подготовленных выражений для защиты от SQL-инъекций.
- Хэширование паролей перед сохранением в базу данных.
Что можно улучшить:
- Добавление обработки ошибок для операций с базой данных.
- Добавление комментариев для улучшения понимания логики работы функции.
При инспекции кода важно обращать внимание на эти и другие аспекты, чтобы обеспечить его надёжность, безопасность и удобство поддержки.