Definisi Testing Software
Testing software adalah proses mengoperasikan software dalam suatu kondsi yang dikendalikan, untuk verifikasi apakah telah berlaku
sebagaimana telah ditetapkan (menurut sesifikasi), mendeteksi error,dan vaidasi apakah spesifikasi yang telah ditetapkan sudah memenuhi keinginan atau kebutuhan dari pengguna yang sebenarnya.
Verifikasi adalah pengecekan atau pengetesan entitas-entitas, termasuk software, untuk pemenuhan dan konsistensi dengan melakukan evaluasi hasil terhadap kebutuhan yang telah ditetapkan.
Validasi melihat kebenaran sistem, apakah proses yang telah ditulis dalam spesifikasi adalah apa yang sebenarnya diinginkan atau dibutuhkan oleh pengguna.
Deteksi error. Testing seharusnya beriorientasi untuk membuat kesalahan secara intesnsif, untuk menentukan apakah suatu hal tersebut terjadi atau suatu hal tersebut tidak terjadi.
Tujuan Testing
Testing dilakukan untuk memastikan mutu dari suatu produk yaitu menguji apakah produk (dalam sistem ini sistem informasi ) yang dihasilkan telah sesuai dengan mutu yang diisyaratkan.
Testing dilakukan untuk memastikan atau menjaga mutu suatu produk. Testing merupakan proses analisa dan entitas software, pada testing ini
bertuuan untuk mendeteksi adanya perbedaan antar kondisi software yang ada denga kondisi yang diinginkan, untuk melihat kerusakan suatu produk melakukan evaluasi fitur-fitur dari software.
Sasaran
Aplikasi sistem informasi yang sudah melakukan uji kelayakan sistem, maka apliksi tersebut informasi akan terjadi peningkatan:
Perfomance / kinerja
Information / nilai mutu informasi Economi / nilai ekonomis
Control Efisiensi
Service / pelayanan
Pengujian terhadap komponen sistem informasi
Menguji hasil rancangan tentang proses atau model dari suatu sistem informasi yang akan dibuat dengan program aplikasi. Contoh : Menguji flow chart KRS
2. Output
Menguji hasil rancangan dengan laporan yang disajikan aplikasi, apakah sudah memberikan informasi sesuai dengan kebutuhan user.
Contoh : KRS 3. Input
Pengujian terhadap jumlah atau variable data yang dibutuhkan output.
Contoh : data MHS, data DOSEN, MTK, dll. 4. Database
Menguji atribut data, relasi antar file atau hubungan elemen data. Jumlah database yang sesuai untuk menghasilkan output dan menampung data sesuai dengan form entri.
5. Teknologi
Pengujian terhadap kemampuan peralatan yang digunakan, kemampuan software dalam menjalankan aplikasi, sehingga mampu memberikan informasi yang interaktif kepada user. 6. Control atau kendali
Menguji terhadap keamanan dan hak akses dari aplikasi dan dapat memonitor.
Pengujian perancangan
Kecocokan format laporan dengan tahap perancangan dan hasil analisis.
Kesesuaian variable data yang dituangkan pada format form entri pada tahap perencanaan dan hasil sistem.
Kesesuaian model pada perencanaan dan analisis ( jumlah data yang mengalir, kerangka berfikir program atau flow chart ) proses matematis dalam pemakain rumus.
Database dapat menampung jumlah yang dibutuhkan pada perencanaan dan kesesuaian data pada hasil analisis.
Teknologi, pengujian untuk dapat menjalankan aplikasi yang sudah dibentuk dan pengujian fungsi dari masing-masing komponen computer.
Control system
Keamanan akses sistem dan data Kecepatan
Kapasitas penyimpanan memory Umur system
Dasar Dasar Testing
Objektifitas Testing
Secara umum objektivitas testing adalah untuk melakukan verifikasi, validasi dan deteksi error untuk menemukan masalah dan tujuan dari penemuan ini adalah untuk membenahinya. Namun terdapat pula beberapa pendapat dari praktisi yang dapat pula beberapa pendapat dari praktisi yang dapat pula dipandang sebagai bagia dari objektivitas testing. Antara lain :
1. Meningkatan keprcayaan bahwa system dapat digunakan dengan tingkat resiko yang dapat diiterima.
2. Menyediakan informasi yang dapat mencegah
Alasan yang penting diadakannya testing adalah untuk
mencegah terjadinya
Error
Konsep siklus dari Testing
Testing bukan untuk satu fase pengembangan saja
Semua testing harus dapat dilacak dan memenuhi kebutuhan dari konsumen. Sebagaimana dapat kita lihat salah satu objektivitas dari testing adalah memperbaiki error.
Testing Berbasis Pada Resiko
Walaupun testing secara keseluruhan adalah tidak mungkin, namun tidak berarti bahwa testing yang efektif tidak dapat dilakukan.
Oleh sebab itu testing merupakan hasil peryimbangan dari resiko dan ekonomi, dimana secara praktis testing merupakan hasil pertimbangan tarik –ulur dari empat faktor utama.
1. Sumber daya dan biaya yang dibutuhkan untuk melakukan testing berdasarkan pada skala prioritas, kompleksitas dan kesulitan testing. 2. Biaya dari keterlambatan pengiriman produk ( dimana salah satu
kemungkinan besar penyebabnya adalah testing ) 3. Kemungkinan adanya suatu defect (cacat)
4. Biaya yang disebabkan oleh defect, bilamana defect tersebut
menyebabkan error membawa kerugian baik secara langsung maupun tidak langsung bagi pelanggan.
Testing Harus Direncanakan
Testing yang baik butuh pemikiran dengan pendekatan secara
keseluruhan, desain test dan penetapan hasil yang diinginkan untuk tiap kasus test ( test case ) yang dipilih.
Suatu dokumen yang mencakup keseluruhan dari tujuan testing dan pendekatan testing disebut Rencana Tes ( Test Plan ), sedangkan suatu dokumen atau pernyataan yang mendefinisikan apa yang dipilih untuk dites dan menjelaskan hasil yang diharapkan disebut Desain Test (Test Design ).
Rencana Test Desain Test
Pernyataan Objektivitas Testing Spesifikasi Tes yag Dikembangkan Deskripsi Pendekatan Testing Deskripsi Pengelompokan Test Sekelompok tugas untuk mencapai
obyektivitas Testing
Rencana Test dibuat setelah model kebutuhan itu telah selesai dibuat. Dan detail dari definisi test case dibuat setelah design model disetujui. Atau dengan kata lain tes direncanakan dan design sebelum kode dibuat.
Moto Testing
- Pandangan akan testing ini akan direfleksikan
Isu-Isu Seputar Testing
1. Sistem itu “Buggy” - Hal ini disebabkan oleh :
- Sistem pengembangan yang kurang baik dan terencana
- Sistem pelayanan yang kurang baik dan terencana
- Analisis, disainer dan programer tidak tahu bagaimana membangun suatu kualitas ke dalam sistem yang ada.
- Tester tidak banyak terpengaruh oleh definisi dari kebubutuhan, development atau proses pelayanan.
2. Testing ditampilkan dengan gambaran yang menakutkan
- Testing membutuhkan biaya yang mahal dan membutukan aktifitas waktu yang besar.
- Jika terjadi suatu kesalahan (seperti penentuan atribut pengukuran yang salah) dapat menjadi senjata makan tuan, dimana aktifitas testing yang telah dilakukan akan menjadi suatu hal yang percuma dan malah membuat situasi semakin
membingungkan.
3. Batas waktu menjadi hambatan bagi testing - Hal ini kebanyakan disebabkan oleh :
a. Manajemen mengiginkan product diluncurkan secepat mungkin
b. Banyak cara dan hal yang harus dilakukan dalam testing dalam waktu yang singkat
c. Batas waktu kadang-kadangtidak relistis, dan tekanan antara meluncurkan product dengan cepat dibang=dingkan dengan membuat product yang benar.
d. Testing kadang-kadang terlalu sedikit, terlambat dan tidak terencana.
4. Testing Bukan Organisasi Dan Ilmu
- Tidak ada satu orang pun yang yakin apa itu testing, siapa yang bertanggung jawab, dan kapan harus melakukan testing.
- Testing merupakan suatu hal yang subyektif dan relatif
- Testing dalam pelaksanaan dan pengembangannya sangat tergantung pada kreatifitas dan pengalaman tiap individu.
- Tidak ada kejelasannya bagaimana mengakses keefektifan dari testing dan sumber daya yang berkualitas, dan bagaimana menghitung waktu dan sumber daya yang dibutuhkan oleh testing.
5. Manajemen pendukung untuk testing kurang dari Ideal
- Tak banyak pihak manajemen yang menaruh perhatian lebih pada testing, kebanyakan dari mereka memandang testing hanya dengan sebelah mata.
- Kurangnya kesadaran akan pentingnya testing sebagaimana telah dijelaskan.
6. Testing Tidak Ditampilkan Sebagai Suatu Karir Yang Menjanjikan 7. Teknologi Baru Ataupun Lama Menyulitkan Situasi
TESTABILITAS
- Testabilitas software adalah seberapa mudah (suatu program komputer) dapat dites
- Berikut daftar sekumpulan karakteristik yang dapat mengarahkan pada software yang dapat dites
Asd
Observability
- Apa yang anda lihat, adalah apa yang anda tes
- Hasil setiap keluaran harus menunjukkan hasil dari masukan
- Kondisi sistem dan variabel dapat dilihat atau diquery selama eksekusi berlangsung
- Kondisi dan variabel sistem lama juga dapat dilihat atau diquery
- Semua faakor yang mempengaruhi keluaran dapat dilihat
- Keluaran yang salah dapat dengan sangat mudah diidentifikasikan
- Kesalahan internal dapat secara otomatis dideteksi oleh mekanisme tes yang menyeluruh
- Kesalahan internal secara otomatis dilaporkan
- Source code dapat diakses
Disaign Test Case
Tiap product hasil rekayasa dapat ditest dalam dua cara :
1. Dengan berdasarkan pada fungsi yang dispesifikasikan dari product, test dapat dilakukan dengan mendemonstrasikan tiap fungsi telah beroperasi secara penuh sesuai dengan yang diharapkan, dan sementara itu yang beilakukan ursamaan, dilakukan pencarian error pada tiap fungsinya.tuk memastikan semua
Pendekatan cara pertama biasa disebut dengan black box testing, dan pendekatan
cara kedua disebut white box testin.
Definis Test Case
Test Case, merupakan suatu test yang dilakukan berdasarkan pada suatu inisialisasi,
masukan, komdisi, ataupun hasil yang telah ditentukan sebelumnya.
Adapun kegunaan dari Test Case ini, adalah sebagai berikut :
Untuk melakuka testing kesesuain suatu komponen terhadap spesifikasi – Black Box
Testing.
Untuk melakukan testing kesesuaian suatu komponen terhadap design - White Box
Testing.
Hal yang perlu diingat bahwa testing tidak dapat mebuktikan kebenaran semua
kemungkinan eksekusi dari suatu program. Namun dapat didekati dengan melakukan perencanaan dan design test case yang baik sehingga dapat memberikan jaminan efektifitas dari software sampai pada tingkat tertentu sesuai dengan yang
diharapkan.
WHITE BOX TESTING
Kadang disebut juga glass box testing atau clear box testing, adalah suatu metode
design test case yang menggunakan struktur kendali dari design prosedural.
Metode design test case ini dapat menjamin :
Semua jalur (path) yang independen / terpisah dapat dites setidaknya sekali test. Semua logika keputusan dapat ditest dengan jalur yang salah dan atau jalur yang
benar.
Semua loop dapat ditest terhadap batasannya dan ikatan opersionalnya Semua struktur internal data dapat dites untuk memastikan validitasnya.
BLACK BOX TESTING
Black box testing, dilakukan tanpa pengetahuan detil struktur internal dari sistem
atau komponen 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
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 teknik alternatif dari pada White box testing. Lebih daripada itu, ia
merupakan pendekatan pelengkap dalam mencakup error dengan kelas yang berbeda dari metode white box testing.
Kategori error yang 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 terminasi
Tak seperti White box testing, yang dipakai pada awal proses testing. Black box
testing digunakan pada tahap akhir dan berfokus pada domain informasi. Tes di design 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 case ? Apakah sebagian sistem sensitif terhadap suatu nilai masukan tertentu ? Bagaimana batasan suatu kategori masukan ditetapkan ?