Yazılım Testinde Gömülü Test Nedir?

⚡ Akıllı Özet

Gömülü sistem testleri, yazılım ve donanımın işlevsel ve işlevsel olmayan davranışlarını birlikte kontrol eder, çünkü gömülü bir sistemde ikisi birbirine sıkıca bağlıdır ve hiçbiri tek başına düzgün bir şekilde doğrulanamaz.

  • 🔘 Sıkı bağlama: Donanım, yazılımla paralel olarak geliştirildiğinden, gerçek test ortamı genellikle geç ortaya çıkar.
  • ☑️ Beş seviye: Yazılım birimi, entegrasyon, sistem birimi, sistem entegrasyonu ve sistem doğrulama testleri, her biri farklı bir modül sınırını hedef alır.
  • Güvenlik riskleri: Tıp, demiryolu, havacılık ve otomotiv ürünlerine sertifika verilebilmesi için sıkı ve belgelendirilmiş testler uygulanması gerekmektedir.
  • 🧪 Gri kutu tercihi: Sistem birim testleri, dahili kaynakları ve RTOS mesajlarını gözlemlediği için gri kutu yöntemleri en uygunudur.
  • Başlıca engeller: Sınırlı donanım erişimi, açık kaynaklı bileşenler, karışık yazılım ve donanım hataları ve tekrarlanması zor hatalar.

Gömülü sistemlerde yazılım ve donanımın gömülü test edilmesi

Gömülü sistemler nelerdir?

Gömülü sistemler Gömülü sistemler, yazılım ve donanımın sıkı bir şekilde birbirine bağlı olduğu elektronik olarak kontrol edilen cihazlardır. Gömülü sistemler çeşitli bilgi işlem aygıtları içerebilir. Bunlar, uygulamaya özgü işlevleri yerine getirmek üzere diğer cihazlara entegre edilmiş kişisel bilgisayarlardır. Son kullanıcı genellikle bunların varlığından bile haberdar değildir.

Gömülü Test

Gömülü test İşlevsel ve performans kontrolleri için yapılan bir test sürecidir. işlevsel olmayan Gömülü sistemlerdeki hem yazılım hem de donanım özelliklerinin test edilmesi ve nihai ürünün hatasız olmasının sağlanması. Gömülü sistem testinin temel amacı, gömülü donanım ve yazılımın nihai ürününün müşterinin gereksinimlerini karşılayıp karşılamadığını doğrulamak ve onaylamaktır.

Gömülü yazılım testi, ilgili yazılımın kaliteli olduğunu ve karşılaması gereken tüm gereksinimleri karşıladığını kontrol eder ve sağlar. Gömülü yazılım testi, tıbbi ekipman, demiryolları, havacılık, otomotiv endüstrisi gibi kritik uygulamalarda güvenliği garanti altına almak için mükemmel bir yaklaşımdır. Yazılım sertifikasyonu verilmesi için titiz ve dikkatli testler çok önemlidir.

Gömülü Yazılım Testi nasıl gerçekleştirilir?

Genel olarak dört nedenden dolayı test yaparsınız:

  • Yazılımdaki hataları bulmak için
  • Hem kullanıcılara hem de şirkete yönelik risklerin azaltılmasına yardımcı olur
  • Geliştirme ve bakım maliyetlerini azaltın
  • Performansı artırmak için

Gömülü sistem testlerinde aşağıdaki faaliyetler gerçekleştirilir:

  1. Yazılıma bazı girdiler sağlanmaktadır.
  2. Yazılımın bir parçası çalıştırılıyor.
  3. Yazılımın durumu gözlemlenir ve çıktılar, beklenen sonuçlarla eşleşip eşleşmediği, gereksinimlere uygunluk ve sistem çökmelerinin olmaması gibi beklenen özellikler açısından kontrol edilir.

Gömülü Yazılım Test Türleri

Temelde, gömülü yazılımlara uygulanabilecek beş seviyeli test yöntemi vardır.

Yazılım Birimi Testi

Birim modülü ya bir fonksiyondur ya da bir sınıftır. Birim testleri, öncelikle geliştirici olmak üzere geliştirme ekibi tarafından gerçekleştirilir ve genellikle akran değerlendirmesi modeliyle yapılır. Test senaryoları, modülün özelliklerine göre geliştirilir.

Entegrasyon Testi

Entegrasyon testi İki bölüme ayrılabilir:

  • Yazılım entegrasyon testi
  • Yazılım/donanım entegrasyon testi

Son olarak, donanım alanı ve yazılım bileşenlerinin etkileşimi test edilir. Bu, yerleşik çevre aygıtları ve yazılım arasındaki etkileşimin incelenmesini içerebilir.

Gömülü yazılım geliştirmenin kendine özgü bir özelliği vardır: yazılımın çalıştığı gerçek ortam genellikle yazılımla paralel olarak oluşturulur. Bu durum, kapsamlı testlerin simüle edilmiş bir ortamda gerçekleştirilememesi nedeniyle test açısından sakıncalara yol açar.

Sistem Birimi Testi

Şimdi test edilecek modül, eksiksiz yazılım kodunu ve tüm bileşenleri içeren tam bir çerçevedir. gerçek zamanlı işletim sistemi (RTOS) ve kesintiler, görevlendirme mekanizmaları, iletişim vb. gibi platformla ilgili parçalar. Kontrol Noktası protokolü artık bir fonksiyona çağrı veya bir metot çağrısı değil, RTOS mesaj kuyrukları kullanılarak gönderilen veya alınan bir mesajdır.

Sistemin gömülü sistem yürütmesini destekleme yeteneğini değerlendirmek için sistem kaynakları gözlemlenir. Bu yönüyle, gri kutu testi Tercih edilen test yöntemi budur. Kuruluşa bağlı olarak, sistem birim testi ya geliştiricinin ya da özel bir sistem entegrasyon ekibinin görevidir.

Sistem Entegrasyon Testi

