03.23 | Posted in
Software Testing adalah proses menjalankan suatu program dengan maksud tertentu untuk menemukan error sebelum pengiriman hingga berakhir ke user/pengguna

Apa yang ditunjukkan pengujian?



Seperti jembtan berayun, dimulai dari errors->requirements conformance/kesesuaian->performance->indikasi kualitas

Siapa yang menguji software?


Developer(pemahaman sistem tetapi, akan di uji "gently/dengan hati-hati" dan di dorong dengan "Delivery/laporan".
Independent Tester(harus belajar sistem,tetapi berusaha untuk istirahat dan di kendalikan oleh kualitas)

Aliran uji informasi

Terdiri dari tiga bagian yaitu
"Testing" dimana meiliki dua item yakni software dan test konfigurasi. Hasil dari testing(Test result) akan maintance  tetapi juga mengecualikan hasil(Expected result). kemudian aliran terakhir adalah "Debug/mengecek" yang memperoleh input dari error hasil dan menghasilkan output corrections

Strategi testing 

Memiliki empat strategi(Unit, integration, system, dan validation test ) yang menuju satu tujuan yang sama.Stategi testing di mulai dari "testing-in-the-small" dan berpindah menuju "testing-in-the-large". kemudian dari convetional software dan dari OO software





Unit testing

handling = penanganan
boundary = batasan/batas
  • Unit/modul diuji dengan bantuan driver dan/atau stub
    • Seorang driver menerima data uji kasus dan menyebarkannya ke modul
    • Stub adalah suatu "dummy" subprogram yang berfungsi sebagai subordinat/bawahan dari modul uji
Unit test environment



Integration testing strategies
pilihan:
Pendekatan "big bang"
Strategi kontruksi bertahap

Top down(atas ke bawah) integration


  • Modul atas diuji dengan stub
  • Stub diganti satu per satu "depth first/pendalaman pertama"
  • Sebagai modul baru yang terintegrasi, beberapa subset dari tes kembali dijalankan





Bottom-up integration


  • Driver diganti satu persatu "depth first"
  • module bekerja kelompok(cluster) dalam membangun dan menggabungkan









Sandwich testing


  • Modul atas diuji dengan stub(potongan-potongan)
  • Modul bekerja kelompok/group dalam membangun dan menggabungkan









Pengujian berorientasi objek
  • Dimulai dengan mengevaluasi correctness(kebenaran/akurasi) dan konsistensi model OOA dan OOD
  • Pengujian perubahan strategi
    • Konsep "unit" memperluas oleh karena enkapsulasi
    • Integrasi perfokus pada classes
    • Validasi menggunakan metode konvensional black box
  • Uji desain kasus mengacu pada metode konvensional, tetapi juga mencakup fitur-fitur khusus
Strategi OOT
  • Pengujian kelas sama dengan pengujian unit
    • Operasi dalam kelas diuji
    • Perilaku keadaan kelas diperiksa
  • Integrasi diaplikasikan tiga strategi yang berbeda
    • threas based testing - mengintegrasikan set classes yang dibutuhkan untuk merespon satu input/masukan dan event/kejadian
    • use based testing - mengintegrasikan/menggabungkan set classes yang dibutuhkan untuk merespon satu kasus penggunaan
    • cluster testing - mengintegrasikan set classes yang dibutuhkan untuk menunjukkan/mendemonstrasikan sati kolaborasi
Pengujian high order
  • Validasi pengujian
    • Fokus pada software requirements
  • System pengujian
    • fokus pada system integration
  • Alpha/Beta pengujian
    • fokus pada costumer usage
  • Pemulihan pengujian
    • memaksa software to fail(software untuk gagal) dalam berbagai cara dan melakukan  memverifikasi pemulihan yang benar/semestinya
  • security testing
    • memverifikasi bahwa mekanisme protection/perlindungan dibangun ke dalam sistem
  • stress/tekanan pengujian
    • mengeksekusi sebuah sistem dengan cara penuntutan/permintaan sunber daya dalam jumlah normal
  • performance testing
    • Menguji kinerja run-time dari software dalam konteks sistem yang terintegrasi 
Debugging : proses diagnosaDebugging = mengecek atau memeriksa sistem kesalahan yang ada
  • Mengapa sulit??????
    • Bagian software : kurangnya/ketiadanya dokumentasiarsitektur softare yang buruk
    • Bagian human : activitas intuitif, beban psikologis
  • Metode
    • Brute force : membuang(dumps) memory,run time traces
    • Backtracking : mulai dari gejala lokasi, trace (melacak) kembali secara manual sampai tempat kesalahan ditemukan
    • Cause elimination(alasan penghapusan) : mengembangkan "cause hypothesis" kemudian membuktikan/menolak hipotesis menggunakan data yang terkait dengan terjadinya error
Proses debugging



Usaha debugging



Symptoms & Cause (Gejalan&penyebab)


  • Gejala dan penyebab mungkin terpisah secara geografis
  • Gejala mungkin hilang ketika masalah lain diperbaiki/ditetapkan
  • Penyeban mungkin karena kombinasi non-errors
  • Penyebab mungkin karena sisten atau error compiler
  • Penyebab mungkin karena asumsi bahwa setiap orang percaya
  • Gejala mungkin sementara




Debugging : Final thought(pemikiran)
  • Jangan lari (run off) half-cocked, pikiran tentang gejala yang anda lihat
  • Gunakan alat (misalnya, debugger dinamis) untuk mendapatkan/memperoleh wawasan/pemahaman lebih
  • Jika di jalan buntu, mendapat bantuan dari orang lain
  • Benar-benar yakin untuk melakukan test regresi bila anda "fix/memperbaiki" bug.
Category:
��

Comments

1 Response to "Strategi Pengujian Perangkat Lunak (Software Testing Strategies)"

  1. abdullah fathin On 20 Februari 2017 01.52

    lil