Pengujian Software Sistem Embedded Contoh Kasus Sakelar On-off
Requirement Input switch push-button Output LED Ditekan 1x singkat untuk menyalakan Ditekan & ditahan 1 detik untuk mematikan
Skenario LED mati: ditekan 1x pendek (kurang dari 1 detik) maka LED menyala LED mati: ditekan 1x panjang (lebih dari 1 detik) -> LED menyala LED menyala: ditekan & ditahan selama 1 detik -> LED mati LED menyala: ditekan kurang dari 1 detik -> LED tetap menyala LED menyala: ditekan & ditahan selama lebih dari 1 detik -> LED mati dalam 1 detik, setelah itu tetap mati
Skenario Ekstra LED menyala: switch ditekan berkali-kali pendek -> LED tetap menyala (frekuensi di bawah batas tertentu) LED mati: switch ditekan berkali-kali pendek -> LED menyala dan tidak mati (frekuensi di bawah batas tertentu)
Diagram Skenario 1 LED mati: ditekan 1x pendek (kurang dari 1 detik) maka LED menyala
Diagram Skenario 2 LED mati: ditekan 1x panjang (lebih dari 1 detik) -> LED menyala
Skenario 3 LED menyala: ditekan & ditahan selama 1 detik -> LED mati
Skenario 4 LED menyala: ditekan kurang dari 1 detik -> LED tetap menyala
LED menyala: ditekan & ditahan selama lebih dari 1 detik -> LED mati dalam 1 detik, setelah itu tetap mati
Skenario Ekstra 6
Skenario Ekstra 7
State Diagram
Sketsa State Chart
Sketsa State Chart
Arduino Nano (ATmega328)
Arduino Nano
Arduino Nano di Breadboard
Skema Arduino Sederhana
Arduino Nano
Pembagian File Daftar file /atmega-100Hz/hasil.c : main(), ISR (platform dependent) /fsm/fsm.c : implementasi FSM (platform independent) /fsm/fsm.h: definisi-definisi FSM (platform independent)
Definisi Konstanta & Variabel & Fungsi (fsm.h)
Implementasi FSM (fsm.c)
Perhitungan Output (fsm.c)
Implementasi ISR
Status Software https://bitbucket.org/waskita/perancangan-state-chart/commits/all
TODO Memonitor state dari luar Automated unit test