Test edilecek modül, tek bir düğüm içindeki bir dizi bileşenden başlar. Kontrol ve Gözlem Noktaları (PCO'lar), ağla ilgili iletişim protokollerinin ve ağ mesajları gibi RTOS olaylarının bir karışımıdır. Sanal Test Cihazı, bir bileşenin yanı sıra bir düğüm rolünü de üstlenebilir.

Sistem Doğrulama Testi

Test edilecek modül, eksiksiz bir uygulamaya sahip bir alt sistem veya eksiksiz bir gömülü sistemdir. Bu son testin amacı, harici varlığın işlevsel gereksinimlerini karşılamaktır. Harici varlığın bir kişi, bir telekom ağındaki bir cihaz veya her ikisi de olabileceğini unutmayın.

Fark: Gömülü test ve Yazılım Testi

Aşağıdaki tabloda gömülü test ile geleneksel test karşılaştırılmaktadır. yazılım testi.

Yazılım testi Gömülü Test
Yazılım testi yalnızca yazılımla ilgilidir. Gömülü test hem yazılım hem de donanımla ilgilidir.
Dünyada yapılan testlerin ortalama %90'ı tamamen manuel olarak gerçekleştiriliyor. kara kutu testi. Gömülü sistemler veya çipler üzerinde yapılan gömülü testler, kara kutu veya açık kutu testleri olabilir. beyaz kutu testi.
Ana test alanları GUI kontrolleri, işlevsellik, doğrulama ve belirli düzeyde veritabanı testidir. Testlerin temel alanları, donanımın kendisine verilen giriş sayısına göre gösterdiği davranıştır.
Yazılım testi büyük ölçüde istemci-sunucu, web ve mobil tabanlı uygulamalar üzerinde gerçekleştirilir. Gömülü sistem testleri genellikle donanım üzerinde gerçekleştirilir.
Örneğin, Google Mail, Yahoo Mail, Android uygulamaları. Örneğin, sağlık sektöründeki makineler, bilgisayarlarda kullanılan mikrodenetleyiciler.

Zorluklar: Gömülü Yazılım Testi

Gömülü yazılım testinde karşılaşılabilecek zorluklardan bazıları şunlardır:

Donanım Bağımlılığı

Gömülü yazılım testlerinde karşılaşılan başlıca zorluklardan biri, donanıma erişimin sınırlı olması nedeniyle donanım bağımlılığıdır. Bununla birlikte, emülatörler ve simülatörler gerçek cihazın davranışını tam olarak yansıtmayabilir ve sistem performansı ve uygulama kullanılabilirliği hakkında yanlış bir izlenim verebilir.

Açık Kaynak Yazılım

Gömülü yazılım bileşenlerinin büyük çoğunluğu açık kaynaklıdır, şirket içinde geliştirilmez ve bunlar için eksiksiz bir test paketi mevcut değildir. Çok çeşitli test kombinasyonları ve ortaya çıkan senaryolar vardır.

Yazılım ve Donanım Kusurları

Bir diğer husus ise, yeni üretilmiş donanımlar için yazılım geliştirilirken ortaya çıkar. Bu süreçte, yüksek oranda donanım hatası tespit edilebilir. Bulunan hata sadece yazılımla sınırlı değildir; donanımla da ilgili olabilir.

Tekrarlanabilir Kusurlar

Gömülü sistemlerde hataların yeniden üretilmesi veya tekrar oluşturulması daha zordur. Bu durum, gömülü sistem test prosedürünün her hata oluşumuna standart bir duruma göre önemli ölçüde daha fazla değer vermesini ve hatanın temel nedenini bulmak için makul ölçüde gerekli olabilecek kadar veri toplamayı zorunlu kılar.

Sürekli Yazılım Güncellemeleri

Gömülü sistemler, çekirdek yükseltmeleri, güvenlik yamaları, farklı aygıt sürücüleri vb. gibi düzenli yazılım güncellemeleri gerektirir. Yazılım güncellemeleriyle ilgili kısıtlamalar, hata tespitini zorlaştırır. Ayrıca, derleme ve dağıtım prosedürünün önemini artırır.

SSS

Tipik yığınlar, statik analiz, C için birim test araçları ve C++, otobüs analizörleri, trace-uyumlu hata ayıklayıcılar ve donanım-döngü test sistemleri, ayrıca test otomasyonu Bu nedenle regresyon testleri otomatik olarak çalıştırılır.

Donanım-döngüde simülasyon (HIL), gerçek kontrol ünitesinde gerçek yazılımı çalıştırırken, bir simülatör çevredeki tesisin üreteceği sinyalleri sağlar ve fiziksel olarak oluşturulması güvenli olmayan arıza koşullarını simüle eder.

Bir simülatör davranışı modeller ve bir ana bilgisayar derlemesini çalıştırır; bir öykünme yazılımı ise hedef komut setini yeniden üretir, böylece gerçek ikili dosya yürütülür. İkisi de analog ve zamanlama etkilerini tam olarak yeniden üretmez.

IEC 61508, genel işlevsel güvenlik standardıdır. Sektörel versiyonları arasında karayolu araçları için ISO 26262, hava araçları yazılımları için DO-178C, tıbbi cihazlar için IEC 62304 ve demiryolu kontrolü için EN 50128 yer almaktadır.

Yapay zeka modelleri büyük günlük kaydını önceliklendiriyor ve tracBir sistemin ürettiği hacimleri, tekrarlanan arızaları kümelendirin ve kısıtlı donanım üzerinde hangi regresyon testlerinin önce çalıştırılacağına karar verin. Güvenlik değerlendirmesi mühendise aittir.

GitHub Yardımcı Pilotu C veya C için test kablo demetleri ve bağlantı parçaları taslakları C++ Modülleri geliştirir ve tekrarlayan sahte nesne oluşturma işlemlerini hızlandırır. Ancak, daha önce hiç görmediği kayıt davranışı ve zamanlama kısıtlamalarının hala kontrol edilmesi gerekiyor.

En kötü senaryo yürütme süresi analizi yoluyla, izleme araçları kullanılarak tracHedef üzerinde ve en yüksek yük altında stres testleri yapılır. Zaman aşımı hataları ve kesinti gecikmeleri, sunucu sürümlerinin yeniden üretemediği gerçek donanım üzerinde ölçülür.

C ve C okuma C++Şematik çizimler ve mantık analizörleri konusunda yetkinlik, RTOS kavramları ve veri yolu protokollerine aşinalık ve betik yazma becerisi. İlgili çalışmalar arasında şunlar yer almaktadır: Nesnelerin İnterneti testi Aynı taban üzerine çizimler yapar.

Bu yazıyı şu şekilde özetleyin: