KWALIFIKACJA ELM5 - TEST WIEDZY NR 8

PYTANIE NR 21.
Zakładasz, że urządzenie elektroniczne jest prawidłowo zaprogramowane. Które z poniższych stwierdzeń najlepiej opisuje to założenie?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Założenie, że urządzenie jest prawidłowo zaprogramowane, dotyczy przede wszystkim poprawności funkcjonalnej: program realizuje wymagane funkcje i nie generuje błędów w typowych warunkach pracy.
Pozostałe odpowiedzi opisują inne cechy (komunikację, ograniczony zakres funkcji lub niezawodność), a nie samo "poprawne zaprogramowanie".

Pełne wyjaśnienie:

W kontekście eksploatacji urządzeń elektronicznych "prawidłowo zaprogramowane" najtrafniej oznacza, że oprogramowanie/firmware realizuje wszystkie przewidziane funkcje zgodnie z wymaganiami oraz nie powoduje błędów działania w normalnych warunkach użytkowania. To jest przede wszystkim kwestia poprawności funkcjonalnej (czyli: czy urządzenie robi to, co ma robić, i robi to poprawnie).

Dlaczego poprawna jest odpowiedź:
"Urządzenie jest w stanie wykonywać wszystkie swoje funkcje bez błędów" najlepiej oddaje sens założenia o poprawnym zaprogramowaniu: program nie zawiera błędów logicznych uniemożliwiających realizację funkcji, a funkcje są kompletne (nie brakuje elementów wymaganych przez specyfikację).

Dlaczego pozostałe odpowiedzi są niepoprawne:

  • "Urządzenie jest w stanie komunikować się z innymi urządzeniami" – komunikacja to tylko jedna z możliwych funkcji i zależy także od sprzętu (interfejsy), konfiguracji, protokołów oraz środowiska pracy. Urządzenie może być poprawnie zaprogramowane, a mimo to nie komunikować się (np. brak kompatybilności, uszkodzony port, zła konfiguracja).
  • "Urządzenie jest w stanie wykonywać tylko podstawowe funkcje" – to sugeruje ograniczony zakres działania. Poprawne zaprogramowanie nie oznacza "minimum", tylko zgodność z pełnym zakresem funkcji wymaganych dla danego urządzenia.
  • "Urządzenie jest w stanie działać bez przerwy przez długi czas" – to opis niezawodności i stabilności, które zależą m.in. od zasilania, temperatury, jakości elementów, projektu hardware, a także jakości kodu. Długi czas pracy nie jest jednak definicją poprawnego zaprogramowania; urządzenie może działać długo, ale wykonywać funkcje błędnie.

Wskazówka egzaminacyjna: gdy w pytaniu pojawia się "prawidłowo zaprogramowane", szukaj odpowiedzi związanej z realizacją funkcji i brakiem błędów funkcjonalnych, a nie z cechami pobocznymi jak łączność, czas pracy czy "podstawowy tryb".

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Najczęściej oznacza to, że firmware/oprogramowanie realizuje wszystkie wymagane funkcje zgodnie ze specyfikacją i nie powoduje błędów w typowych warunkach pracy. Nie jest to to samo co "działa długo" albo "komunikuje się" — to inne cechy jakości.
Poprawność programu dotyczy tego, czy funkcje działają zgodnie z wymaganiami (logika, algorytmy, reakcje na zdarzenia). Niezawodność dotyczy stabilnej pracy w czasie i zależy też od sprzętu, zasilania, temperatury i środowiska. Można mieć poprawny program na zawodnym sprzęcie.
Komunikacja zależy od wielu czynników: interfejsu sprzętowego, protokołu, zgodności konfiguracji, okablowania i urządzenia po drugiej stronie. Program może być poprawny, a komunikacja może nie działać przez błędną konfigurację lub uszkodzenie toru transmisyjnego.
Najlepiej sprawdzają się testy funkcjonalne względem wymagań: scenariusze użytkowe, testy wejść/wyjść, testy reakcji na stany graniczne oraz testy regresji po aktualizacji. Ważne jest porównanie wyników z dokumentacją/specyfikacją, a nie tylko obserwacja "że się włącza".
Częsty błąd to wybór odpowiedzi o stabilności ("działa długo") albo o pojedynczej cesze ("komunikuje się"), bo brzmią praktycznie. Egzamin zwykle oczekuje rozpoznania pojęcia poprawności funkcjonalnej: komplet funkcji i brak błędów w ich realizacji.
Tak. Poprawny program nie gwarantuje poprawnej pracy całego urządzenia. Problemy mogą wynikać z hardware (uszkodzenia, złe zasilanie, zakłócenia), warunków środowiskowych lub błędnej konfiguracji. Dlatego w diagnostyce rozdziela się usterki sprzętowe od programowych.
Najbardziej przydatne skojarzenia to: firmware, wymagania funkcjonalne, testy funkcjonalne, weryfikacja i walidacja, obsługa błędów oraz zgodność działania ze specyfikacją. To pomaga odróżnić poprawność oprogramowania od cech takich jak kompatybilność czy niezawodność.
Najpierw izoluje się warstwy: test lokalny funkcji bez komunikacji (np. sygnały na pinach, logi, tryb serwisowy), potem test interfejsu (okablowanie, poziomy, terminacja), a na końcu protokół i konfigurację. Jeśli funkcje lokalne działają, a łączność nie — problem często leży poza logiką programu.
Zwykle po wgraniu właściwej wersji firmware i przejściu testów odbiorczych/regresji lub gdy objawy jednoznacznie wskazują na sprzęt (np. brak zasilania, zwarcie). To założenie ma ułatwić diagnostykę, ale powinno być weryfikowane, jeśli testy funkcjonalne nie przechodzą.
Ćwicz rozróżnianie pojęć: poprawność funkcji, komunikacja, niezawodność i wydajność. Ucz się, jakie testy odpowiadają danej cesze (funkcjonalne vs długotrwałe). Pomaga też praca na prostych przykładach: mikrokontroler + wejścia/wyjścia + scenariusze testowe.
info

Statystycznie 81% uczniów zna prawidłową odpowiedź. średnio łatwe

Źródła:

  • ISO/IEC 25010:2011, Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — System and software quality models
  • ISO/IEC/IEEE 12207:2017, Systems and software engineering — Software life cycle processes
  • Ian Sommerville, "Software Engineering" (np. wyd. 10), rozdziały dotyczące wymagań i testowania oprogramowania

Materiały:

  • Podstawy inżynierii oprogramowania w systemach wbudowanych (rozdziały o wymaganiach i testowaniu)
  • Dokumentacje producentów mikrokontrolerów dotyczące procesu programowania i weryfikacji firmware
  • Materiały o modelach jakości oprogramowania (funkcjonalność, niezawodność, kompatybilność)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego