Tugas Resume

10
Felicia Simone 10.211.0236 ( SIB-A sore ) 1.1 Definisi Testing Beberapa definisi tentang testing: Menurut Hetzel 1973: Testing adalah proses pemantapan kepercayaan akan kinerja program atau sistem sebagaimana yang diharapkan. Menurut Myers 1979: Testing adalah proses eksekusi program atau sistem secara intens untuk menemukan error. Menurut Hetzel 1983 (Revisi): Testing adalah tiap aktivitas yang digunakan untuk dapat melakukan evaluasi suatu atribut atau kemampuan dari program atau sistem dan menentukan apakah telah memenuhi kebutuhan atau hasil yang diharapkan. 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. Beberapa pandangan praktisi tentang testing, adalah sebagai berikut: Melakukan cek pada program terhadap spesifikasi. Menemukan bug pada program. Menentukan penerimaan dari pengguna. Memastikan suatu sistem siap digunakan. Meningkatkan kepercayaan terhadap kinerja program. Memperlihatkan bahwa program berkerja dengan benar. Membuktikan bahwa error tidak terjadi. Mengetahui akan keterbatasan sistem. Mempelajari apa yang tak dapat dilakukan oleh sistem. Melakukan evaluasi kemampuan sistem. Verifikasi dokumen. Memastikan bahwa pekerjaan telah diselesaikan.

Transcript of Tugas Resume

Page 1: Tugas Resume

Felicia Simone10.211.0236 ( SIB-A sore )

1.1 Definisi Testing

Beberapa definisi tentang testing: Menurut Hetzel 1973:

Testing adalah proses pemantapan kepercayaan akan kinerja program atau sistemsebagaimana yang diharapkan.

Menurut Myers 1979:Testing adalah proses eksekusi program atau sistem secara intens untuk menemukanerror.

Menurut Hetzel 1983 (Revisi):Testing adalah tiap aktivitas yang digunakan untuk dapat melakukan evaluasi suatuatribut atau kemampuan dari program atau sistem dan menentukan apakah telahmemenuhi kebutuhan atau hasil yang diharapkan.

Menurut Standar ANSI/IEEE 1059:Testing adalah proses menganalisa suatu entitas software untuk mendeteksi perbedaanantara kondisi yang ada dengan kondisi yang diinginkan (defects / errors / bugs) danmengevaluasi fitur-fitur dari entitas software.

Beberapa pandangan praktisi tentang testing, adalah sebagai berikut: Melakukan cek pada program terhadap spesifikasi. Menemukan bug pada program. Menentukan penerimaan dari pengguna. Memastikan suatu sistem siap digunakan. Meningkatkan kepercayaan terhadap kinerja program. Memperlihatkan bahwa program berkerja dengan benar. Membuktikan bahwa error tidak terjadi. Mengetahui akan keterbatasan sistem. Mempelajari apa yang tak dapat dilakukan oleh sistem. Melakukan evaluasi kemampuan sistem. Verifikasi dokumen. Memastikan bahwa pekerjaan telah diselesaikan.

1.2 Definisi Sederhana Kualitas

Definisi lain yang ditemukan dalam beberapa literatur, mendefinisikan testing sebagaipengukuran kualitas software.

Apa yang dimaksud dengan kualitas? Sama halnya dengan testing, pengertian kualitas bagitiap praktisi dapat berbeda-beda, karena kualitas memang merupakan suatu hal yangsubyektif dan abstrak.Berikut ini beberapa definisi sederhana tentang kualitas:

Page 2: Tugas Resume

Menurut CROSBY:Kualitas adalah pemenuhan terhadap kebutuhan.

Menurut ISO-8402:Kualitas adalah keseluruhan dari fitur yang menjadikan produk dapat memuaskan ataudipakai sesuai kebutuhan dengan harga yang terjangkau.

1.3 Hubungan Testing dan Kualitas

Definisi software berkualitas adalah software yang bebas error dan bug secara obyektif, tepatwaktu dan dana, sesuai dengan kebutuhan atau keinginan dan dapat dirawat (maintainable).Pengertian kata obyektif adalah suatu proses pembuktian yang terstruktur, terencana dan

tercatat / terdokumentasi dengan baik.Pendekatan yang obyektif sangat diperlukan karena kualitas adalah suatu hal yang tidaknyata dan subyektif. Ia tergantung pada pelanggan dan hal-hal lain yang mempengaruhinyasecara keseluruhan.

Pelanggan pada proyek pengembangan software dapat meliputi pengguna akhir (end-users),tester dari pelanggan, petugas kontrak dari pelanggan, pihak manajemen dari pelanggan,pemilik saham, reviewer dari majalah, dan lain-lain, dimana tiap tipe pelanggan akanmempunyai sudut pandang sendiri terhadap kualitas.

Testing membuat kualitas dapat dilihat secara obyektif, karena testing merupakanpengukuran dari kualitas software. Dengan kata lain testing berarti pengendalian kualitas(Quality Control - QC), dan QC mengukur kualitas produk, sedangkan jaminan kualitas(Quality Assurance – QA) mengukur kualitas proses yang digunakan untuk membuat produkberkualitas.

