Das lernst du heute
- Normalfall, Grenzfall, Ausfall
- Tabelle der Erwartungen
- Nach jeder Änderung testen
„Läuft doch“ heißt meistens: Es lief einmal, bei 101 kPa, mit allen Sensoren. Ein Testfall hält fest, was der Chip in einer bestimmten Lage tun muss. Mit einer Handvoll davon prüfst du nach jeder Änderung in einer Minute, ob noch alles stimmt.
Drei Arten von Testfällen
- Normalfall: typische Werte, wie sie jeden Tag vorkommen – 101,3 kPa in der Halle.
- Grenzfall: genau auf der Schwelle und knapp daneben – 90,0 und 89,9 kPa. Hier verstecken sich die Verwechslungen von
sltundsle. - Ausfall: Sensor weg, Wert NaN, Gerät fehlt. Der Chip muss in den sicheren Zustand.
Die Tabelle der Erwartungen
Schreib die Tabelle, bevor du programmierst. Für die Druckampel der Halle sieht sie so aus:
| Fall | Druck | Farbe | Blinklicht | Anzeige |
|---|---|---|---|---|
| normal | 101,3 | grün | aus | 101,3 |
| Grenze grün unten | 90 | grün | aus | 90 |
| knapp darunter | 89,9 | gelb | aus | 89,9 |
| Grenze grün oben | 110 | grün | aus | 110 |
| knapp darüber | 110,1 | gelb | aus | 110,1 |
| Grenze gelb | 80 und 120 | gelb | aus | – |
| außerhalb | 79,9 oder 120,1 | rot | an | – |
| Sensor weg | – | rot | an | -1 |
Jede Zeile ist eine Frage an den Code. Ob „90 gehört noch zu grün“ stimmt, entscheidet allein sge oder sgt:
define GRUEN_MIN 90 # kPa, ab hier gruen, 90 gehoert dazu
define GRUEN_MAX 110 # kPa, bis hier gruen, 110 gehoert dazu
sge unten p GRUEN_MIN
sle oben p GRUEN_MAX
and gruen unten oben
Die Tests in der Akademie sind genau solche Tabellen: Werte setzen, Takte laufen lassen, Ergebnis erwarten. Im Spiel machst du dasselbe mit einem Drehknopf als Testwert – dazu mehr im Großprojekt.
Nach jeder Änderung
Eine kleine Änderung an einer Grenze kann eine ganz andere Zeile kaputt machen. Deshalb laufen nach jeder Änderung alle Testfälle, nicht nur der, an dem du gerade arbeitest. Im Simulator dauert das eine Minute, im Spiel nach einem Fehler oft einen Abend.
Schreib die Grenzen als define und notier im Kommentar, ob der Grenzwert selbst noch dazugehört. Dann gibt es später keinen Streit zwischen Tabelle und Code.
Übung
Aufgabe
Bau die Druckampel nach der Tabelle oben. Sensor „Halle“, Anzeige „Druck“ (zeigt den Druck, bei Ausfall -1, Farbe über Color), Blinklicht „Druckalarm“. Grün: 90 bis 110 kPa einschließlich. Gelb: 80 bis 120 kPa einschließlich, außerhalb von Grün. Rot sonst und bei fehlendem Sensor – dann blinkt auch der Alarm.
Hinweise
Hinweis 1
Grenzen eingeschlossen heißt sge unten und sle oben.
Hinweis 2
Erst das gelbe Band (80–120) prüfen, dann mit select Grün darüberlegen.
Hinweis 3
Rot ist alles außerhalb des gelben Bands: seqz liefert dann den Alarm. NaN landet automatisch dort.
Quiz
4 Fragen. Ab 60 % ist das Quiz bestanden – die Auswertung macht der Server.
Tag abschließen
- Übung im Simulator bestanden
- Quiz mit mindestens 60 % bestanden
Ohne Konto wird der Fortschritt nur in diesem Browser gespeichert.
Fehler in dieser Lektion melden
Zum Melden bitte anmelden. Anmelden