Testing Perangkat Lunak

    Dalam melakukan pengembangan perangkat lunak maka kita perlu melakukan testing(uji coba). Menurut Standar ANSI/IEEE 1059: Testing adalah proses menganalisa suatu entitas software untuk mendeteksi perbedaan antara kondisi yang ada dengan kondisi yang diinginkan (defects / errors / bugs) dan mengevaluasi fitur-fitur dari entitas software. Namun, testing tak dilakukan begitu saja melainkan ada prisnsip yang perlu diketahui. Terdapat 6 kunci prinsip-prinsip testing, yaitu:
    1. Testing yang komplit tidak mungkin.
    2. Testing merupakan pekerjaan yang kreatif dan sulit.
    3. Alasan yang penting diadakannya testing adalah untuk mencegah terjadinya errors.
    4. Testing berbasis pada resiko.
    5. Testing harus direncanakan.
    6. Testing membutuhkan independensi.
Testing dapat dilakukan oleh Programmer, Tim tester, Beta tester, Kostumer, Maintainer dan lainnya. 
  • Bagian yang perlu dilakukan testing:
    1. Bagian Statment / Statment Coverage
    2. Bagian Percabangan / Branch Coverage
    3. Bagian Kondisi / Condition Coverage
  • Tipe-tipe testing:
    1. Volume : Memfokuskan untuk input yang besar
    2. Usability : Mengukur reaksi user ( Skala 1 : 10 )
    3. Performance : Mengukur kecepatan pada beberapa keadaan
    4. Configuration : Mengkonfigurasi untuk bermacam – macam hardware atau software
    5. Compatibility : komplabiliti dengan aplikasi lain ( mengukur watu adaptasi )
    6. Reliability / availability : mengukur ketahanan pada priode waku yang lama
    7. Security : tingkat keamanan software dan hardware
    8. Resource Usage : mengukur penggunaan RAM, ruang disk dan lainnya
    9. Installability : di install pada bermacam – macam keadaan (mengukur waktu install)
    10. Recoverability : mengukur waktu untuk me-recover
    11. Serviceability : mengukur waktu service
    12. Load / stress : untuk data extream dan traffic
  • Tahapan testing:
    1. Pre Implementation Testing, sebelum di implementasikan ide/ konsep harus di test. Pre implementation dilakukan tidak oleh programmer atau tim testing, tetap oleh tim reviewer, terdiri dari project manager, klien atau pembangun system.
    2. Post Implementation Testing, testing pada sebuah program dan memiliki dua jenis testing yaitu :
      • White box : logika, kondisi, perulangan atau blok statetment, testing-nya sebagian atau seluruh bagian program.
      • Black box : testing dilakukan tanpa mengetahui dari struktur programnya. Dilakukan selain programmer atau orang yang tidak mempunyai akses langsung kedalam program. Program dites dengan cara di input ke dalam black box dan di cek apakah output-nya sesuai dengan perintah.
  • Kemampuan dari tools otomasi sistem:
      • Merekam aksi mouse dan keyboard untuk memungkinkan pengulangan pemutaran kembali
      • Jalankan test script secara berulang-ulang
      • Memungkinkan untuk merekam hasil test
      • Merekam hasil test
      • Merekam run time error
      • Membuat dan mengatur regression test
      • Menghasilkan test report
      • Menghasilkan test data
      • Merekam penggunaan memory
      • Mengatur / mengelola test case
      • Analisa keseluruhan
  • Standar ANSI / IEEE Untuk test Dokumentasi
    1. Introduction : Mempekenalkan atau menjelaskan dengan singkat perangkat yang akan diuji.
    2. Test plan : Item Dalam test, ruang lingkup, pendekatan, resource, jadwal, personel.
    3. Test design : Item yang ditest, pendekatan dan rencana rinci
    4. Test case : Kumpulan input dan event
    5. Test procedures : Langkah – langkah untuk menyeting dan mengeksekusi test case
    6. Test item transmittal report : Item-item dalam test, lokasi fisik dari hasil orang yang bertanggung jawab untuk transmitting
    7. Test Log : Kronologi record , lokasi fisik dari hasil dan nama penguji
    8. Test Incident report : dokumentasi dari setiap event yang terjadi selama test, yang membutuhkan investigasi lebih lanjut
    9. Test summary report : Kesimpulan-kesimpulan dari point keseluruhan di atas.

Komentar

Postingan populer dari blog ini

PENYEDERHANAAN TATA BAHASA BEBAS KONTEKS

PERKEMBANGAN GENERASI PROSESOR INTEL

FINITE STATE AUTOMATA DAN NON FINITE STATE AUTOMATA