Senin, 17 Oktober 2011

Resume VI Testing dan Implementasi Sistem




Unit Testing
•         berfokus pad usaha verifikasi pada unit terkecil dari disain software – komponen atau modul software.
•         Unit testing berorientasi white box, dan tahapan dapat dilakukan secara paralel pada banyak komponen.
Hal yang perlu diperhatikan pada unit testing:
•         Tes yang terdapat pada unit testing:
–        Modul antar muka dites untuk memastikan aliran informasi telah berjalan
–        Struktur data lokal diperiksa untuk memastikan penyimpanan data
–        Batasan kondisi dites untuk memastikan modul beroperasi dengan benar
–        Semua jalur independen (basis paths) pada struktur kendali diperiksa
–        Semua jalur penanganan kesalahan dites.

           •         Tes aliran data antar modul dibutuhkan sebelum inisialisasi tes lainnya.
           •         Pemilihan jalur eksekusi testing
              –           tugas yang esensial selama unit test.
              –           Test cases harus didisain untuk mencakup kesalahan
              –           Basis path dan loop testing adalah teknik yang efektif untuk hal ini.
•         Kesalahan komputasi yang umum terjadi:
–        Kesalahan prioritas aritmetik.
–        Mode operasi campuran.
–        Inisialisasi tak benar.
–        Ketidakakuratan presisi.
–        Ketidakbenaran representasi simbolik dari ekspresi.
           •         Komparasi dan alur kendali merupakan satu kesatuan.
           •         Test case harus mencakup kesalahan:
–        Komparasi tipe data berbeda
–        Operator logika dan prioritas yang tak benar
–        Kesalahan komparasi antar variabel.
–        Kegagalan keluar bilamana konflik iterasi terjadi.
–        Modifikasi variabel loop yang tidak semestinya.
•        Disain yang baik meliputi kondisi kesalahan yang diantisipasi
•       Kesalahan potensial yang harus dites saat evaluasi penanganan kesalahan:
–           Diskripsi kesalahan tidak jelas.
–           Catatan kesalahan tidak berfungsi untuk menghitung kesalahan.
–           Kondisi kesalahan menyebabkan interfensi sistem terhadap penangan kesalahan tertentu.
–           Pemrosesan kondisi perkecualian tidak benar.
–           Diskripsi kesalahan tidak menyediakan informasi yang cukup untuk mengarahkan penyebab kesalahan.

Prosedur-prosedur Unit Test :
•         Setelah kode dikembangkan, dan diverifikasi terhadap tingkat disain komponen bersangkutan, disain test case
•         Review informasi disain menyediakan tuntunan untuk menetapkan test cases
•         Tiap test case harus dihubungkan dengan hasil yang diharapkan
•         drivers dan atau stubs software harus dikembangkan untuk tiap unit test.
–      drivers tidak lebih dari “program utama” yang menerima data test case, memasukkan data ke komponen yang dites, dan mencetak hasil yang bersangkutan.
–      Stubs berlaku untuk menggantikan modul-modul yang merupakan subordinat (dipanggil oleh) komponen yang dites.
•         Drivers dan stubs menimbulkan biaya overhead.
•         Bila drivers dan stubs cukup sederhana, overhead yang sebenarnya menjadi relatif rendah.
•         Testing dapat ditunda penyelesaiannya (kondisi komplit) sampai tahap integration test (dimana drivers atau stubs juga digunakan).
•         Unit testing disederhanakan bila suatu komponen didisain dengan kohesi tinggi.
•         Ada beberapa situasi dimana sumber daya tidak mencukupi untuk melakukan unit testing secara komplit.
•         perlu melakukan pemilihan modul-modul yang kritis dan yang mempunyai cyclomatic complexity tinggi, untuk unit testing.

Contoh penerapan Drivers dan Stubs pada program :




0 komentar:

Posting Komentar