Найти тему

Тесты

Оглавление

Для тестирования функционала ролей мастера приемщика, автомеханика и автодиагноста в информационной системе автосервиса, я предлагаю следующие тестовые сценарии:

Таблица 1: Тестовые сценарии

Мастер приемщик

  1. Тестовый сценарий 1Дата(ы) теста: 2024-06-15
    Приоритет тестирования: Высокий
    Заголовок/название теста: Добавление нового сотрудника

    Этапы теста:Войти в систему как мастер приемщик.
    Перейти в раздел управления сотрудниками.
    Нажать на кнопку "Добавить сотрудника".
    Ввести в форму данные нового сотрудника.
    Подтвердить добавление сотрудника.
    Тестовые данные: Имя - "Иван Иванов", Роль - "Механик"
    Ожидаемый результат: Новый сотрудник добавлен, система показывает сообщение об успешном добавлении.
    Фактический результат: Анализируется после выполнения теста.
  2. Тестовый сценарий 2Дата(ы) теста: 2024-06-16
    Приоритет тестирования: Средний
    Заголовок/название теста: Просмотр всех заказов

    Этапы теста:Войти в систему как мастер приемщик.
    Перейти в раздел управления заказами.
    Просмотреть список всех заказов.
    Тестовые данные: Нет специфических данных.
    Ожидаемый результат: Система отображает список всех текущих и прошлых заказов.
    Фактический результат: Анализируется после выполнения теста.
    Автомеханик
  3. Тестовый сценарий 1Дата(ы) теста: 2024-06-15
    Приоритет тестирования: Высокий
    Заголовок/название теста: Изменение статуса заказа на "готов"

    Этапы теста:Войти в систему как автомеханик.
    Перейти к списку заказов активной смены.
    Выбрать заказ и изменить его статус на "готов".
    Тестовые данные: Заказ №1234
    Ожидаемый результат: Статус заказа обновлён, система показывает сообщение об успешном изменении статуса.
    Фактический результат: Анализируется после выполнения теста.
  4. Тестовый сценарий 2Дата(ы) теста: 2024-06-16
    Приоритет тестирования: Средний
    Заголовок/название теста: Просмотр списка заказов за активную смену

    Этапы теста:Войти в систему как автомеханик.
    Перейти к списку заказов.
    Тестовые данные: Нет специфических данных.
    Ожидаемый результат: Отображение всех заказов за текущую смену.
    Фактический результат: Анализируется после выполнения теста.

Автодиагност

  1. Тестовый сценарий 1Дата(ы) теста: 2024-06-15
    Приоритет тестирования: Высокий
    Заголовок/название теста: Создание нового заказа

    Этапы теста:Войти в систему как автодиагност.
    Перейти к форме создания нового заказа.
    Заполнить данные о новом заказе.
    Подтвердить создание заказа.
    Тестовые данные: Клиент - "ООО Рога и Копыта", Автомобиль - "Volvo XC90", Услуги - "Диагностика двигателя", Статус - "Принят"
    Ожидаемый результат: Заказ успешно создан, система показывает сообщение о создании заказа.
    Фактический результат: Анализируется после выполнения теста.
  2. Тестовый сценарий 2Дата(ы) теста: 2024-06-16
    Приоритет тестирования: Средний
    Заголовок/название теста: Изменение статуса заказа на "оплачен"

    Этапы теста:Войти в систему как автодиагност.
    Перейти к списку всех принятых заказов.
    Выбрать заказ и изменить его статус на "оплачен".
    Тестовые данные: Заказ №5678
    Ожидаемый результат: Статус заказа обновлён, система показывает сообщение об успешном изменении статуса.
    Фактический результат: Анализируется после выполнения теста.

Для инспекции программного кода, который был разработан для модуля 1, необходимо соблюдение стандартов кодирования и проверка на следующие аспекты:

  1. Читаемость и стиль кода:Проверка имен переменных и функций на их понятность и соответствие задачам, которые они выполняют.
    Использование комментариев для описания блоков кода, сложных алгоритмов или использования хаков/триков.
    Соблюдение стандартов форматирования кода, включая отступы, пробелы и скобки.
  2. Структура и архитектура:Адекватность разделения кода на функции и модули.
    Соблюдение принципов SOLID для объектно-ориентированного программирования.
    Использование паттернов проектирования, где это уместно.
  3. Безопасность:Проверка на наличие уязвимостей, связанных с SQL-инъекциями, XSS (Cross-site scripting), CSRF (Cross-Site Request Forgery) и другими распространёнными угрозами.
    Использование аутентификации и авторизации для защиты чувствительных разделов приложения.
  4. Производительность:Оптимизация запросов к базам данных.
    Минимизация загрузки ресурсов и управление памятью.
  5. Отладка и логирование:Наличие системы логирования для отслеживания ошибок и важных событий.
    Предусмотрены ли механизмы для упрощения отладки (например, вывод значений переменных в лог).
  6. Тестирование и документация:Наличие тестов для проверки функциональности системы.
    Наличие документации по коду, включая инструкции для развертывания и настройки системы.

Пример проверки кода

Если у нас есть конкретный фрагмент кода, можно выполнить следующий обзор:

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-инъекций.
  • Хэширование паролей перед сохранением в базу данных.

Что можно улучшить:

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

При инспекции кода важно обращать внимание на эти и другие аспекты, чтобы обеспечить его надёжность, безопасность и удобство поддержки.