tis_13

15
9/29/2011 1 TESTING DAN TESTING DAN IMPLEMENTASI SISTEM IMPLEMENTASI SISTEM (3 SKS) (3 SKS) Siklus Hidup Testing dan Software Integrasi Testing ke Dalam Siklus Hidup Integrasi Testing ke Dalam Siklus Hidup Software Software Secara umum, integrasi testing ke dalam siklus hidup software, dapat dituliskan ke dalam bentuk tahapan dari siklus hidup software, sebagai berikut: Inisialisasi Proyek Mengembangkan strategi tes secara garis besar. Menetapkan pendekatan dan usaha tes secara keseluruhan. Kebutuhan. Menetapkan kebutuhan testing Menetapkan kebutuhan testing. Menetapkan penanggung jawab testing. Mendisain prosedur tes dan tes berbasis kebutuhan, awal. Melakukan tes dan validasi kebutuhan.

Upload: fariedhermawan

Post on 07-Jul-2016

224 views

Category:

Documents


2 download

DESCRIPTION

Tis

TRANSCRIPT

9/29/2011

1

TESTING DAN TESTING DAN IMPLEMENTASI SISTEMIMPLEMENTASI SISTEM(3 SKS)(3 SKS)

Siklus Hidup Testing dan Software

Integrasi Testing ke Dalam Siklus Hidup Integrasi Testing ke Dalam Siklus Hidup SoftwareSoftware

Secara umum, integrasi testing ke dalam siklus hidup software, dapat dituliskan ke dalam bentuk tahapan dari siklus hidup software, sebagai berikut:Inisialisasi Proyek◦ Mengembangkan strategi tes secara garis besar.◦ Menetapkan pendekatan dan usaha tes secara keseluruhan.

Kebutuhan.◦ Menetapkan kebutuhan testingMenetapkan kebutuhan testing.◦ Menetapkan penanggung jawab testing.◦ Mendisain prosedur tes dan tes berbasis kebutuhan, awal.◦ Melakukan tes dan validasi kebutuhan.

9/29/2011

2

Disain◦ Menyiapkan rencana tes sistem dan spesifikasi disain, awal.◦ Menyelesaikan rencana acceptance test dan spesifikasi disain.◦ Menyelesaikan tes berdasarkan disain.◦ Melakukan tes dan validasi disain.

Pengembangan◦ Menyelesaikan rencana tes sistem.◦ Menyelesaikan prosedur tes dan tes berbasis kode, final.◦ Menyelesaikan disain modul atau unit tests.◦ Melakukan tes program.◦ Integrasi dan melakukan tes sub sistem.◦ Melakukan system test◦ Melakukan system test.

Implementasi◦ Melakukan acceptance test.◦ Tes perubahan dan perbaikan.

E l i f ktifit t ti ◦ Evaluasi efektifitas testing.

Faktor penentu kasuksesan dari testing yang lainnya, adalah penerapan teknik testing secara tepat yang diadopsi dan digunakan pada sepanjang siklus hidup. Review merupakan alat bantu testing yang sangat bermanfaat untuk digunakan pada sepanjang siklus hidup.

9/29/2011

3

Testing Dengan ReviewTesting Dengan ReviewPada awalnya review adalah alat bantu pengendalian manajemen. Selama proyek berlangsung, manajemen memerlukan suatu penilaian dan pengukuran kinerja proses yang telah berlangsung. Jadi obyektifitas dari review adalah untuk mendapatkan informasi yang konsisten dan dapat dipercaya, biasanya berupa status dan atau kualitas kerja.Terdapat banyak jenis dari review, yaitu: kebutuhan, spesifikasi, disain, coding, prosedural, dokumentasi, konversi, instalasi, implementasi, disain tes, prosedur tes dan rencana tes.

Review hadir dalam dua bentuk, yaitu (1) formal dan (2) tidak formal formal dan (2) tidak formal. Yang dipandang sebagai teknik testing adalah review dalam bentuk formal, dimana partisipan bertanggung jawab untuk melakukan kalkulasi secara akurat dan menghasilkan laporan dari apa yang telah mereka temukan bagi manajemen.

9/29/2011

4

Rencana review secara minimum, harus terdiri dari:

S d h k k h d◦ Siapa saja yang diharapkan akan hadir.◦ Informasi yang dibutuhkan sebelum memulai

review.◦ Kondisi awal yang harus dipenuhi sebelum review

dilakukan.◦ Daftar kegiatan atau item atau indikasi lainnya

yang bersangkutan dengan apa yang akan dibahasyang bersangkutan dengan apa yang akan dibahas.◦ Kodisi akhir atau kriteria yang harus dipenuhi

agar review dapat dinyatakan selesai.◦ Data dan dokumentasi disimpan.

9/29/2011

5

Beberapa faktor kritis bagi kesuksesan dari review, adalah:◦ Hasil yang diharapkan

Mengetahui tujuan dari review. Apa yang dites dan diukur?◦ Pertanggungjawabangg gj

Secara jelas menetapkan tanggung jawa dari seluruh partisipan.◦ Hak individu

Melindungi opini dan perasaan individu, bukan komite.◦ Kehadiran