2.1 Obyektifitas Testing

Secara umum obyektifitas dari testing adalah untuk melakukan verifikasi, validasi dan deteksierror untuk menemukan masalah dan tujuan dari penemuan ini adalah untuk membenahinya.

Namun terdapat pula beberapa pendapat dari praktisi yang dapat pula dipandang sebagaibagian dari obyektifitas testing, antara lain:

Meningkatkan kepercayaan bahwa sistem dapat digunakan dengan tingkat resiko yang dapat diterima.

Menyediakan informasi yang dapat mencegah terulangnya error yang pernah terjadi. Menyediakan informasi yang membantu untuk deteksi error secara dini. Mencari error dan kelemahan atau keterbatasan sistem. Mencari sejauh apa kemampuan dari sistem. Menyediakan informasi untuk kualitas dari produk software.

2.2 Misi dari Tim Testing

Page 3: Tugas Resume

Misi dari tim testing tidak hanya untuk melakukan testing, tapi juga untuk membantumeminimalkan resiko kegagalan proyek.Tester mencari manifestasi masalah dari produk, masalah yang potensial, dan kehadiran darimasalah.

Mereka mengeksplorasi, mengevaluasi, melacak, dan melaporkan kualitas produk,sehingga tim lainnya dari proyek dapat membuat keputusan terhadap pengembangan produk.Penting diingat bahwa tester tidak melakukan pembenahan atau pembedahan kode, tidakmempermalukan atau melakukan komplain pada suatu individu atau tim, hanyamenginformasikan.

Tester adalah individu yang memberikan hasil pengukuran dari kualitas produk.

2.4 Prinsip-Prinsip Testing

Terdapat 6 kunci prinsip-prinsip testing, yaitu: Testing yang komplit tidak mungkin. Testing merupakan pekerjaan yang kreatif dan sulit. Alasan yang penting diadakannya testing adalah untuk mencegah terjadinya errors. Testing berbasis pada resiko. Testing harus direncanakan. Testing membutuhkan independensi.

2.5 Moto Testing

Testing merupakan suatu eksperimen dan membutuhkan suatu pendekatan tertentu.Eksperimen dimulai dengan suatu hipotesa eksperimen yang didisain untuk diverifikasi atauditolak. Praktik yang baik adalah mendisain eksperimen sehingga jumlah kondisi yang diubahdari satu waktu ke waktu minimum. Kondisi eksperimen ini disimpan, dan data diolahsehingga eksperimen dapat diulang jika dibutuhkan. Akhirnya data tes dianalisa untuk melihatapakah hipotesa terbukti.

Hipotesa tes memperhatikan tipe-tipe dan kuantitas defect dari program. Eksperimenkemudian didisain untuk verifikasi atau menilai jumlah ini. Pandangan akan testing inidirefleksikan dalam moto testing yang dinyatakan oleh Myers di tahun 1976:

Test case yang bagus adalah yang mempunyai kemungkinan tinggi dalam mendeteksidefect yang sebelumnya belum ditemukan, bukan yang dapat memperlihatkan bahwaprogram telah bekerja dengan benar.

Satu dari kebanyakan masalah sulit dalam testing adalah pengetahuan akan kapan untukberhenti.

Tidak mungkin untuk mengetes program Anda sendiri. Bagian yang dibutuhkan dari tiap test case adalah deskripsi dari keluaran yang

diharapkan. Hindari testing yang tidak produktif atau di awang-awang. Tulis test case untuk kondisi yang valid dan tak valid. Inspeksi hasil dari tiap tes.

Page 4: Tugas Resume

Semakin meningkatnya jumlah defect yang terdeteksi dari suatu bagian program,kemungkinan dari keberadaan defect yang tak terdeteksi juga meningkat.

Tunjuklah programer terbaik Anda untuk melakukan testing. Pastikan bahwa testabilitas adalah suatu obyektifitas kunci dalam disain software

Anda. Disain dari sistem seharusnya seperti tiap modul yang diintegrasikan ke dalam

sistemhanya sekali.

Jangan pernah mengubah program untuk membuat testing lebih mudah (kecuali padaperubahan yang permanen).

Testing, seperti tiap aktifitas kebanyakan yang lain, testing juga harus dimulai denganobyektifitas.

2.6 Isu-Isu Seputar Testing

Hal-hal lain yang berkaitan dengan testing adalah sebagai berikut: Sistem itu “Buggy“ Testing ditampilkan dengan gambaran yang menakutkan Batas waktu menjadi hambatan bagi testing Testing bukan organisasi dan ilmu Manajemen pendukung untuk testing kurang dari ideal Testing tidak ditampilkan sebagai suatu karir yang menjanjikan Teknologi baru ataupun lama menyulitkan situasi

3.1 Definisi Test Case

Test case merupakan suatu tes yang dilakukan berdasarkan pada suatu inisialisasi,masukan, kondisi ataupun hasil yang telah ditentukan sebelumnya.

Adapun kegunaan dari test case ini, adalah sebagai berikut: Untuk melakukan testing kesesuaian suatu komponen terhadap spesifikasi – Black

