Testing dan Implementasi Sistem (1)

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
1. Model / Proses

 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
Keamanan ruangan, suhu, alat, keamanan, dll.

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
Hasil testing diasosiasikan pada tiap fase pengembangan



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
Pernyataan Objektivitas Testing
Deskripsi Pendekatan Testing

Sekelompok tugas untuk mencapai



Desain Test
Spesifikasi Tes yag Dikembangkan
Deskripsi Pengelompokan Test

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.
Testing harus dimulai dari yang kecil lalu meningkat ke yang besar.
Rencana test besar

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.
Setiap pendekatan testing adalah baru, dan unik. Yang sangat dipengaruhi oleh
pengalaman dari testing yang sebelumnya.

-

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
2. Dengan mengetahui operasional internal dari product, tes dapat semua komponen
berjalan sebagaimana mestinya, opersi internal berlaku berdasarkan pada spesifikasi
dan semua komponen internal telah cukup diperiksa.



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
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 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 ?
Sistem mempunyai toleransi jenjang dan volume data apa saja?