Dalam tutorial ini, Anda akan belajar
- Apa itu Sistem Tertanam?
- Apa itu Pengujian Tersemat?
- Jenis Pengujian Perangkat Lunak Tertanam
- Perbedaan: Pengujian tertanam dan Pengujian Perangkat Lunak
- Tantangan: Pengujian Perangkat Lunak Tertanam
Apa itu Sistem Tertanam?
Sistem tertanam adalah perangkat yang dikontrol secara elektronik di mana perangkat lunak dan perangkat keras digabungkan dengan erat. Sistem tertanam mungkin berisi berbagai perangkat komputasi. Ini adalah PC yang tergabung dalam perangkat lain untuk mengoperasikan fungsi khusus aplikasi. Pengguna akhir biasanya bahkan tidak menyadari keberadaan mereka.
Pengujian Tersemat
Pengujian Tertanam adalah proses pengujian untuk memeriksa atribut fungsional dan non-fungsional dari perangkat lunak dan perangkat keras dalam sistem tertanam dan memastikan bahwa produk akhir bebas dari cacat. Tujuan utama pengujian Tertanam adalah untuk memverifikasi dan memvalidasi apakah produk akhir dari perangkat keras dan perangkat lunak tertanam memenuhi persyaratan klien atau tidak.
Pengujian Perangkat Lunak Tertanam memeriksa dan memastikan perangkat lunak yang bersangkutan memiliki kualitas yang baik dan sesuai dengan semua persyaratan yang harus dipenuhi. Pengujian perangkat lunak tertanam adalah pendekatan yang sangat baik untuk menjamin keamanan dalam aplikasi penting seperti peralatan medis, kereta api, penerbangan, industri kendaraan, dll. Pengujian yang ketat dan cermat sangat penting untuk memberikan sertifikasi perangkat lunak.
Cara melakukan Pengujian Perangkat Lunak Tertanam
Secara umum, Anda menguji empat alasan:
- Untuk menemukan bug dalam perangkat lunak
- Membantu mengurangi risiko bagi pengguna dan perusahaan
- Kurangi biaya pengembangan dan pemeliharaan
- Untuk meningkatkan kinerja
Dalam Pengujian Tertanam, aktivitas berikut dilakukan:
1. Perangkat lunak ini dilengkapi dengan beberapa masukan.
2. Sepotong perangkat lunak dijalankan.
3. Status perangkat lunak diamati, dan keluarannya diperiksa untuk properti yang diharapkan seperti apakah keluaran cocok dengan hasil yang diharapkan, kesesuaian dengan persyaratan dan tidak adanya gangguan sistem.
Jenis Pengujian Perangkat Lunak Tertanam
Pada dasarnya, ada lima level pengujian yang dapat diterapkan pada perangkat lunak yang disematkan
Pengujian Unit Perangkat Lunak
Modul unit bisa berupa fungsi atau kelas. Pengujian Unit dilakukan oleh tim pengembang, terutama pengembang dan biasanya dilakukan dalam model tinjauan sejawat. Berdasarkan spesifikasi modul kasus uji dikembangkan.
Tes integrasi
Pengujian integrasi dapat diklasifikasikan menjadi dua segmen:
- Pengujian integrasi perangkat lunak
- Pengujian integrasi perangkat lunak / perangkat keras.
Pada akhirnya, interaksi domain perangkat keras dan komponen perangkat lunak diuji. Ini dapat mencakup pemeriksaan interaksi antara perangkat periferal dan perangkat lunak internal.
Pengembangan perangkat lunak yang tertanam memiliki karakteristik unik yang menitikberatkan pada lingkungan sebenarnya, di mana perangkat lunak tersebut dijalankan, umumnya dibuat secara paralel dengan perangkat lunak tersebut. Hal ini menyebabkan 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 serta semua sistem operasi real-time (RTOS) dan bagian 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 / didapat menggunakan antrian pesan RTOS.
Sumber daya sistem diamati untuk mengevaluasi kemampuan sistem untuk mendukung eksekusi sistem tertanam. Untuk aspek ini, pengujian kotak abu-abu adalah metode pengujian yang disukai. Bergantung pada organisasinya, pengujian unit sistem adalah tugas pengembang atau tim integrasi sistem khusus.
Pengujian Integrasi Sistem
Modul yang akan diuji dimulai dari sekumpulan komponen dalam satu node. Titik Kontrol dan Pengamatan (PCO) adalah campuran dari protokol komunikasi terkait jaringan dan RTOS, seperti pesan jaringan dan peristiwa RTOS. Selain komponen, Penguji Virtual juga dapat memainkan peran 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. Perhatikan bahwa entitas eksternal bisa berupa orang, atau perangkat di jaringan telekomunikasi, atau keduanya.
Perbedaan: Pengujian tertanam dan Pengujian Perangkat Lunak
Pengujian Perangkat Lunak | Pengujian Tersemat |
---|---|
Pengujian perangkat lunak terkait dengan perangkat lunak saja. | Pengujian tertanam terkait dengan perangkat lunak maupun perangkat keras. |
Rata-rata 90% pengujian yang dilakukan di dunia adalah pengujian kotak hitam manual. | Pengujian tertanam dilakukan pada sistem tertanam atau chip dapat berupa pengujian kotak hitam atau kotak putih. |
Area utama pengujian adalah pemeriksaan GUI, fungsionalitas, validasi, dan beberapa tingkat pengujian database. | Area utama pengujian adalah perilaku perangkat keras untuk no. dari masukan yang diberikan padanya. |
Pengujian perangkat lunak sebagian besar dilakukan pada aplikasi berbasis server-klien, web dan seluler. | Pengujian tertanam umumnya dilakukan pada Perangkat Keras. |
misalnya, aplikasi Google Mail, Yahoo Mail, Android. | misalnya, Mesin domain perawatan kesehatan, Mikrokontroler digunakan di komputer. |
Tantangan: Pengujian Perangkat Lunak Tertanam
Beberapa tantangan yang dapat dihadapi selama pengujian perangkat lunak Tertanam:
Ketergantungan Hardware
Ketergantungan perangkat keras adalah salah satu kesulitan utama yang dihadapi selama pengujian perangkat lunak tertanam karena akses terbatas ke perangkat keras. Namun, Emulator dan Simulator mungkin tidak secara tepat mewakili perilaku perangkat yang sebenarnya dan dapat memberikan pemahaman yang salah tentang kinerja sistem dan kegunaan aplikasi.
Perangkat Lunak Sumber Terbuka
Mayoritas komponen perangkat lunak yang disematkan bersifat open source, tidak dibuat sendiri dan tidak tersedia pengujian lengkap untuk itu. Ada berbagai kombinasi pengujian dan skenario yang dihasilkan.
Cacat Perangkat Lunak vs. Perangkat Keras
Aspek lain adalah ketika perangkat lunak sedang dikembangkan untuk perangkat keras yang baru dibuat, selama proses ini rasio kerusakan perangkat keras yang tinggi dapat diidentifikasi. Cacat yang ditemukan tidak terbatas pada perangkat lunak. Ini mungkin terkait dengan perangkat keras juga.
Cacat yang Dapat Direproduksi
Cacat lebih sulit untuk direproduksi / dibuat ulang dalam kasus sistem tertanam. Itu memaksa prosedur pengujian tertanam untuk menilai setiap kejadian cacat secara substansial lebih tinggi daripada dalam kasus standar, selain mengumpulkan sebanyak mungkin data yang mungkin diperlukan untuk mengubah sistem untuk menemukan dasar dari cacat.
Pembaruan Perangkat Lunak Berkelanjutan
Sistem tertanam memerlukan pembaruan perangkat lunak secara teratur seperti peningkatan kernel, perbaikan keamanan, driver perangkat yang berbeda, dll. Batasan yang diidentifikasi dengan pengaruh pembaruan perangkat lunak membuat identifikasi bug menjadi sulit. Selain itu, ini meningkatkan pentingnya prosedur pembuatan dan penerapan.
Ringkasan
Ada beberapa kesulitan dalam menguji pengujian perangkat lunak tertanam yang membuatnya lebih sulit daripada pengujian perangkat lunak biasa. Masalah yang paling mendasar adalah ketergantungan yang ketat pada lingkungan perangkat keras yang disiapkan secara bersamaan dengan perangkat lunak, dan yang secara teratur diperlukan untuk melakukan pengujian perangkat lunak yang andal. Kadang-kadang bahkan sulit untuk menguji perangkat lunak tanpa alat khusus, yang dengan mudah membuat konsentrasi pada pengujian pada tahap akhir menjadi sangat menarik.
Salah satu hal terpenting yang harus Anda pikirkan adalah kenyataan bahwa Anda harus sering memilih pengujian perangkat lunak otomatis. Pengujian otomatis yang disematkan adalah proses yang lebih cepat yang akan memakan waktu beberapa jam untuk diselesaikan, dan dengan cara ini, masalah perangkat lunak Anda diselesaikan.