/
ElenaS
/
tactic-hack
Обзор
Документация
Войти
/
ElenaS
/
tactic-hack
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/report
153 строки
6 KB
ElenaS
create src/report
20 окт 2025, 13:14
20 окт 2025, 13:14
462844f
Код
Авторство
О чём код?
# Отчёт по программным модулям **Проект:** Система тестирования аппаратных комплексов **Язык:** C++ **Файлы проекта:** `main.cpp`, `test_runner.h`, `test_runner.cpp`, `result_logger.h`, `tests/test_config.txt` --- ## 1. Назначение проекта Данный программный пакет предназначен для автоматизации тестирования аппаратных систем. Программа считывает конфигурацию тестов из файла `test_config.txt`, выполняет сравнение измеренных и ожидаемых параметров, выводит результат в консоль и сохраняет отчёт в файл `results.txt`. --- ## 2. Состав пакета | Файл | Назначение | |------|-------------| | **main.cpp** | Точка входа программы. Управляет загрузкой конфигурации, запуском всех тестов и отображением итогов. | | **test_runner.h** | Определяет структуру `Test` и класс `TestRunner`, управляющий выполнением тестов. | | **test_runner.cpp** | Реализует загрузку тестов, запуск и обработку результатов тестирования. | | **result_logger.h** | Содержит класс `ResultLogger`, отвечающий за сохранение результатов в файл. | | **tests/test_config.txt** | Конфигурационный файл с параметрами тестов (имя, ожидаемое и измеренное значение). | --- ## 3. Подготовка и сборка проекта ### Необходимые зависимости Для сборки требуется установленный **компилятор C++17 или выше**. Поддерживаются: - **Windows:** MinGW / MSYS2 / Visual Studio - **Linux / macOS:** GCC или Clang ### Структура проекта ``` project_root/ │ ├── main.cpp ├── test_runner.h ├── test_runner.cpp ├── result_logger.h └── tests/ └── test_config.txt ``` ### Команды сборки #### Windows (MinGW) ```bash g++ main.cpp test_runner.cpp -o tester.exe ``` #### Linux / macOS ```bash g++ main.cpp test_runner.cpp -o tester -pthread ``` После компиляции создаётся исполняемый файл: - `tester.exe` (Windows) - `./tester` (Linux / macOS) --- ## 4. Использование программного пакета 1. **Проверь конфигурацию тестов** Открой `tests/test_config.txt` и убедись, что указаны корректные значения: ``` # Формат: имя_теста ожидаемое_значение измеренное_значение ContactTest 1 1 VoltageCheck 5.0 5.0 CurrentCheck 0.5 0.6 TemperatureCheck 25 27 ``` 2. **Запусти программу** ```bash ./tester ``` 3. **Наблюдай выполнение тестов** В консоли будет отображаться, какие тесты проходят и какие нет, например: ``` Выполнение теста: VoltageCheck Результат: PASS (ожидалось 5.0, получено 5.0) ``` 4. **Проверь результаты** После завершения все результаты сохраняются в файл: ``` results.txt ``` --- ## 5. Пример вывода программы ``` === Система тестирования аппаратных комплексов === ▶ Выполнение теста: ContactTest Результат: PASS (ожидалось 1, получено 1) ▶ Выполнение теста: CurrentCheck Результат: FAIL (ожидалось 0.5, получено 0.6) Все тесты завершены. Результаты сохранены в results.txt ``` --- ## 6. Структура логов результатов Файл `results.txt` содержит итоговые статусы тестов в виде: ``` ContactTest: PASS VoltageCheck: PASS CurrentCheck: FAIL TemperatureCheck: FAIL ``` --- ## 7. Принцип работы модулей ### **`main.cpp`** - Загружает тесты через `loadTests()`. - Создаёт объект `TestRunner`. - Последовательно выполняет все тесты. ### **`test_runner.cpp`** - Читает строки из `test_config.txt`. - Сравнивает ожидаемое и фактическое значения. - Определяет статус `PASS` / `FAIL`. ### **`result_logger.h`** - Записывает имя теста и его результат в `results.txt`. --- ## 8. Проверка корректности Для успешного выполнения всех тестов необходимо: - Правильно оформить `test_config.txt` (3 колонки: имя, ожидание, значение). - Обеспечить доступ к каталогу для записи файла `results.txt`. - Убедиться, что используется актуальная версия компилятора C++ (C++17+). --- ## 9. Заключение Программный пакет реализует простую, модульную и расширяемую систему тестирования аппаратных комплексов. Код разделён на независимые части, что упрощает сопровождение и масштабирование. Может быть дополнен модулем связи с Arduino или внешними измерительными устройствами.