IoT (Internet of Things) yani “Nesnelerin İnternetine” duyulan ilgi gün geçtikçe artıyor. IoT’yi kısaca özetleyecek olursak, internete erişimi olan ve birbirleri ile iletişim kurabilen nesnelere verilen isim diyebiliriz. Mesala aşağıdaki giyilebilir saat buna bir örnektir.
Bu saat ile günlük yaktığınız kalori miktarı, attığınız adım sayınız vb. bilgileri mobil cihazınıza bir uygulama vasıtasıyla kolayca aktarabilir ve internette, sosyal medyada bu bilgilerinizi paylaşabilirsiniz.
Bağlanabilirlik noktasında RFID, Bluetooth, NFC veya çok kullandığımız Wi-fi ile bu cihazlardan internet ortamına veri akışı sağlanabilir.
IoT Test Yaklaşımları
Nesnelerin interneti testleri kapsamında örnek olarak bir medikal cihaz takip sistemini ele alalım. Bu bir MR cihazı olabilir ve bu cihazda üretilen veriler sisteme kaydedilerek gerektiği zamanda hemşireler veya fizik uzmanları tarafından kullanılabiliyor olsun.
Burada kullanacağımız test yaklaşımları şunlardır;
- Kullanılabilirlik (Usability); kapsamında cihazlara ait keşif testi yapılabilir. Burada bir gereksinim dokümanından söz edemeyiz. Verinin kaydedildiği cihazların düzgün çalıştığından emin olmalıyız. Bu kapsamda;
– Cihaz medikal merkezin her lokasyonuna taşınabilir/uyumlu olmalıdır. Görüldüğü üzere burada sadece yazılımı test etmiyoruz.
– Cihazın Wi-fi/Bluetooth üzerinden paylaştığı verinin dışında hata mesajı/notifikasyonlar, yani logların üretilip üretilmediğinin test senaryoları oluşturulmalıdır.
Kısacası verilerin gösterilmesi/logların tutulup tutulmadığı, hata mesajlarının çalışıp çalışmadığı test edilmelidir.
- Güvenlik testleri; kapsamında aşağıdaki kontrol listesi hazırlanabilir;
– Cihaz tüm medikal merkezin ağında çalışabilir olmalı ve sadece hastane network’üne bağlı mobil cihazlara paylaşım yapıp yapmadığı test edilmelidir.
– Verilerin protected/encyrpted bir şekilde mobil cihazlara akıp akmadığının test senaryoları yazılmalıdır.
– Sisteme login olma, user hakları vs. gibi test senaryoları çıkarılmalıdır.
- Connectivity (Bağlanılabilirlik); testleri kapsamında çıkarılacak senaryolar büyük önem arz etmektedir.
– Sistemin 7/24, 365 gün çalışılabilirliği test edilmelidir, bu kapsamda sistemin sürekli canlı olup olmadığını kontrol eden ve down olduğunda alarm veren bir script yazılabilir.
– Ayrıca veri akışının sağlanıp sağlanmadığı ve cihazlara giden task/fonksiyonların sorunsuz çalışıp çalışmadığı da test edilmelidir.
– Diğer bir senaryo da sistemin down olma durumudur. Bu durumda HA dediğimiz High Availability sistemler kullanmak, yani bir sistem down olduğunda diğer server’ın up olarak devreye geçmesi bir çözüm olabilir. Ancak bu maliyetli olacağından bir alarm mekanizması oluşturularak mobil cihazından hasta sonuçlarını göremeyen sağlık uzmanlarının manuel olarak cihazı görüntülemesi sağlanabilir. Sistem up olduğunda kaybolan datanın tekrar düzene döndüğü test edilmelidir.
- Performans testleri kapsamında;
– Büyük bir hastane network’ünü düşünürsek sistemin tüm hastane içinde performanslı çalışmasını bekleriz.
– Örneğin 2-5 hasta için oluşturulan datanın 5 sn içinde paylaşıldığının testleri yapılmalıdır.
– Eğer 180-200 civarı hasta varsa ve data her hasta için aynı anda tüm cihazlara iletilecekse sistem az önceki case’den daha az performanslı çalışabilir.
– Her bir transaction olduğunda ve veriler DB’de şiştiğinde sistemin yine de aynı performansla çalışıp çalışmadığı test edilmelidir.
– Ayrıca sistemin kullanılma oranı, güç kullanım oranı, sıcaklık vs. gibi değerlerin doğru olup olmadığı test edilmelidir.
- Uyumluluk testleri;
– Bu testler kapsamında kullanılan işletim sisteminin uyumluluğu, browser tipleri, iletişim teknikleri (mesela Bluetooth 2.0 veya 3.0 gibi) test edilmelidir.
- Regülasyon testleri;
– Tüm testler tamamlandığında sistemin belli standartlara (ISO 9001 vs) uyup uymadığı ile ilgili sertifikalarının olup olmadığının checklist’i hazırlanıp test edilmelidir.
- Upgrade (Yükseltme) testleri;
IoT, birçok sistemin, protokolün ve işletim sisteminin birlikte çalıştığı bir ortam olduğundan eğer bir yükseltme yapılacaksa diğer sistemleri etkileyip etkilemediğini anlamak için regresyon testleri yapılmalıdır.
Özetle
Nesnelerin interneti testleri kullanılan sistem/mimari kapsamında farklılık gösterebilir. Test uzmanları burada gereksinim dokümanından çok keşif testlerine önem vermelidirler. Ayrıca sistemlerin birbiriyle olan entegrasyonlarının akışlarının çıkarılması test uzmanının daha kolay test etmesine yardımcı olacaktır.
Melih Karacahisarlı – Keytorc
Kıdemli Test Mühendisi