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