Orang-orang yang benar, beberapa dari luar dan beberapa dari dalam.

◦ Proses yang terstrukturMenetapkan prosedur-prosedur.

M d◦ ModeratorBerpengalaman dan terlatih.

◦ DataLaporan dan evaluasi tertulis.

Produk Testing yang DireviewProduk Testing yang Direview

9/29/2011

6

Testing KebutuhanTesting KebutuhanTesting suatu dokumen harus mempertimbangkan dua pertanyaan dasar, yaitu:◦ Apakah ada kebutuhan yang hilang?◦ Apakah ada kebutuhan yang hilang?

Apakah semua fungsi yang dibutuhkan telah dialamatkan dengan benar?Apakah kinerja yang dibutuhkan telah dispesifikasikan?Apakah kualitas software telah dispesifikasikan?Apakah software telah sepenuhnya didefinisikan?

◦ Dapatkah suatu kebutuhan disederhanakan atau dihilangkan?Dapatkah kebutuhan dikombinasikan?Dapatkah kebutuhan dikombinasikan?Apakah ada kebutuhan yang sangat restriktif?Apakah ada kebutuhan yang redundansi atau kontradiksi?

Teknik-teknik yang berguna dalam testing kebutuhan termasuk:kebutuhan, termasuk:◦ Matrik validasi kebutuhan.◦ Model atau prototipe.◦ Pengembangan secara bertahap.◦ Tabel keputusan dan grafik sebab dan akibat.◦ Penggrupan dan analisa kebutuhan.

9/29/2011

7

Testing Disain SistemTesting Disain SistemSebagaimana pada testing kebutuhan, pada testing disain sistem juga mempunyai dua pertanyaan dasar, yaitu:◦ Apakah solusi merupakan pilihan yang benar?

Dapatkah disain dicapai dengan lebih sederhana?Apakah merupakan pendekatan alternatif yang terbaik?Apakah merupakan cara tercepat untuk melakukan pekerjaan?

◦ Apakah solusi memenuhi kebutuhan?Apakah semua kebutuhan telah dicakup dalam disain?Apakah merupakan disain kerja?Apasaja sumber dan resiko dari kegagalan?

Metode-metode yang dapat digunakan untuk menetapkan alternatif dan validasi untuk menetapkan alternatif dan validasi disain, adalah:◦ Simulasi dan model.◦ Kompetisi disain.◦ Kebutuhan dan disain test cases berbasis

di idisain.

9/29/2011

8

Otomatisasi TestingOtomatisasi TestingOtomatisasi testing adalah alat bantu yang digunakan untuk mempermudah proses dan dokumentasi tes, mengefisienkan eksekusi dari tes, dan mempermudah pengukuran pada tes. Sehingga diharapkan dapat memberikan peningkatan yang cukup besar dalam manajemen proses, meminimalkan keterlibatan manusia, dan replikasi pekerjaan. Otomatisasi testing adalah area yang paling tinggi tingkat perkembangannya dalam industri testing.

Mengapa otomatisasi testing dibutuhkan? ◦ Testing selalu dihadapkan pada masalah jadual ◦ Testing selalu dihadapkan pada masalah jadual

yang ketat.◦ Testing sering diulang-ulang banyak kali.◦ Testing berkemungkinan untuk dijalankan

selama 24 jam sehari, atau tidak pada jam kerjakerja.◦ Testing dapat dilakukan dengan lebih cepat dan

akurat, dimana ketidakkonsistenan manusia dapat diminimalkan.

9/29/2011

9

◦ Dokumentasi testing dapat dilakukan secara konsisten, sehingga dapat diaudit secara penuh , gg p pdan berkala.◦ Script testing dapat menjadi aset yang dapat

digunakan kembali untuk testing yang sama pada proyek testing yang lain.◦ Mempercepat dalam peninjauan kembali p p p j

terhadap testing itu sendiri.◦ Dapat meningkatkan proses.

Otomatisasi testing hendaknya dimulai dari hal yang paling mudah terlebih dahulu dan hal yang paling mudah terlebih dahulu, dan secara bertahap meningkatkan kompleksitas dari kasus yang diotomatisasi. Bagaimanapun, testing secara manual untuk beberapa kasus masih tetap diperlukan, dan pengembangan otomatisasi testing harus selalu berdasar pada pertimbangan-pertimbangan praktis.

9/29/2011

10

Berdasarkan pada cara pengembangan otomatisasi tes, terdapat dua macam kelompok t ittes, yaitu:◦ Sanity test

Jalankan sebelum testing secara keseluruhan dimulai, untuk menentukan apakah sistem layak untuk digunakan untuk testing secara keseluruhan.Jalankan secepatnya, kurang dari satu jam.Cek apakah ada kejutan yang tidak diinginkan terjadi.

◦ Tes keseluruhanSelesaikan secara komplit rangkaian-rangkaian tes yang telah ditetapkan.Mungkin membutuhkan beberapa jam atau mungkin beberapa hari untuk menyelesaikannya.

Efisiensi otomatisasi testing ditandai dengan terjadinya peningkatan dalam hal:g j y p g◦ Duplikasi

