Push
Prema arhitekturi, s gledišta cloud servera, postoje više točaka s kojih mogu nastati pogreške. Počevši od lokacija pa do baze podataka, možemo očekivati pogreške u ovim područjima:
-
Raspberry PI -> Server: Raspberry PI je odgovoran za slanje podataka s mjerača na server. Ako Raspberry PI izgubi vezu sa serverom, server neće primati nikakve podatke. Raspberry PI također može slati netočne podatke ili ne biti ovlašten za slanje podataka.
-
Server: Sam server može prestati raditi ili imati bug koji uzrokuje prestanak primanja podataka s Raspberry PI.
-
Server -> Baza podataka: Server šalje podatke u bazu podataka. Ako je baza podataka nedostupna ili nema veze s bazom podataka ili postoje problemi s upitima, server neće moći pohraniti podatke.
Kvarovi
Ovdje je popis kvarova koji se mogu pojaviti u procesu push podijeljenih po područjima:
-
Raspberry PI -> Server:
- Raspberry PI ne šalje podatke
- Raspberry PI šalje netočne podatke
-
Server:
- Server nije povezan na mrežu
- Server baca iznimku (softverski bug)
-
Server -> Baza podataka:
- Baza podataka nije povezana na mrežu
- Baza podataka baca iznimku (softverski bug)
Testiranje
Da bismo testirali otpornost u procesu push, možemo simulirati kvarove na sljedeće načine:
-
Raspberry PI ne šalje podatke: isključite fake push skriptu i provjerite kako se server ponaša. Server ne bi trebao prestati raditi i trebao bi generirati alarm nakon nekog vremena.
-
Raspberry PI šalje netočne podatke: stvorite CSV datoteke s netočnim podacima iz CSV datoteka s točnim podacima i fake push skriptom pošaljite te mjere na server. Server ne bi trebao prestati raditi i trebao bi generirati alarm.
-
Server nije povezan na mrežu: isključite server i ponovo ga uključite nakon nekog vremena. Server bi trebao ponovno početi raditi, niti jedno mjerenje ne bi trebalo biti izgubljeno (fake skripta bi trebala ponovno pokušati kao i aplikacija), i alarm bi trebao biti generiran.
-
Server baca iznimku: stvorite bug na serveru koji uzrokuje prestanak obrade dolaznih mjera. Server ne bi trebao prestati raditi i trebao bi generirati alarm.
-
Baza podataka nije povezana na mrežu: isključite bazu podataka i ponovo je uključite nakon nekog vremena. Server bi trebao ponovno početi raditi, niti jedno mjerenje ne bi trebalo biti izgubljeno (fake skripta bi trebala ponovno pokušati kao i aplikacija), i alarm bi trebao biti generiran.
-
Baza podataka baca iznimku: stvorite bug na serveru koji uzrokuje prestanak obrade dolaznih mjera u bazi podataka. Server ne bi trebao prestati raditi i trebao bi generirati alarm.