Apa itu Pengujian Tertanam dalam Pengujian Perangkat Lunak?

โšก Ringkasan Cerdas

Pengujian tertanam memeriksa perilaku fungsional dan non-fungsional perangkat lunak dan perangkat keras secara bersamaan, karena dalam sistem tertanam keduanya sangat terkait erat dan tidak dapat divalidasi dengan benar secara terpisah.

  • ๐Ÿ”˜ Kopling ketat: Perangkat keras dibangun secara paralel dengan perangkat lunak, sehingga lingkungan pengujian yang sebenarnya seringkali datang terlambat.
  • โ˜‘๏ธ Lima level: Pengujian unit perangkat lunak, integrasi, unit sistem, integrasi sistem, dan validasi sistem masing-masing menargetkan batasan modul yang berbeda.
  • โœ… Pasak pengaman: Produk medis, perkeretaapian, penerbangan, dan otomotif memerlukan pengujian terdokumentasi yang ketat sebelum sertifikasi dapat diberikan.
  • ๐Ÿงช Preferensi kotak abu-abu: Pengujian unit sistem mengamati sumber daya internal dan pesan RTOS, sehingga metode grey box paling cocok untuknya.
  • ๏ธ Kendala utama: Akses perangkat keras yang terbatas, komponen sumber terbuka, cacat perangkat lunak dan perangkat keras yang bercampur, dan cacat yang sulit direproduksi.

Pengujian terintegrasi perangkat lunak dan perangkat keras dalam sistem tertanam.

Apa itu sistem tertanam?

Sistem tertanam Sistem tertanam adalah perangkat yang dikendalikan secara elektronik di mana perangkat lunak dan perangkat keras terhubung erat. Sistem tertanam dapat berisi berbagai perangkat komputasi. Ini adalah PC yang terintegrasi dalam perangkat lain untuk menjalankan fungsi khusus aplikasi. Pengguna akhir biasanya bahkan tidak menyadari keberadaannya.

Pengujian Tertanam

Pengujian tertanam adalah proses pengujian untuk memeriksa fungsi dan tidak berfungsi Pengujian sistem tertanam mencakup analisis atribut perangkat lunak dan perangkat keras dalam sistem tertanam, serta memastikan produk akhir bebas dari cacat. Tujuan utama pengujian sistem tertanam adalah untuk memverifikasi dan memvalidasi apakah produk akhir perangkat keras dan perangkat lunak tertanam memenuhi persyaratan klien atau tidak.

Pengujian perangkat lunak tertanam memeriksa dan memastikan perangkat lunak yang bersangkutan berkualitas baik dan memenuhi semua persyaratan yang harus dipenuhi. Pengujian perangkat lunak tertanam merupakan pendekatan yang sangat baik untuk menjamin keamanan dalam aplikasi kritis seperti peralatan medis, kereta api, penerbangan, industri otomotif, dll. Pengujian yang ketat dan cermat sangat penting untuk mendapatkan sertifikasi perangkat lunak.

Cara melakukan Pengujian Perangkat Lunak Tertanam

Secara umum, Anda menguji karena empat alasan:

  • Untuk menemukan bug pada perangkat lunak
  • Membantu mengurangi risiko bagi pengguna dan perusahaan
  • Mengurangi biaya pengembangan dan pemeliharaan
  • Untuk meningkatkan kinerja

Dalam pengujian sistem tertanam, aktivitas-aktivitas berikut dilakukan:

  1. Perangkat lunak ini dilengkapi dengan beberapa input.
  2. Sebagian dari perangkat lunak tersebut dieksekusi.
  3. Status perangkat lunak diamati, dan output diperiksa untuk properti yang diharapkan seperti apakah output sesuai dengan hasil yang diharapkan, kesesuaian dengan persyaratan, dan tidak adanya kerusakan sistem.

Jenis Pengujian Perangkat Lunak Tertanam

Pada dasarnya, ada lima tingkatan pengujian yang dapat diterapkan pada perangkat lunak tertanam.

Pengujian Unit Perangkat Lunak

Modul unit berupa fungsi atau kelas. Pengujian unit dilakukan oleh tim pengembang, terutama pengembang, dan biasanya dilakukan dengan model peninjauan sejawat. Kasus uji dikembangkan berdasarkan spesifikasi modul.