Tes dapat diduplikasi untuk kasus yang berbeda.Berguna bagi load dan stress testing untuk menduplikasi tes dalam jumlah besar.

◦ PengulanganT d b l k b l k liTes yang sama dapat berlaku berulangkali.Berguna bagi regression testing untuk memastikan modifikasi yang secara tidak langsung mempengaruhi sistem.

9/29/2011

11

Otomatisasi testing vs testing manualOtomatisasi testing vs testing manual

Bila tiap tes dilakukan selama 30 menit dan diulangi sebanyak 3 kali, maka dapat dilihat bahwa waktu tes otomatis dapat menghemat 58 bahwa waktu tes otomatis dapat menghemat 58 menit atau 27% dari waktu tes manual.

9/29/2011

12

Menurut studi dari Quality Assurance Institute [QAQ95A], yang menggunakan ukuran jumlah test casesdalam membandingkan tes manual dan tes otomatis, g ,dimana digunakan 1750 test cases dan ditemukan 700 errors, didapatkan hasil sebagaimana terdapat pada tabel berikut:

Kelebihan dari otomatisasi testing, adalah sebagai berikut:◦ Mampu melakukan testing secara lebih

menyeluruh, dan dapat meningkatkan kinerja regression testing.

◦ Durasi waktu yang lebih pendek dalam pelaksanaan testing, sehingga dapat memperbanyak waktu pemasaran atau pun hal strategis lainnya.◦ Meningkatkan produktivitas dari pemakaian Meningkatkan produktivitas dari pemakaian

sumber daya, dimana tester sangat sulit didapatkan dan mahal. Disamping itu tingkat kepercayaan akan keberhasilan proyek testing pun dapat ditingkatkan.

9/29/2011

13

◦ Mengurangi kesalahan dan keteledoran tester, seperti tidak terdeteksinya error, kecerobohan p y ,dalam menekan tombol, dll.◦ Melakukan pencatatan secara detil tes log dan

item-item yang diaudit, dimana semua hasil eksekusi tes dapat disimpan secara tepat dan teliti untuk proses debugging.

Sedangkan kekurangan dari otomatisasi tes, antara lain:

◦ Membutuhkan waktu untuk inisialisasi tes.◦ Membutuhkan perawatan test cases, agar modifikasi

tingkah laku sistem yang dilakukan dapat dijaga konsistensinya dengan yang lama, dan agar dapat menghindari keberadaan fitur yang tidak stabil.

◦ Membutuhkan waktu beberapa minggu pembelajaran agar didapatkan tingkat kemampuan yang diharapkan.

◦ Tetap tidak dapat sepenuhnya menghilangkan testing manual. Umumnya 50 - 75% test cases tidak dapat diotomatisasi (tergantung pada lingkungannya).

9/29/2011

14

◦ Membutuhkan biaya investasi yang dapat mencapai US$ 30000 untuk lisensi pengguna tunggal.

◦ Terdapatnya batasan teknis, baik terhadap lingkungan Terdapatnya batasan teknis, baik terhadap lingkungan sistem operasi, tipe aplikasi, waktu respon, dll.

◦ Beberapa alat bantu otomatisasi masih berorientasi pada programmer, sehingga tidak cocok untuk pengguna akhir yang awam pemrograman.

◦ Kesulitan dalam memfokuskan tes untuk diotomatisasi, dimana kasus-kasus yang beresiko tinggi dapat dicakup secara keseluruhan.K bili d d k di k b k ◦ Kurangnya stabilitas dan dukungan, dimana kebanyakan vendor penyedia alat bantu otomatisasi tes tidak dapat dengan cepat merespon terhadap bug yang terjadi pada alat bantu tesebut, serta kurangnya ketersediaan pengguna yang berpengalaman dipasaran kerja

Organisasi harus menghindari hambatan-hambatan yang dapat menyebabkankegagalan dari implementasi otomatisasitesting, dengan memastikan pemenuhandari hal-hal sebagai berikut:dari hal hal sebagai berikut:◦ Identifikasi kebutuhan untuk melakukan

otomatisasi testing, seperti (1) analisa biayadari usaha untuk berpindah ke otomatisasi, (2) hasil analisa dari pengukuran yang mengindikasikan kebutuhan untukmeningkatkan kinerja testing dengan

(3) melakukan otomatisasi testing, dan (3) keluhandari tester karena pelaksanaan tes ulangsecara manual.

9/29/2011

15

◦ Dukungan organisasional, seperti (1) kecukupan sumber daya dan anggaran untukmemesan alat bantu, mengadakan pelatihan, dan melakukan evaluasi, (2) dukungan danpemahaman manajemen secara mendasar pemahaman manajemen secara mendasar. ◦ Proses testing yang telah stabil (terdefinsi dan

termanajemeni dengan baik), karenaotomatisasi tes (1) tidak membantu dalampenentuan apa yang akan dites, dan tes manayang akan diimplementasikan, tetapmembutuhkan disain tes, (2) tidak dapat

bk k k (3) menertibkan kekacauan proses, (3) membutuhkan proses-proses pendukunglainnya, seperti manajemen konfigurasi daridata tes.

QAQA