Я записал маленькую операционную систему для встроенного проекта, работающего на малой и средней цели.
Я добавил некоторый автоматизированный модульный тест с высоким покрытием тестового кода (> 95%), но объемом является только статическая часть.
Я получил некоторые метрики кода как сложность и удобочитаемость.
Я тестирую свой код со средством проверки правила с поддержкой MiSRA и конечно зафиксировал все предупреждения.
Я тестирую код со статическим анализатором и снова зафиксировал все предупреждения.
Что я могу сделать теперь, чтобы протестировать - и улучшиться - надежность моей ОС? Как насчет динамической части?
Попробуйте написать несколько модульных тестов для динамической части. Затем запустите тесты на целевом оборудовании. Запустите тесты на оборудовании с большим количеством ядер Запустите тесты на оборудовании с одним ядром
Изменяйте тактовую частоту целевой системы и запускайте динамические тесты.
должны устранить большинство проблем с синхронизацией.
Попробуйте сайт Atomic Object . Попробуйте также это. .
Также Джеймс Грининг .
Чего не хватает в вашем списке:
Если вы еще этого не сделали, запустите также модульные тесты на целевом оборудовании, чтобы проверить компилятор и проблемы с оборудованием.
Проверка кода, особенно проверка условий гонки
Вы также можете просмотреть сгенерированный ассемблерный код, если он не слишком велик.
Посмотрите статью тестирование программного обеспечения в Википедии. Это довольно полное описание различных направлений тестирования. Возможно, вы найдете там пару новых идей.