Tes integrasi

Tes integrasi dapat diklasifikasikan menjadi dua segmen:

  • Pengujian integrasi perangkat lunak
  • Pengujian integrasi perangkat lunak/perangkat keras

Pada akhirnya, interaksi antara domain perangkat keras dan komponen perangkat lunak diuji. Hal ini dapat mencakup pemeriksaan interaksi antara perangkat periferal bawaan dan perangkat lunak.

Pengembangan perangkat lunak tertanam memiliki karakteristik unik: lingkungan aktual tempat perangkat lunak berjalan umumnya dibuat secara paralel dengan perangkat lunak tersebut. Hal ini menimbulkan ketidaknyamanan untuk pengujian, karena pengujian komprehensif tidak dapat dilakukan dalam kondisi simulasi.

Pengujian Unit Sistem

Sekarang modul yang akan diuji adalah kerangka kerja lengkap yang terdiri dari kode perangkat lunak lengkap ditambah semua sistem operasi waktu nyata (RTOS) dan komponen terkait platform seperti interupsi, mekanisme penugasan, komunikasi, dan sebagainya. Protokol Point of Control bukan lagi panggilan ke fungsi atau pemanggilan metode, melainkan pesan yang dikirim atau diterima menggunakan antrian pesan RTOS.

Sumber daya sistem diamati untuk mengevaluasi kemampuan sistem dalam mendukung eksekusi sistem tertanam. Untuk aspek ini, pengujian kotak abu-abu adalah metode pengujian yang paling disukai. Tergantung pada organisasinya, pengujian unit sistem merupakan tugas pengembang atau tim integrasi sistem khusus.

Pengujian Integrasi Sistem

Modul yang akan diuji dimulai dari sekumpulan komponen dalam satu node. Titik Kontrol dan Observasi (PCO) merupakan gabungan dari protokol komunikasi terkait jaringan dan peristiwa RTOS, seperti pesan jaringan. Selain sebagai komponen, Penguji Virtual juga dapat berperan sebagai node.

Pengujian Validasi Sistem

Modul yang akan diuji adalah subsistem dengan implementasi lengkap, atau sistem tertanam lengkap. Tujuan dari pengujian akhir ini adalah untuk memenuhi persyaratan fungsional entitas eksternal. Perlu dicatat bahwa entitas eksternal dapat berupa orang, atau perangkat dalam jaringan telekomunikasi, atau keduanya.

Perbedaan: Pengujian tertanam dan Pengujian Perangkat Lunak

Tabel di bawah ini membandingkan pengujian terintegrasi dengan pengujian konvensional. pengujian perangkat lunak.

Pengujian Perangkat Lunak Pengujian Tertanam
Pengujian perangkat lunak hanya terkait dengan perangkat lunak saja. Pengujian tertanam terkait dengan perangkat lunak dan perangkat keras.
Rata-rata 90% pengujian yang dilakukan di dunia sepenuhnya dilakukan secara manual. pengujian kotak hitam. Pengujian tertanam dilakukan pada sistem atau chip tertanam, dan dapat berupa pengujian kotak hitam atau pengujian kotak putih.
Area pengujian utama adalah pemeriksaan GUI, fungsionalitas, validasi, dan beberapa tingkat pengujian database. Area pengujian utama adalah perilaku perangkat keras terhadap sejumlah input yang diberikan kepadanya.
Pengujian perangkat lunak sebagian besar dilakukan pada aplikasi berbasis klien-server, web, dan seluler. Pengujian tertanam umumnya dilakukan pada perangkat keras.
misalnya, Google Mail, Yahoo Mail, Android aplikasi. misalnya, mesin-mesin di bidang perawatan kesehatan, mikrokontroler yang digunakan dalam komputer.

Tantangan: Pengujian Perangkat Lunak Tertanam

Beberapa tantangan yang mungkin dihadapi selama pengujian perangkat lunak tertanam:

Ketergantungan Perangkat Keras

