2010-05-23 14 views
6

Napisałem mały system operacyjny dla wbudowanego projektu działającego na małym i średnim celu.Jak sprawdzić niezawodność mojego (małego) wbudowanego systemu operacyjnego?

Dodałem trochę zautomatyzowanego testu jednostkowego z wysokim zakresem kodu testu (> 95%), ale zakres jest tylko częścią statyczną.
Mam niektóre dane kodu jako złożoność i czytelność.
Testuję mój kod za pomocą sprawdzania reguł z obsługą MiSRA i oczywiście naprawię wszystkie ostrzeżenia.
Testuję kod za pomocą analizatora statycznego i ponownie poprawiono wszystkie ostrzeżenia.

Co mogę teraz zrobić, aby test - i poprawić - niezawodność mojego systemu operacyjnego? Co z częścią dynamiczną?

+0

Pozwalanie ludziom na korzystanie z niego nie jest w tym momencie opcją? –

+0

@Tim Post: Tak, 2 projekty go uruchamiają ... ale muszę podać trochę informacji o niezawodności! Przetestowałem tylko część statyczną. – TridenT

+0

Czy to jest oparty na tekście system operacyjny? –

Odpowiedz

1

Spróbuj napisać kilka testów jednostkowych dla części dynamicznej. Następnie uruchom testy na docelowym sprzęcie. Uruchom testy sprzętu o większej liczbie rdzeni. Uruchom testy sprzętu z tylko jednym rdzeniem. Zmień docelową szybkość zegara systemowego i uruchom testy dynamiczne.

powinien wytrząsnąć większość problemów związanych z czasem.

+0

Może to jedyne rozwiązanie! Ale napisz test jednostkowy/integracyjny z oceną czasu, na celu, z wieloma rdzeniami ... Piszę test jednostkowy w ciągu 10 lat?!? – TridenT

+0

Uruchom testy dynamiczne na celu. (1) eksperyment przeprowadzaj testy dynamiczne na sprzęcie programistycznym przy użyciu mniej lub więcej rdzeni (2) eksperymentów. Uruchom na cel z innym eksperymentem prędkości zegara (1). Łącznie 5 eksperymentów. –

1

Zapoznaj się z software-testing entry on wikipedia. Jest to dość wyczerpujący opis różnych gałęzi testowania. Możesz znaleźć tam nowy pomysł lub dwa.

+0

To interesujący początek, ale nie wiem, jak sobie poradzić z dynamicznym zachowaniem mojego systemu operacyjnego. Będę śledzić link do dochodzenia! – TridenT

2

brakuje miejsca na liście:

  • Jeśli nie są już robi to wtedy również uruchomić testy jednostkowe na sprzęcie docelowym, aby sprawdzić kwestie kompilatora i sprzętu.

  • opinii Code sprawdzić zwłaszcza na warunkach wyścigowych

Można również sprawdzić wygenerowany kod montaż, jeśli nie jest zbyt duży.

+0

Przeglądy kodów są dobre, ale to "jeden zastrzyk".Przegląd kodu zespołu został częściowo wykonany, ale jakie wyniki powinienem pokazać? – TridenT

1

Wypróbuj na stronie Atomic Object's. Wypróbuj this also..

Również James Greening.

+0

Technika makiety jest raczej trudna w C (system operacyjny napisany jest w języku C + ASM) i jest cięższa w porównaniu z C++. Ale może to być jedyne rozwiązanie! – TridenT

+0

Wierzę, że oni także używają generowania kodu. – Gutzofter

1

Wygląda na to, że zrobiłeś wiele, aby przetestować swój system. Myślę, że następnym krokiem będą inne projekty lub ludzie, którzy z niego skorzystają. Inni użytkownicy szybko pokażą, że masz problemy z odpornością.

+0

tak, i już proszą o lepszą dokumentację użytkownika :) – TridenT

Powiązane problemy