Testin g Sistem Real-Time

9.4 Testin g Sistem Real-Time

Sifat asinkron dan tergantung waktu yang ada pada banyak aplikasi real-time menambahkan elem en baru yang sulit dan potensial untuk bauran testing By Hendranet − waktu. Tidak hanya disainer test

case y ang harus m empertimbangkan test case black-box dan white-box , tetapi juga pen anganan kejadian (yakni pemrosesan interupsi), timing data, dan paralelisme tugas-tugas (proses ) yang menanga ni data. Pada banyak situasi, data testing yang diberikan pada saat seb uah sistem real-time ada dalam satu keadaan akan menghasilkan pemrosesan yang baik, sem entara data yang sama yang diberikan pada saat sistem berada dalam keadaan yang berbeda dapat me nyebabkan kesalahan.

Con tohnya, software real-time yang mengontrol alat foto-kopi yang baru mene rima interupsi ope rator (yakni operator mesin menekan kunci kontrol seperti “ reset ” atau “ darken ”) dengan tanpa k esalahan pada saat mesin sedang membuat kopian (di dalam keadaan “ copying ”). Inte rupsi operator yang sama ini, bila dimasukan pada saat mesin ada dalam keadaan” jammed ”, aka n menyebabkan sebuah kode diagnostik yang menunjukkan lokasi jam yan g akan hilang (sebuah kesalahan).

Sebagai tambahan, hubungan erat yang ada di antara software real-time dan lingkungan perangk at kerasnya dapat juga menyebabkan masalah testing. Testing software haru s mem pertimbangkan pengaruh kegagalan perangkat keras pad a pemrosesan software . Kesalahan semacam itu dapat sangat sulit untuk bersimulasi secara realistis.

Metode desain test case yang komprehensif untuk sistem real-time harus berkembang. Teta pi strategi empat langkah berikut ini dapat diusulkan:

Testing tugas. Langkah perta ma dalam testing software real-time adalah menguji masing-masing tugas secara independen, yaitu white-box dan black-box testing yang

didisain dan dieksekusi bagi masing-masing tugas. Masing-masing tugas d ieksekusi secara independen selama testing ini. Testing tugas mengungkap kesalahan di dalam logika dan fungsi, tetapi tidak akan mengungkap timing atau kesalahan tingkah laku. Testing tingkah laku. Dengan menggunakan model yang diciptakan dengan peranti CASE dimungkinkan untuk mensimulasi tingkah laku sistem real-time dan menguji tingkah lakunya sebagai konsekue nsi dari event eksternal. Aktivitas analisis ini dapat berfungsi sebagai dasar bagi disain test case yang dilakukan pada saat software real-time dibangun. Dengan menggunakan teknik yang sama dengan partisi ekivalensi (Subbab16.2), event-event (misalnya, interupsi, signal kontrol, data) dikategorikan untuk testing. Sebagai contoh, event untuk mesin fotokopi dapat mer upakan interupsi pengguna (misalnya, pencacah reset ), interupsi mekanis

(misalnya, paper jammed ), interupsi sistem (misalnya, tone rendah), dan mode kegagalan (misalnya, roller yang terlalu panas). Masing-masing event tersebut diuji secara individual dan tingkah laku sistem yang dapat dieksekusi diperiksa untuk men deteksi ke salahan yang terjadi sebagai akibat pemrosesan yang terkait dengan event ters ebut. Perilaku model sistem (dikembangkan selama aktivitas analisis) dan software yang dapat dieksekusi dapat dibandingkan untuk penyesuaian. Sekali masing-masing kelas By Hendranet event telah dites, maka event-event disajikan pada sistem dalam urutan acak dan dengan frekuensi acak. Perilaku sistem dites untuk mendeteksi kesalahan perilaku. Testing antar-tu gas. Setelah kesalahan-kesalahan pada tugas-tugas individual dan pada perilaku sistem diisolasi, maka testing beralih kepada kesalahan yang berkaitan dengan waktu. Tugas-tugas asinkronius yang dikenali untuk saling berkomunikasi dites dengan tingkat data yang berbeda dan pemrosesan dipanggil untuk menentukan apakah kesalahan sinkronisasi antar-tugas akan terjadi. Sebagai tambahan, tugas-tugas yang berkomunikasi melalui antrian pesan atau penyimpan data, dites untuk menemukan kesalahan dalam ukuran area penyimpanan data tersebut.

Testing s istem. Software dan perangkat keras diintegrasi, dan suatu rentang penuh dari testing sistem dilakukan di dalam usaha mengungkap kesalahan pada interface software /perangkat keras.

Sebagai an besar sistem real-time memproses interupsi, karena itu testing penanganan terhada p kejadian-kejadian Boolean ini merupakan hal y ang penting. Dengan menggunakan diag ram keadaan-transisi dan spesifikasi kontrol, tester mengembangkan daftar semua Sebagai an besar sistem real-time memproses interupsi, karena itu testing penanganan terhada p kejadian-kejadian Boolean ini merupakan hal y ang penting. Dengan menggunakan diag ram keadaan-transisi dan spesifikasi kontrol, tester mengembangkan daftar semua

Apakah prioritas interupsi ditetapkan dan ditangani secara tepat ? Apa kah pemrosesan untuk masing-masing interupsi ditangani dengan tepat? Apakah kinerja (misalny a, waktu pemrosesan) dari masing-masing prosedur penanganan inte rupsi sesuai dengan persyaratan? Apakah volume interupsi yang tinggi yang terjadi pada waktu kritis menimbulkan masalah di dalam fungsi atau kinerja?

Sebagai tambahan, area data global juga digunakan untuk mentransfer informasi sebagai bagian dari pemrosesan interupsi yang harus diuji untuk menilai potensi munculnya efek samping .