Ketergantungan perangkat keras merupakan salah satu kesulitan utama yang dihadapi selama pengujian perangkat lunak tertanam, karena akses ke perangkat keras yang terbatas. Namun, emulator dan simulator mungkin tidak secara akurat merepresentasikan perilaku perangkat sebenarnya, dan dapat memberikan kesan yang salah tentang kinerja sistem dan kegunaan aplikasi.

Perangkat Lunak Open Source

Sebagian besar komponen perangkat lunak tertanam bersifat sumber terbuka, tidak dibuat secara internal, dan tidak memiliki rangkaian pengujian lengkap yang tersedia. Terdapat berbagai macam kombinasi pengujian dan skenario yang dihasilkan.

Cacat Perangkat Lunak vs. Perangkat Keras

Aspek lain adalah ketika perangkat lunak dikembangkan untuk perangkat keras yang baru dibuat. Selama proses ini, sejumlah besar cacat perangkat keras dapat diidentifikasi. Cacat yang ditemukan tidak hanya terbatas pada perangkat lunak, tetapi juga dapat terkait dengan perangkat keras.

Cacat yang Dapat Direproduksi

Cacat lebih sulit direproduksi atau diciptakan kembali dalam kasus sistem tertanam. Hal itu memaksa prosedur pengujian sistem tertanam untuk menilai setiap kejadian cacat secara substansial lebih tinggi daripada dalam kasus standar, dan untuk mengumpulkan data sebanyak yang secara wajar diperlukan untuk menemukan akar penyebab cacat tersebut.

Pembaruan Perangkat Lunak Berkelanjutan

Sistem tertanam memerlukan pembaruan perangkat lunak secara berkala seperti peningkatan kernel, perbaikan keamanan, berbagai driver perangkat, dan lain-lain. Keterbatasan yang terkait dengan pembaruan perangkat lunak membuat identifikasi bug menjadi sulit. Selain itu, hal ini meningkatkan pentingnya prosedur pembuatan dan penyebaran.

Pertanyaan Umum Demo Slot

Susunan tipikal menggabungkan analisis statis, rangkaian pengujian unit untuk C dan C++, penganalisis bus, tracdebugger berkemampuan elektronik dan perangkat hardware-in-the-loop, ditambah otomatisasi uji sehingga rangkaian pengujian regresi berjalan tanpa pengawasan.

Hardware-in-the-loop (HIL) menjalankan firmware sungguhan pada pengontrol sungguhan sementara simulator menyediakan sinyal yang akan dihasilkan oleh sistem di sekitarnya, mensimulasikan kondisi kesalahan yang tidak aman untuk dibuat secara fisik.

Simulator memodelkan perilaku dan menjalankan build host; emulator mereproduksi set instruksi target sehingga biner sebenarnya dieksekusi. Baik simulator maupun emulator tidak mereproduksi efek analog dan waktu secara tepat.

IEC 61508 adalah standar keselamatan fungsional umum. Versi sektoralnya meliputi ISO 26262 untuk kendaraan jalan raya, DO-178C untuk perangkat lunak penerbangan, IEC 62304 untuk perangkat medis, dan EN 50128 untuk kontrol kereta api.

Model AI melakukan triase terhadap log besar dan tracVolume produksi suatu rig, pengelompokan kegagalan berulang, dan penentuan peringkat pengujian regresi mana yang harus dijalankan terlebih dahulu pada perangkat keras yang terbatas. Pertimbangan keselamatan tetap berada di tangan insinyur.

Kopilot GitHub draf rangkaian uji dan cabang untuk C atau C++ Modul dan mempercepat proses mocking yang berulang. Perilaku register dan batasan waktu yang belum pernah dilihatnya masih perlu diperiksa.

Melalui analisis waktu eksekusi skenario terburuk, yang dilengkapi dengan instrumen. tracPengujian dilakukan pada target, dan beban kerja diuji pada beban puncak. Kegagalan memenuhi tenggat waktu dan latensi interupsi diukur pada perangkat keras nyata, yang tidak dapat direproduksi oleh versi host.

Membaca C dan C++, kenyamanan dalam memahami skema dan penganalisis logika, keakraban dengan konsep RTOS dan protokol bus, serta pembuatan skrip. Pekerjaan terkait seperti... pengujian IoT berlandaskan pada dasar yang sama.

Ringkaslah postingan ini dengan: