Anda di halaman 1dari 5

Techniques Fundamental Setiap kode sumber (source code) dibuat, software harus di uji (ditest) untuk memperbaiki sebanyak

mungkin kesalahan (errors), sebelum diserahkan ke customer Teknik Pengujian secara umum mencakup dua hal penting : - Menguji internal program logic dari komponen software - Menguji input dan ouput domain dari program (function, kebutuhan sistem) Uji Fungsionalitas atau Uji Kebutuhan sistem (Software Requirement Testing) Techniques Fundamental Siapa yang mengerjakan ?? Pada awalnya, software engineer mengerjakan semua test. Namun pada perkembangan proses testing, testing specialist yang terlibat. Kenapa testing ini penting, dilihat dari sisi implementasi?? Setiap program selesai dibuat dan siap dijalankan, maka customer akan mengujinya terlebih dahulu Sofware harus diuji dengan intens untuk menemukan dan menghilangkan error, sebelum diserahkan ke customer Hasil yang diharapkan didefinisikan di awal Hasil pengujian direkam atau dicatat (testing documentation)

Software Testability Apa itu software testability?? Menurut James bach, software testability adalah seberapa mudah sebuah program komputer dapat diuji Testing dianggap cukup sulit dilakukan maka perlu diketahui apa yang harus dilakukan untuk meluruskannya Testability muncul sebagai hasil dari good design Ada beberapa atribut yang dapat digunakan oleh software engineer dalam membangun software Apakah software (a good software) sudah memenuhi hal-hal berikut?? Operability - Semakin baik kerjanya, lebih efisien dapat diuji

Observability - Apa yang anda lihat adalah apa yang anda menguji Controllability - Semakin baik kita dapat mengontrol perangkat lunak, maka pengujian lebih dapat diotomatisasi dan dioptimalkan Decomposability - Dengan mengontrol ruang lingkup pengujian, kita dapat lebih cepat mengisolasi masalah dan melakukan pengujian lebih cerdas Simplicity - Semakin sedikit jumlah yang diuji, semakin cepat kita dapat mengujinya Stability - Semakin sedikit perubahan, semakin sedikit gangguan pengujian

Test Case Design Atribut of a good testing seperti apa?? Testing yang baik memiliki kemungkinan paling besar untuk menemukan error -Tester harus memahami software yang diuji dan memikirkan bagaimana software bisa gagal Testing yang baik tidak redundant/ganda - Testing time & resources terbatas - Setiap test harus mempunyai tujuan yang berbeda Atribut of a good testing seperti apa?? (lanjutan) Testing yang baik tidak terlalu sederhana namun juga tidak terlalu kompleks - Jangan mengkombinasikan beberapa test case kedalam sebuah test case - Test case harus dilaksanakan secara terpisah Black Box Testing - Dilakukan melalui software interface (menu) - Meyakinkan bahwa fungsi-fungsi dalam software berjalan - Input dengan baik diterima ; Output dihasilkan dengan benar

- Integritas dari informasi luar (database) dimaintain White Box Testing - Pemeriksaan terhadap setiap prosedur secara detail - Jalur logika (Logical Path) diuji dengan test case

Pengujian (Testing) Pengujian perangkat lunak (Software testing) adalah proses untuk mengukur kualitas dari perangkat lunak yang dikembangkan. Kualitas perangkat lunak (software quality) mengukur seberapa baik sistem perangkat lunak dirancang (quality of design), dan tingkat kesesuaian perangkat lunak dengan rancangan yang telah dibuat (quality of conformance). Standar internasional yang digunakan untuk mengevaluasi kualitas perangkat lunak adalah ISO 9126 yang mendefinisikan karakteristik perangkat lunak yang berkualitas.

Testing Process

Unit testing Pengujian masing-masing unit komponen program untuk meyakinkan bhw sudah beroperasi secara benar

Module Testing Pengujian terhadap koleksi unit-unit komponen yang saling berhubungan.

Sub-system Testing Pengujian terhadap koleksi module-module yang membentuk suatu sub-system (aplikasi)

System Testing Pengujian terhadap integrasi sub-system, yaitu keterhubungan antar sub-system

Acceptance Testing Pengujian terakhirs sebelum sistem dipakai oleh user. Melibatkan pengujian dengan data dari pengguna sistem.

Biasa dikenal sebagai alpha test (beta test untuk software komersial, dimana pengujian dilakukan oleh potensial customer)

Component testing Pengujian komponen-komponen program Biasanya dilakukan oleh component developer (kecuali untuk system kritis)

Integration testing Pengujian kelompok komponen-komponen yang terintegrasi untuk membentuk subsystem ataupun system Dialakukan oleh tim penguji yang independent Pengujian berdasarkan spesifikasi sistem

Testing Planning Proses Pengujian Deskripsi fase-fase utama dalam pengujian

Pelacakan Kebutuhan Semua kebutuhan user diuji secara individu

Item yg diuji Menspesifikasi komponen sistem yang diuji

Jadwal Pengujian Prosedur Pencatatan Hasil dan Prosedur Kebutuhan akan Hardware dan Software Kendala-kendala Mis: kekuranga staff, alat, waktu dll.

Hubungan antara Testing Planning & SDLC

Failure: Output yang tidak benar/tidak sesuai ketika sistem dijalankan Fault: Kesalahan dalam source code yang mungkin menimbulkan failure ketika code yg fault tersebut dijalankan Testing Clue Hanya test yang lengkap yg dapat meyakinkan sistem terbebas dari kesalahan, tetapi hal ini sangat sulit dilakukan Prioritas dilakukan terhadap pengujian kemampuan sistem, bukan masing-masing komponennya Pengujian untuk situasi yg tipikal lebih penting dibandingkan pengujian terhadap nilai batas

Testing Data & Test Case Test data: Input yang yang direncankan digunakan oleh sistem Test cases: Input yang digunakan untuk menguji sistem dan memprediksi output dari input jika sistem beroperasi sesuai dengan spesifikasi

Anda mungkin juga menyukai