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.
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:
- Perangkat lunak ini dilengkapi dengan beberapa input.
- Sebagian dari perangkat lunak tersebut dieksekusi.
- 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.
