Testing
Pengujian (testing) merupakan fase yang penting untuk memastikan kualitas dari suatu pengembangan software. Alasan utama untuk mengadakan pengujian adalah untuk menemukan bugs di dalam software. Walaupun tidak ada bugs yang ditemukan, pengujian tidak dapat menjamin bahwa software tersebut bebas dari bugs. Pengujian meningkatkan keyakinan terhadap reliabilitas software. Selain itu, jika kita dapat memprediksi kerusakan dari software, kita dapat menghemat waktu dan juga biaya untuk pengembangan software.
(a) Phased Test
Pendekatan phased test (Black, 2009: 8) menyusun pengujian secara metodis melintasi fokus pengujian granularity spectrum, dari pengujian struktural menuju pengujian behavioral black-box hingga pengujian live.
(b) Integration/Product Testing
Pengujian integrasi atau produk (Black, 2009: 6) melibatkan penguji untuk menemukan bugs yang terdapat dalam hubungan dan interface antara pasangan-pasangan komponen dan sekumpulan komponen dalam sistem yang dilakukan pengujian.
(c) System Testing
Dalam fase ini, penguji mencari berbagai jenis bugs dalam sistem secara keseluruhan yang terintegrasi secara utuh. Kadangkala, seperti dalam pengujian instalasi dan kegunaan, pengujian ini melihat sistem dari perspektif customer atau end user. Di lain waktu, pengujian ini juga dirancang untuk menekankan aspek-aspek tertentu dari sistem yang mungkin tidak disadari oleh user tetapi bersifat kritis untuk jalannya sistem yang benar.
(d) Acceptance/ User Acceptance Testing
Acceptance testing atau pengujian penerimaan (Black, 2009: 7) seringkali mencoba untuk menunjukkan sejauh mana sistem telah memenuhi persyaratan yang ada. Fase pengujian ini biasanya dilakukan dalam perjanjian dimana keberhasilan pengujian mewajibkan pembeli untuk menerima sistem yang ada. Pengujian ini melibatkan data-data yang dibutuhkan untuk go live, lingkungan sistem, dan user scenario.
(e) Functional Test
Kadangkala frasa ini mempunyai makna yang sama dengan behavioral tests, tetapi dapat juga berarti pengujian yang berfokus kepada ketepatan fungsionalitas dengan seksama. Dalam kasus ini, functionality test atau pengujian fungsionalitas harus ditambahkan dengan pendekatan pengujian yang lain untuk mengatasi resiko-resiko kualitas yang penting seperti performa, beban, kapasitas, volume, dan sebagainya.
(f) Test Architecture
Test system architecture merupakan sebuah dokumen yang mendefinisikan prinsip-prinsip perancangan, struktur, dan alat-alat yang digunakan dalam testware dan test environment, layaknya juga kebergantungan antara bagian-bagian utama; independent terhadap proyek, tetapi merefleksikan sistem yang diuji.
(g) Testware
Testware meliputi semua peralatan, dokumen-dokumen, scripts, data-data, kasus-kasus, mekanisme pelacakan, dan hal-hal lainnya yang digunakan tim pengujian untuk melakukan pengujian. (Black, 2009: 80).
(h) Test Environment
Test environment atau lingkungan pengujian meliputi hardware, software, networks dan infrastruktur lainnya, kertas, perlengkapan lainnya, fasilitas, laboratorium atau tempat yang digunakan, dan hal-hal lainnya yang timpengujian dapatkan, instalasi, dan konfigurasi untuk menjalankan sistem pengujian dengan tujuan melakukan pengujian.
(i) Test Case
Test case merupakan urutan langkah-langkah, sub dari langkah-langkah tersebut, dan tindakan-tindakan lain yang dijalankan secara berurutan, atau merupakan kombinasi-kombinasi dari konsekuensi yang menciptakan kondisi pengujian yang diinginkan sehingga dapat digunakan untuk evaluasi. Test case menurut Ammann dan Jeff (2008: 15) tersusun dari test case value, hasil yang diharapkan, prefix value, postfix value yang dibutuhkan untuk eksekusi secara lengkap dan evaluasi dari software di dalam pengujian. Test case value (2008: 14) merupakan masukan yang diperlukan untuk menyelesaikan eksekusi dari software yang berada dalam pengujian. Prefix value (2008: 15) berarti masukan apa pun yang diperlukan untuk menempatkan software ke dalam kondisi yang benar untuk menerima test case value. Sedangkan postfix value berarti masukan apapun yang butuh untuk dikirimkan ke software setelah test case value dikirimkan.
(j) Test Suites
Test suite merupakan sebuah kerangka untuk melakukan eksekusi terhadap sekumpulan test case; suatu cara mengatur test case. Dalam sebuah test suite, test case dapat digabungkan untuk menjadi kondisi-kondisi pengujian yang unik
(k) Test Plan
Test plan biasanya mendeskripsikan ruang lingkup pengujian, tujuan pengujian, strategi pengujian, lingkungan pengujian, hasil yang didapatkan dari pengujian (deliverables), resiko dan penanggulangannya, jadwal, tingkatan pengujian yang akan digunakan, metode, teknik, dan alat-alat yang digunakan. Test plan seharusnya memenuhi kebutuhan dari perusahaan dan client.
(l) Setting
Dalam kaitannya dengan perencanaan pengujian, setting dideskripsikan dengan bagaimana kita ingin menjalankan pengujian dan cara organisasi menghubungkan pengujian ini dengan seluruh bagian organisasi.
(m) Transitions
Untuk setiap fase pengujian, sistem dalam pengujian harus memenuhi serangkaian kualifikasi minimal sebelum organisasi pengujian dapat menjalankan pengujian dengan efektif dan efisien.
(1) Entry Criteria
Serangkaian petunjuk pengambilan keputusan yang mengindikasikan apakah proyek siap memasuki fase pengujian tertentu. Entry criteria biasanya menjadi semakin ditekankan pada integration testing dan system testing.
(2) Continuation/ Stopping Criteria
Serangkaian petunjuk pengambilan keputusan yang mengindikasikan apakah fase tertentu dari pengujian dijalankan dengan efektif dan efisien. Sebaliknya, ketika digunakan sebagai stopping criteria, petunjuk ini diekspresikan sebagai istilah dalam menentukan apakah pengujian harus berhenti dikarenakan kualitas sistem dalam pengujian yang buruk atau masalah logika sistem yang berhubungan dengan pengujian sistem.
(3) Exit Criteria
Serangkaian petunjuk pengambilan keputusan yang mengindikasikan apakah proyek siap untuk melewati fase pengujian tertentu, atau berpindah dari satu fase ke fase lain atau menyelesaikan proyek. Exit criteria biasanya menjadi semakin ditekankan pada integration testing dan system testing.
(n) Test Development
Test development (Black, 2009: 61) dalam perencanaan pengujian digunakan untuk mendeskripsikan bagaimana tim pengujian akan menciptakan setiap obyek-obyek pengujian, seperti test cases, test tools, test procedures, test suites, test scripts, dan seterusnya.
(o) Test Configurations and Environtments
Test configuration and environtments dalam perencanaan pengujian digunakan untuk mendokumentasikan hardware, software, network, dan pengaturan tempat yang seperti apa yang akan digunakan untuk pengujian.
(p) Test Execution
Dalam perencanaan pengujian bagian ini menunjukan faktor-faktor penting yang berhubungan dengan eksekusi pengujian. Contohnya, untuk menjalankan pengujian, seringkali dibutuhkan barang-barang dari pihak luar, sumber-sumber daya utama dan sistem untuk diuji. Dalam menjalankan pengujian ini, kita akan mengumpulkan data-data yang akan ditinjau, dianalisis, dan dilaporkan kepada tim, rekan kerja, dan manager
(1) Resources
Dalam perencanaan pengujian, bagian ini mengidentifikasikan peserta-peserta kunci dalam usaha pengujian dan peran dari mereka masing-masing, beserta dengan sumber daya-sumber daya lain yang belum diidentifikasikan.
(2) Test Case and Bug Tracking
Dalam perencanaan pengujian, bagian ini berhubungan dengan sistem yang digunakan untuk mengolah dan meninjau test cases dan bugs. Peninjauan test cases merujuk kepada spreadsheets, database atau alat yang digunakan untuk mengolah semua test cases di dalam test suites dan bagaimana perkembangan dari pengujian tersebut ditinjau.
(3) Bug Isolation and Classification
Dalam perencanaan pengujian, bagian ini digunakan untuk menjelaskan seberapa jauh bugs akan diisolasi dan diklasifikasikan dalam laporan bugs. Mengisolasi bugs berarti mengadakan percobaan dengan sistem yang diuji dalam usaha pengujian untuk mendapatkan variabel yang berkaitan, kualitas atau sejenisnya. Mengklasifikasikan laporan bugs berarti menempatkan bugs yang ditemukan ke dalam kategori-kategori tertentu yang mengindikasikan bagaimana bugs seharusnya dikomunikasikan dan diatasi.
(4) Test Cycle
Eksekusi total atau sebagian dari semua test suite yang telah direncanakan untuk setiap fase pengujian. Setiap fase pengujian setidaknya melibatkan paling tidak satu siklus melalui semua test suite yang telah ditentukan. Test cycle biasanya berhubungan dengan perilisan suatu sistem dalam pengujian, seperti software atau motherboard. Umumnya, pengadaan pengujian baru terjadi selama fase pengujian, yang akan memicu munculnya test cycle yang lain.
No comments:
Post a Comment