Box Testing.

Untuk melakukan testing kesesuaian suatu komponen terhadap disain – White Box Testing.

Hal yang perlu diingat bahwa testing tidak dapat membuktikan kebenaran semuakemungkinan eksekusi dari suatu program. Namun dapat didekati dengan melakukanperencanaan dan disain tes case yang baik sehingga dapat memberikan jaminan efektifitasdari software sampai pada tingkat tertentu sesuai dengan yang diharapkan.

3.2 White Box Testing

Page 5: Tugas Resume

Kadang disebut juga glass box testing atau clear box testing, adalah suatu metode disain testcase yang menggunakan struktur kendali dari disain prosedural.Metode disain test case ini dapat menjamin:

Semua jalur (path) yang independen / terpisah dapat dites setidaknya sekali tes. Semua logika keputusan dapat dites dengan jalur yang salah dan atau jalur yang

benar. Semua loop dapat dites terhadap batasannya dan ikatan operasionalnya. Semua struktur internal data dapat dites untuk memastikan validitasnya.

Seringkali white box testing diasosiasikan dengan penguukuran cakupan tes (test coveragemetrics), yang mengukur persentase jalur-jalur dari tipe yang diplih untuk dieksekusi oleh testcases.

3.2.1 Cakupan pernyataan, cabang dan jalur

Cakupan pernyataan, cabang dan jalur adalah suatu teknik white box testing yangmenggunakan alur logika dari program untuk membuat test cases. Yang dimaksud denganalur logika adalah cara dimana suatu bagian dari program tertentu dieksekusi saatmenjalankan program.

Cakupan pernyataan

Page 6: Tugas Resume

Cakupan pernyataan ditentukan dengan menilai proporsi dari pernyataan-pernyataan yangditinjau oleh sekumpulan test cases yang ditentukan. Cakupan pernyataan 100 % adalah bilatiap pernyataan pada program ditinjau setidaknya minimal sekali tes.

Cakupan cabang

Cakupan cabang ditentukan dengan menilai proporsi dari caban keputusan yang diuji olehsekumpulan test cases yang telah ditentukan. Cakupan cabang 100 % adalah bilamana tiap cabang keputusan pada program ditinjau setidaknya minimal sekali tes.

Cakupan jalur

Page 7: Tugas Resume

Cakupan jalur ditentukan dengan menilai proporsi eksekusi jalur program yang diuji olehsekumpulan test cases yang telah ditentukan. Cakupan jalur 100 % adalah bilamana tiap jalurpada program dikunjungi setidaknya minimal sekali tes.

3.2.2 Basis Path Testing

Merupakan teknik white box testing yang dikenalkan oleh Tom McCabe.

Konsep utama basis path:

1. Tiap basis path harus diidentifikasi, tidak boleh ada yang terabaikan (setidaknya dites 1

kali).2. Kombinasi dan permutasi dari suatu basis path tidak perlu dites.

3.2.3 Cyclomatic Complexity

Adalah pengukuran software yang memberikan pengukuran kuantitatif dari kompleksitaslogika program.

Pada konteks metode basis path testing , nilai yang dihitungentukan jumlah jalur-jalur yang independen dalam kumpulan basis suatu programemberikan jumlah tes minimal yang harus dilakukan untuk memastikan bahwa semuapernyataan telah dieksekusi sekurangnya satu kali.

3.3 Black Box Testing

Page 8: Tugas Resume

Black box testing, dilakukan tanpa pengetahuan detil struktur internal dari sistem ataukomponen yang dites. juga disebut sebagai behavioral testing, specification-based testing,input/output testing atau functional testing.

Black box testing berfokus pada kebutuhan fungsional pada software, berdasarkan pada spesifikasi kebutuhan dari software.

Dengan adanya black box testing, perekayasa software dapat menggunakan sekumpulan kondisi masukan yang dapat secara penuh memeriksa keseluruhan kebutuhan fungsional pada suatu program.Black box testing bukan teknik alternative daripada white box testing. Lebih dari pada itu, ia merupakan pendekatan pelengkap dalam mencakup error dengan kelas yang berbeda dari metode white box testing.Kategori error yang akan diketahui melalui black box testing :

Fungsi yang hilang atau tak benar Error dari antar-muka Error dari struktur data atau akses eksternal database Error dari kinerja atau tingkah laku Error dari inisialisasi dan terminasiTak seperti white box testing, yang dipakai pada awal proses testing. Black box testing

digunakan pada tahap akhir dan berfokus pada domain informasi. Tes didisain untuk menjawab pertanyaan sebagai berikut :

Bagaimana validasi fungsi yang akan dites ? Bagaimana tingkah laku dan kinerja sistem dites? Kategori masukan apa saja yang bagus digunakan untuk test cases? Apakah sebagian sistem sensitif terhadap suatu nilai masukan tertentu ? Bagaimana batasan suatu kategori masukan ditetapkan? Sistem mempunyai toleransi jenjang dan volume data apa saja ? Apa saja akibat dari kombinasi data tertentu yang akan terjadi pada operasi sistem ?