Sabtu, 21 Juli 2012

Software Quality Assurance


Software Quality Assurance (SQA) meliputi pendekatan manajemen kualitas, teknologi software engineering yang efektif, pertemuan peninjauan teknis selama proses software berlangsung, strategi pengujian bertingkat, mengendalikan dokumentasi software dan perubahan yang terjadi, prosedur untuk memastikan kesesuaian dengan standar pembangunan software (jika ada standar yang digunakan) mekanisme pelaporan dan mengukuran. Pembahasan berfokus pada masalah manajemen dan aktifitas proses khusus yang memastikan bahwa pembangunan software dilakukan secara benar, memenuhi kriteria yang sebenarnya, dan pada waktu yang tepat.

Definisi

Software Quality didefinisikan sebagai : kesesuaian yang diharapkan pada semua software yang dibangun dalam hal fungsi software yang diutarakan dan unjuk karakteristik yang ditunjukkan oleh software. Definisi ini menekankan pada 3 hal yaitu:

  1. Kebutuhan software adalah fondasi ukuran kualitas software, jika software tidak sesuai dengan kebutuhan yang ditentukan maka kualitaspun kurang.
  2. Jika menggunakan suatu standar untuk pembangunan software maka jika software tidak memenuhi standar tersebut maka dianggap kurang berkualitas.
  3. Sering kali ada kualitas yang secara langsung diutarakan (tersirat) seperti kemudahan penggunaan dan pemeliharaan yang baik. Kualitas software dipertanyakan jika tidak memenuhi kebutuhan ini.

SQA merupakan perluasan dari definisi di atas. SQA adalah serangkaian aktifitas yang sistematik dan terencana dalam rangka memastikan kualitas dari software. Grup SQA adalah sekumpulan orang-orang yang menjalankan aktifitas-aktifitas SQA. Mereka bertindak selaku wakil dari klien, yaitu dengan melihat dan
memeriksa software dari sudut pandang klien. SQA terdiri dari berbagai macam aktifitas yang berhubungan dengan dua kelompok kepentingan yaitu:

  1. Praktisi pembangun software yang mengerjakan pekerjaan teknik  menerapkan metode dan pengukuran yang tepat, melakukan rapat teknis, dan menguji software.
  2. Grup SQA yang bertanggung jawab terhadap perencanaan jaminan kualitas, pencatatan, analysis dan pelaporan.

Aktifitas SQA

Grup SQA melakukan serangkaian aktifitas untuk membantu tim praktisi pembangun software dalam menghasilkan produk yang berkualitas tinggi. Aktifitas-aktifitas tersebut adalah :
  1. Rencana SQA untuk suatu proyek. Dibuat selama merencanakan proyek dan diperiksa oleh semua pihak. Rencana menentukan cara evaluasi, cara audit dan review, standar yang akan digunakan, proses untuk error tracking dan pelaporannya, dokumen yang akan dibuat grup SQA.
  2. Ikut membuat gambaran software proses yang akan digunakan untuk membangun software. 
  3. Review aktifitas software engineering untuk memastikan kesesuaian dengan software proses yang ditentukan.
  4. Melakukan audit hasil kerja software.
  5. Memastikan penyimpangan yang terjadi dalam kerja software dan hasil kerja terdokumentasi dan diatasi sesuai dengan prosedure.
  6. Mencatat ketidak-sesuaian dan melaporkannya ke manajer senior.

Review Software

Review dilakukan pada beberapa titik selama pembangunan software dan dimaksudkan untuk menemukan kesalahan (error) dan kegagalan (defect) yang kemudian diatasi. Kata error berarti kesalahan yang ditemukan pada software oleh programmer/tim pembangun sebelum diserahkan kepada klien. Sedangkan defect berarti kesalahan yang ditemukan pada software setelah diserahkan kepada klien oleh klien. Error sebaiknya lekas diatasi agar tidak menghasilkan defect.

Dalam mengatasi error, review berperan untuk mengurangi jumlah error dan mengurangi biaya penanganan error. Salah satu cara adalah dengan defect amplified and removal. Cara ini dilakukan sejak desain awal softaware. Pada tiap tahapan error yang ditemukan diteruskan pada tahap berikutnya dengan melalui review. Dengan review, error yang ditemukan akan berkurang untuk tahap berikutnya. Tanpa review, error akan cenderung meningkat, dan pada hasil akhir setelah test sistem, kemungkinan terjadi error yang menimbulkan defect lebih besar. Error yang terjadi lebih dini mengakibatkan kerugian ringan, dan semakin lama error ditemukan, kerugian semakin besar dari segi biaya. Karena itu review memegang peranan penting dalam mengatasi error.

Salah satu tipe review yang akan dibahas dalam bahasan ini adalah Formal Technical Review (FTR). Cara lain adalah melakukan presentasi software design ke audiens (customer), manajemen dan staff teknis. Namun demikian FTR dianggap efektif dari sudut pandang jaminan kualitas (quality assurance). FTR dikerjakan oleh pembangun software (para praktisi) untuk mereka sendiri.


Formal Technical Reviews

Tujuan FTR adalah:
  1. Menemukan error dalam function, logika, atau implementasi.
  2. Memastikan software memenuhi kebutuhan.
  3. Memastikan software memenuhi standar.
  4. Mencapai software yang dibangun dengan cara yang seragam.
  5. Membuat proyek lebih mudah diatur.
Sebagai tambahan, FTR juga merupakan:
  1. Wahana latihan.
  2. Melatih prakteisi junior untuk mengamati pendekatan yang berbeda.
Beberapa batasan FTR:
  1. 3-5 orang terlibat dalam review.
  2. Persiapan awal untuk masing-masing orang tidak lebih dari 2 jam.
  3. Durasi pertemuan review tidak lebih dari 2 jam.
Petunjuk pelaksanaan FTR:
  1. Review produk, bukan review pembuat produk.
  2. Buat agenda rapat dan patuhi.
  3. Batasi debat/perbedaan pendapat.
  4. Jelaskan masalahnya dan batasannya.
  5. Mencatat.
  6. Batasi jumlah yang ikut rapat dan persiapan awal ditekankan.
  7. Niat checklist untuk tiap produk.
  8. Terjadwal.
  9. Peserta rapat perlu mendapat training teknis dan psikologi manusia.
  10. Review hasil review sebelumnya.


2 komentar:

  1. Sama sama :)
    Senang bisa membantu

    BalasHapus
  2. Thanks for the above article. It help me a lot in my seminar. You explained all the aspects in so effective way.Activities,definition and reviews regarding software quality assurance help us a lot.The above mentioned graph also effect your blog in so good way.
    PDF signature

    BalasHapus