Senin, 04 Mei 2015

MaKALAH TESTING DAN IMPLEMENTASI SISTEM

MaKALAH
TESTING DAN IMPLEMENTASI SISTEM



Disusun oleh:
Kelompok 2

Nama kelompok    :
v     Happetang
v     Isna susanti
v     nirwana
v     mira santika
v     muliana


JURUSAN :SISTEM INFORMASI
STIMIK LAMAPPAPOLEONRO SOPPENG
Tahun ajaran 2014/2015



A. Pengujian / Testing

Pengujian dilakukan untuk menjamin kualitas dan juga mengetahui kelemahan dari perangkat lunak. Tujuan dari pengujian ini adalah untuk menjamin bahwa perangkat lunak yang dibangun memiliki kualitas yang handal, yaitu mampu merepresentasikan kajian pokok dari spesifikasi, analisis, perancangan dan pengkodean dari perangkat lunak itu sendiri.

Ada dua komponen yang harus diperhatikan dalam strategi pengujian,yaitu :
1.      Faktor Pengujian yang merupakan hal-hal yang harus diperhatikan selama melakukan pengujian. Faktor pengujian ini dipilih sesuai dengan system yang akan diuji.
2.      Tahapan pengujian yang merupakan langkah-langkah dalam melakukan
pengujian.

Ø  Sasaran-sasaran pengujian
Beberapa sasaran pengujian diantaranya :
1.      Pengujian adalah proses eksekusi suatu program dengan maksud menemukan kesalahan
2.      Test case yang baik adalah test case yang memiliki probabilitas tinggi untuk menemukan kesalahan yang belum pernah ditemukan sebelumnya
3.      Pengujian yang sukses adalah pengujian yang mengungkap semua kesalahan yang belum pernah ditemukan sebelumnya.

Ø  Prinsip Pengujian
Prinsip Pengujian meliputi :
·        Semua pengujian harus dapat ditelusuri sampai ke persyaratan pelanggan.
Sebagaimana telah kita ketahui, sasaran pengujian perangkat lunak adalah untuk mengungkapkan kesalahan. Hal ini memenuhi kriteria bahwa cacat yang paling fatal (dari titik pandang pelanggan) adalah cacat yang menyebabkan program gagal memenuhi persyaratannya.
·        Pengujian harus direncanakan lama sebelum pengujian itu mulai.
Perencanaan pengujian dapat dimulai segera setelah model pernyaratan dilengkapi. Definisi detail mengeani test case dapat dimulai segera setelah model desain diteguhkan. Dengan demikian, semua pengujian dapat direncanakan dan dirancang sebelum semua kode dibangkitkan.
·        Prinsip Pareto berlaku untuk pengujian perangkat lunak.
Secara singkat prinsip Paretomengimplikasikan bahwa 80 persen dari semua kesalahan yang ditemukan selama pengujian sepertinya akan dapat ditelusuri sampai 20 persen dari semua modul program. Masalahnya,bagaimana mengisolasi modul yang dicurigai dan mengujinya dengan teliti.
·        Pengujian harus mulai “dari yang kecil” dan berkembang ke pengujian “yang besar”.
Pengujian pertama yang direncanakan dan dieksekusi biasanya berfokus pada modul program individual. Selagi pengujian berlangsung maju, pengujian mengubah fokus dalam usaha menemukan kesalahan pada cluster modul yang terintegrasi dan akhirnya pada system secara keseluruhan.
·        Pengujian yang mendalam tidak mungkin.
Jumlah jalur permutasi untuk program yang berukuran menengah-pun sangat besar. Karean itulah tidak mungkin untuk mengeksekusi setiap kombinasi jalus skema pengujian. Tetapi dimungkinkan untuk secara tepat mencakup logika program dan memastikan bahwa semua kondisi dalam desai prosedural telah diuji.
·        Untuk menjadi paling efektif, pengujian harus dilakukan oleh pihak ketiga yang independent.
Yang dimaksud dengan kata “yang paling efektif” adalah pengujian yang memiliki probabilitas tertinggi di dalam menemukan kesalahan (sasaran utama pengujian). Karena perekayasa perangkat lunak yang membuat sistem tersebut bukanlah orang yang paling tepat untuk melakukan semua pengujian bagi perangkat lunak.

B.                       PENGUJIAN  SYSTEM
Definisi Pengujian Sistem
·      Suatu proses yang dilakukan untuk menilai apakah yang dirancang telah sesuai dengan   apa yang diharapkan
·      Suatu kegian untuk mengevaluasi keunggulan dan kelermahan terhadap sesuatu yang diuji (kwalitas produk)
·      Mengevaluasi terhadap urutan kegiatan yang sistematis dalam mencapai tujuan system
·      Mengevaluasi keseimbangan jumlah pelaksanaan kegiatan dengan beban kerja dalam sesuatu prosedur kegiatan
Pengujian Sistem
·      Melakukan proses evaluasi terhadap system yang sudah ada apakah system sudah sesuai yang dharapkan user
·      Menilai dan mengevaluasi terhadap output atau ahasil system
·      Menguji terhadpa input, pengelolaan (proses)dan output system
·      Melakukan penilaian dan evaluasi terhadpat komponen system prosedur pelaksanaan kegiatan dan mutu atau kwalitas hasil system
Sistem pengujian untuk memastikan kualitas dan keandalan sistem langkah kunci dalam proses pengembangan sistem adalah analisis sistematis pada desain sistem dan pelaksanaan review akhir.Berdasarkan uji konsep dan tujuan sistem informasi selama tes harus mengikuti prinsip-prinsip dasar.
·        Sesegera mungkin dan terus diuji.Pengujian tidak dalam pengembangan aplikasi dilakukan setelah selesai.Karena kompleksitas asli masalah, keragaman tahap perkembangan serta koordinasi antara peserta dan faktor lainnya, membuat rambut di semua tahapan pembangunan mungkin mengalami kesalahan.Oleh karena itu, tes yang harus dijalankan melalui berbagai tahap perkembangan secepat mungkin untuk memperbaiki kesalahan, menghilangkan bahaya yang tersembunyi.
·        Harus dihindari oleh orang-orang asli yang bekerja atau komitmen kelompok, di satu sisi, pengembang sering enggan untuk memanggil pekerjaan mereka diakui, dan percaya bahwa perangkat lunak mereka sendiri dikembangkan tidak ada kesalahan; sisi lain, pengembang kesalahan adalah pada sayamenguji, mudah untuk program sesuai dengan ide mereka sendiri untuk mengembangkan ide-ide pengujian, memiliki keterbatasan.Pengujian harus dilakukan oleh personel khusus untuk melaksanakan, akan lebih obyektif dan lebih efektif
·        Melakukan sesuai dengan rencana uji ketat, untuk menghindari uji sewenang-wenang.Rencana pengujian harus mencakup konten pengujian, penjadwalan, staf, lingkungan pengujian, alat-alat tes dan informasi tes.Ketat sesuai dengan rencana pengujian dapat; kemajuan sertifikasi, sehingga semua pihak dapat dikoordinasikan.
·        Jauhkan rencana uji, uji kasus, sebagai bagian dari dokumentasi perangkat lunak, untuk pemeliharaan kenyamanan
·        Uji kasus secara hati-hati dirancang, dapat kembali pengujian atau pengujian tambahan dengan mudah.Ketika Zi benar sebelum uji kasus, atau memodifikasi dasar, dan kemudian menguji.
Sebuah proses pengujian standar biasanya meliputi kegiatan uji berikut dasar.
ü  menyiapkan rencana uji.Dalam rencana uji, kita sepenuhnya harus mempertimbangkan waktu keseluruhan proyek pembangunan dan pengembangan ke anak serta beberapa faktor manusia dan kondisi obyektif, membuat rencana uji layak.Utama isi isi rencana uji, penjadwalan lingkungan pengujian, uji dan persyaratan yang dibutuhkan untuk menguji pengaturan pelatihan.
ü  penyusunan kerangka uji.Uji garis didasarkan pada ujian.Ini jelas menetapkan secara rinci sistem dalam tes untuk fitur atau fitur dari masing-masing harus menyelesaikan item tes dasar dan kriteria uji penyelesaian.
ü  Menurut garis besar rancangan dan pengujian untuk menghasilkan uji kasus.Bila dalam desain uji kasus, kasus uji dapat disajikan di depan teknik pemanfaatan dan desain, sehingga dalam dokumentasi pengujian desain dan isinya diukur item, data input, proses pengujian, output yang diharapkan dan sebagainya. untuk melaksanakan ujian.Tahap implementasi dari tes ini adalah terdiri dari serangkaian siklus uji.Dalam setiap siklus uji, penguji dan pengembang akan didasarkan pada program persiapan pra-tes dan menyiapkan ujian yang baik, perangkat lunak uji, atau peralatan untuk tes lengkap.
ü  membuat laporan uji.Test selesai, untuk membentuk laporan pengujian yang sesuai, utama garis-garis besar tes yang ditetapkan kesimpulan tes yang cacat dan kesalahan, juga memberikan beberapa saran, seperti metode modifikasi dapat digunakan, perubahan beban kerja yang diproyeksikandan memodifikasi petugas yang bertanggung jawab.
Pengujian terhadap system
Ø  Personil
· Personil ditempakan sudah sesuai dengan skill atau kemampuan yang dimilikinya
· Beban kerja yang optimum untuk masing masing personil
· Loyalitas atau kemamuan bekerja sama untuk menyelesaikan suatu kegiatan
· Kemampuan personil dalam menyelesaikan masalah

Ø  Pengujian kegiatan
· Prosedur dan system kerja yang sistematis
· Perencanaan yang terkontrol dan terjadwal
· Arah tujuan atau target ang dapat dilaksanakan sesuai dengan perencanaan
· Hasil kegiatan yang terukur
· Kesemimbangan kegiatan dengan bersarnya biaya yang digunakan

Ø  Pengujian misi atau tujuan
· Adanya integrasi antara personil yang terlibat dengan kegiatan yang dilaksanakn dalam mencapai target system
· Kwalitas dari kegiatan yang mewujudkan tujuan system

C.               PENGUJIAN PERANGKAT LUNAK

Pengujian perangkat lunak adalah elemen kritis dari jaminan kualitas perangkat lunak danmerepresentasikan spesifikasi, desain dan pengkodean.Meningkatnya visibilitas (kemampuan) perangkat lunak sebagai suatu elemen sistem dan “biaya” yang muncul akibat kegagalan perangkat lunak, memotivasi dilakukannya perencanaan yang baik melalui pengujian yang teliti. Pada dasarnya, pengujian merupakan satu langkah dalam proses rekayasa perangkat lunak yang dapat dianggap sebagai hal yang merusak daripada membangun.



   Dalam melakukan uji coba ada 2 masalah penting yang akan dibahas, yaitu :
A. Teknik Uji Coba Perangkat Lunak
Pada dasarnya, pengujian merupakan suatu proses rekayasa perangkat lunak yg dapat dianggap (secara psikologis) sebagai hal yg destruktif daripada konstruktif.
·        SASARAN PENGUJIAN (Glen Myers) :
1.      Pengujian adalah proses eksekusi suatu program dengan maksud menemukan   kesalahan.
2.      Test case yang baik adalah test case yg memiliki probabilitas tinggi untuk menemukan kesalahan yang belum pernah ditemukan sebalumnya.
3.       Pengujian yang sukses adalah pengujian yg mengungkap semua kesalahan yang belum pernah ditemukan sebelumnya.
·        PRINSIP PENGUJIAN (diusulkan Davis) :
1.   Semua pengujian harus dapat ditelusuri sampai ke persyaratan pelanggan.
2.   Pengujian harus direncanakan lama sebelum pengujian itu dimulai.
3.    Prinsip Pareto berlaku untuk pengujian perangkat lunak. Prinsip Pareto mengimplikasikan 80% dari semua kesalahan yg ditemukan selama pengujian sepertinya akan dapat ditelusuri sampai 20% dari semua modul program.
4.   Pengujian harus mulai "dari yg kecil" dan berkembang ke pengujian "yang besar".
5.    Pengujian yg mendalam tidak mungkin.
6.   Paling efektif, pengujian dilakukan oleh pihak ketiga yg independen.

·        TESTABILITAS

Testabilitas perangkat lunak adalah seberapa mudah sebuah program komputer dapat diuji.Karena pengujian sangat sulit, perlu diketahui apa yang dapat dilakukan untuk membuatnya menjadi mudah. Kadang-kadang pemrogram beresedia melakukan hal-hal yang akan membantuproses pengujian dan checklist mengenai masalah-masalah desai yang mudah, fitur dan lain sebagainya yang berguna dalam bernegosiasi dengan mereka.
Checklist berikut memberikan serangkaian karakteristik yang membawa kepada perangkat lunak yang dapat diuji :

v Operabilitas. “Semakin baik dia bekerja, semakin efisien dia dapat diuji”
1)     Sistem memiliki beberapa bug (bug menambah analisis dan biaya pelaporan keproses pengujian).
2)     Tidak ada bug yang memblok eksekusi pengujian
3)     Produk berkembang di dalam tahapan fungsional (memungkinkan pengemabngandan pengujian secara simultan)

v Observabilitas. “Apa yang Anda lihat adalah apa yang Anda uji”
1)     Output yang berbeda dikeluarkan oleh masing-masing input.
2)     Tahap dan variabel sistem dapat dilihat atau diantrikan selama eksekusi.
3)     Sistem dan variabel yang lalu dapat dilihat atau diantrikan (misal : log transaksi)
4)     Semua faktor yang mempengaruhi output dapat dilihat.
5)      Kesalahan itnernal dideteksi secara otomatis melalui mekanisme selftesting.
6)     Kesalahan internal dilaporkan secara otomatis.
7)      Kode sumber dapat diakses




v Kontrolabilitas. “Semakin baik kita dapat mengontrol perangkat luank, semakin banyak
pengujian yang dapat diotomatisasi dan dioptimalkan”
1)     Semua output yang mungkin dapat dimnculkan melalui beberapa kombinasi input.
2)     Semua kode dapat dieksekusi melalui berbagai kombinasi input.
3)      Keadaan dan varibale perangkat lunak dan perangkat keras dapat dikontrol secara langsung oleh perekayasa pengujian.
4)     Format input dan output konsistem dan terstruktur.
5)     Pengujian dapat dispesifikasi, dioptimasi dan direproduksi dengan baik.

v Dekomposabilitas. “Dengan mengontrol ruang lingkup pengujian, kita dapat dengan lebih cepat mengisolasi masalah dan melakuakn pengujian kembali secara lebih halus”
1)     Sistem perangkat luank dibangun dari modul-modul independen.
2)     Modul-modul perangkat lunak dapat diuji secara independen.

v Kesederhanaan. “Semakin sedikit yang diuji, semakin cepat kita dapat mengujinya”
1)     Kesederhanaan fungsional (seperti, kumpulan fitur adalah kebutuhan minimum
untuk memenuhi persyaratan).
2)     Kesederhanaan struktural (seperti, arsitektur dimodularisasi untuk membatasi
penyebaran kesalahan)
3)     Kesederhanaan kode (seperti, standar pengkodean diadopsi demi kemduahan
inspeksi dan pemeliharaan).
v Stabilitas. “Semakin sedikti perubahan, semakin sedikit ganggunan dalam pengujian”
1)     Pengujian ke perangkat lunak tidak sering.
2)     Perubahan ke perangkat lunak terkontrol.
3)     Perubahan ke perangkat lunak memvalidasi pengujian yang sudah ada.
4)     Kegagalan perangkat lunak dapat diperbaiki dengan baik
v Kemampuan untuk dapat dipahami. “Semakin banyak informasi yang kita miliki, semakin halus pengujian yang akan dilakukan”
1)     Desain dipahami dengan baik.
2)     Ketergantungan di antara komponen internal, eksternal dan yang dipakai bersama,dipahami dengan baik.
3)     Perubahan ke desai dikomunikasikan.
4)     Dokumentasi teknik dapat diakses dengan cepat.
5)     Dokumentasi teknis diorganisasikan dengan baik.
6)     Dokumentasi teknis spesifik dan detail.
7)     Dokumentasi teknis akurat
·        ATRIBUT PENGUJIAN YG BAIK :

Berikut adalah atribut-atribut pengujian yang baik:

*Memiliki probabilitas yg tinggi menemukan kesalahan.
* Tidak redundan.
* Harusnya ‘jenis terbaik’.
* Tidak boleh terlalu sederhana atau terlalu kompleks.




1.      Pengujian yang baik memiliki probabilitas yang tinggi untuk menemukan kesalahan. Untuk mencapai hal ini, penguji harus memahami perangkat lunak dan berusaha mengembangkan gambaran mental mengenai bagaimana perangkat lunak dapat gagal. Idealnya kelas-kelas kegagalan itu diselidiki. Sebagai contoh, kelas kegagalan potensial pada GUI adalah kegagalan untuk mengenali posisi mouse yang sesuai. Serangkaian pengujian akan dirancang untuk menguji mouse untuk memperlihatkan kesalahan didalam pengenalan posisi mouse.
2.      Pengujian yang baik tidak redudan. Waktu pengujian dan sumber daya terbatas. Tidak ada manfaatnya melakukan pengujian dengan tujuan yang sama dengan pengujian lainnya. Setiap pengujian harus memiliki tujuan yang berbeda.
3.      Pengujian yang baik seharusnya “jenis terbaik”. Dalam suatu kelompok pengujian yang memiliki tujuan yang serupa, batasan waktu  dan sumber daya dapat  menghalagi eksekusi hanya kelompok kecil dari pengujian tersebut. pada kasus semacam ini maka pengujian yang memiliki kemungkinan paling  besar untuk mengungkap seluruh kelas kesalahan yang tinggi harus digunakan.
4.      Pengujian yang baik tidak boleh terlalu sederhana atau terlalu kompleks. Secara umum masing-masing test case harus dieksekusi secara terpisah.

·        DESAIN TEST CASE:
                                I.            Pengujian white-box
                              II.            pengujian black-box
                            III.         Pengujian graph-based.
                           IV.            Integrasi Bottom-Up
                             V.            Integrasi Top-Down.
                           VI.            Uji Sistem.


I.            Pengujian white-box
Berfokus pada struktur control program. Test case dilakukan untuk memastikan bahwa semua statemen pada program telah dieksekusi paling tidak satu kali selama pengujian dan bahwa semua kondisi logis telah diuji. Pengujian basic path, tehnik pengujian white-box, menggunakan grafik (matriks grafiks) untuk melakukan serangkaian pengujian yang independent secara linear yang akan memastikan cakupan.

Pengujian aliran data dan kondisi lebih lanjut menggunakan logika program dan pengujian loop menyempurnakan tehnik white-box yang lain dengan memberikan sebuah prosedur untuk menguji loop dari tingkat kompleksitas yang bervariasi. Pengujian black-box didesain untuk mengungkap kesalahan pada persyaratan fungsional tanpa mengabaikan kerja internal dari suatu program. 



II.            Pengujian black-box.
Berfokus pada domain informasi dari perangkat lunak, dengan melakukan test case dengan menpartisi domain input dari suatu program dengan cara yang memberikan cakupan pengujian yang mendalam.

gambar perbandingan pengujian black box dan whitebox
III.            Pengujian graph-based.
Mengeksplorasi hubungan antara dan tingkah laku objek-objek program. Partisi ekivalensi membagi domain input ke dalam kelas data yang mungkin untuk melakukan fungsi perangkat lunak tertentu. Analisis nilai batas memeriksaa kemampuan program untuk menangani data pada batas yang dapat diterima.Metode pengujian yang terspesialisasi meliputi sejumlah luas kemampuan perangkat lunak dan area aplikasi. GUI, arsitektur client/ server, dokumentasi dan fasilitas help dan sistem real time masing-masing membutuhkan pedoman dan tehnik khusus untuk pengujian perangkat lunak.
IV.            Pengujian Integrasi Top-Down
Adalah pendekatan incremental dengan menggerakkan ke bawah melalui hirarki control, dimulai dengan control utama. Strategi intergrasi top-down memeriksa control mayor atau keputusan pada saat awal di dalam proses pengujian. Pada struktur program yang difaktorkan dengan baik, penarikan keputusan terjadi pada tingkat hirarki yang lebih tinggi sehingga terjadi lebih dulu.

Strategi top-down kelihatannya tidak sangat rumit, tetapi di dalam praktenya banyak menimbulkan masalah logistic. Biasanya masalah ini terjadi jika dibutuhkan pemrosesan di dalam hirarki pada tingkat rendah untuk menguji secara memadai tingkat yang lebih tinggi. 


V.            Pengujian Integrasi Bottom-up.

Memulai konstruksi dan pengujian dengan modul atomic (modul pada tingkat paling rendah pada struktur program). Karena modul diintegrasikan dari bawah ke atas, maka pemrosesan yang diperlukan untuk modul subordinate ke suatu tuingkat yang diberikan akan selalu tersedia dan kebutuhan akan stub dapat dieliminasi. Strategi integrasi bottom-up dapat diimplementasi dengan langkah-langkah:
  • modul tingkat rendah digabung ke dalam cluster (build) yang melakukan subfungsi perangkat lunak spesifik.
  • Driver (program control untuk pengujian) ditulis untuk mengkoordinasi input dan output test case
  • cluster diuji.
  • driver diganti dan cluster digabungkan dengan menggerakkannya ke atas di dalam struktur program.
VI.            Uji Sistem.

Uji sistem: Sistem software diuji keseluruhan. Ini memverifikasi semua elemen secara langsung untuk memastikan bahwa semua fungsi dan performance sistem diterima dalam lingkungan target.
Terbagi menjadi 4 bagian yaitu:
1.      Recovery Testing : sistem tes yang menekan software untuk gagal dengan cara yang bervariasi dan memverifikasi perbaikan sendiri dengan baik
2.      Security Testing : usaha untuk memverifikasi mekanisme perlindungan yang dibuat dalam sistem apakah akan melindunginya dengan semestinya.
3.      Stress Testing : didesain untuk menghadapi program dengan situasi abnormal.
4.      Pengujian instalasi : didesain untuk menguji prosedur instalasi dan software pendukungnya
Area fokus adalah:

— Fungsi dan performance system
— Reliability(ketersediaan) dan recoverability (kemampuan menutup/recovery test) system
— Instalasi (uji instalasi) system
— Perilaku pada kondisi tertentu (uji tekanan dan load) system
— Operasi user (acceptance test/alpha test/) system
— Integrasi dan kolaborasi hardware dan software
— Integrasi software eksternal dan sistem

B.STRATEGI UJI COBA PERANGKAT LUNAK
Strategi uji coba perangkat lunak memudahkan para perancang untuk menentukan keberhasilan system yg telah dikerjakan. Hal yang harus diperhatikan adalah langkah-langkah perencanaan dan pelaksanaan harus direncanakan dengan baik dan berapa lama waktu, upaya dan sumber daya yg diperlukan.

Strategi uji coba mempunyai karakteristik sbb :
* Pengujian mulai pada tingkat modul yg paling bawah, dilanjutkan dgn modul di atasnya kemudian hasilnya dipadukan.
* Teknik pengujian yang berbeda mungkin menghasilakn sedikit perbedaan (dalam hal waktu)
* Pengujian dilakukan oleh pengembang perangkat lunak dan (untuk proyek yang besar) suatu kelompok pengujian yang independen.
* Pengujian dan debugging merupakan aktivitas yang berbeda, tetapi debugging termasuk dalam strategi pengujian.
Pengujian perangkat lunak adalah satu elemen dari topik yang lebih luas yang sering diacu sebagai verifikasi dan validasi (V& V).
Verifikasi : Kumpulan aktifitas yg menjamin penerapan perangkat lunak benar-benar sesuai dgn fungsinya.
Validasi : Kumpulan aktivitas yang berbeda yang memastikan bahwa perangkat lunak yang dibangun dapat memenuhi keperluan pelanggan.
1. PENGUJIAN UNIT
Unit testing (uji coba unit) fokusnya pada usaha verifikasi pada unit terkecil dari desain perangkat lunak, yakni modul. Uji coba unit selalu berorientasi pada white box testing dan dapat dikerjakan paralel atau beruntun dengan modul lainnya.
2. PENGUJIAN INTEGRASI
Pengujian terintegrasi adl teknik yg sistematis untuk penyusunan struktur program, pada saat bersamaan dikerjakan uji coba untuk memeriksa kesalahan yg nantinya digabungkan dengan interface.

Metode pengujian
a) top down integration
b) buttom up integration
a)      Pengujian integrasi top down(top down integration)

Top down integration adalah pendekatan incremental dengan menggerakkan ke bawah melalui hirarki control, dimulai dengan control utama. Strategi intergrasi top-down memeriksa control mayor atau keputusan pada saat awal di dalam proses pengujian. Pada struktur program yang difaktorkan dengan baik, penarikan keputusan terjadi pada tingkat hirarki yang lebih tinggi sehingga terjadi lebih dulu.
Strategi top-down kelihatannya tidak sangat rumit, tetapi di dalam praktenya banyak menimbulkan masalah logistic. Biasanya masalah ini terjadi jika dibutuhkan pemrosesan di dalam hirarki pada tingkat rendah untuk menguji secara memadai tingkat yang lebih tinggi.


b)     Pengujian Integrasi Bottom-up (buttom up integration)

Bottom up integration memulai konstruksi dan pengujian dengan modul atomic (modul pada tingkat paling rendah pada struktur program). Karena modul diintegrasikan dari bawah ke atas, maka pemrosesan yang diperlukan untuk modul subordinate ke suatu tuingkat yang diberikan akan selalu tersedia dan kebutuhan akan stub dapat dieliminasi. Strategi integrasi bottom-up dapat diimplementasi dengan langkah-langkah:
1.      Modul tingkat rendah digabung ke dalam cluster (build) yang melakukan subfungsi perangkat lunak spesifik.
2.      Driver (program control untuk pengujian) ditulis untuk mengkoordinasi input dan output test case
3.      Cluster diuji
4.      Driver diganti dan cluster digabungkan dengan menggerakkannya ke atas di dalam struktur program.
Karakteristik utama dari pengujian perangkat lunak :
  • Formal-Rencana uji perangkat lunak merupakan bagian dari pengembangan proyek dan rencana mutu,    dijadwalkan di muka dan item sentral muncul dalam perjanjian pembuatan perangkat lunak yang ditandatangani antara pelanggan dan pengembang. Dengan kata lain,  pengujian perangkat lunak secara ad hoc oleh rekan atau pemeriksaan berkala oleh pemimpin tim pemrograman tidak dapat dianggap sebagai tes perangkat lunak.
  • Tim penguji khusus – Sebuah tim independen atau eksternal konsultan yang mengkhususkan diri dalam pengujian ditugaskan untuk melaksanakan tugas ini terutama dalam rangka untuk menghilangkan bias dan untuk menjamin pengujian yang efektif oleh para profesional terlatih. Selain itu, secara umum diterima bahwa tes yang dilakukan oleh pengembang sendiri akan menghasilkan hasil yang buruk, sebagai individu yang mengembangkan produk asli akan menemukan kesulitan untuk mengungkapkan kesalahan yang mereka tidak diidentifikasikan lebih awal. Namun, unit test terus dilakukan oleh pengembang di banyak organisasi.
  • Menjalankan program – Segala bentuk kegiatan jaminan kualitas yang tidak melibatkan menjalankan perangkat lunak, untuk pemeriksaan contoh kode, tidak dapat dianggap sebagai kegiatan ujian
  • Prosedur pengujian disetujui – Proses pengujian yang dilakukan berdasarkan suatu rencana uji dan prosedur pengujian yang telah disetujui sebagai sesuai dengan prosedur SQA diadopsi oleh organisasi yang berkembang
  • Uji kasus disetujui – kasus uji yang akan diperiksa didefinisikan secara penuh oleh rencana uji. Tidak ada kelalaian atau penambahan diharapkan terjadi selama pengujian. Dengan kata lain, sekali proses telah dimulai, Penguji tidak diperkenankan untuk menerapkan kebijaksanaan dengan menghilangkan batu ujian jika dianggap berlebihan atau dengan menambahkan ujian baru, meskipun mungkin menjanjikan.

D. LANGKAH-LANGKAH PENGUJIAN
1.      Langkah-langkah yang seharusnya dilakukan ketika melakukan pengujian, adalah :
Menentukan apa yang akan diukur melalui pengujian
2.      Menentukan bagaimana pengujian akan dilaksanakan
3.      Membangun suatu kasus uji (test case), yaitu sekumpulan data atau situasi yang akan digunakan dalam pengujian.
4.      Menentukan hasil yang diharapkan atau hasil sebenarnya
5.      Menjalankan kasus pengujian
6.      Membandingkan hasil pengujian dan hasil yang diharapkan.
Ketika akan melakukan pengujian terdapat beberapa hal yang harus diperhatikan, yaitu:
1.      Menspesifikasikan kebutuhan (requirement) produk dalam bentuk yang dapat diukur (quantifiable) jauh sebelum pengujian dimulai.
2.      Menyatakan tujuan pengujian secara eksplisit.
3.      Memahami pengguna perangkat lunak dan membuat profil dari tiap kategori pengguna.
4.      Membuat rencana pengujian yang menekankan pada rapid cycle testing.
5.      Membuat perangkat lunak robust yang dapat menguji dirinya sendiri.
6.      Menggunakan formal technical review sebagai penyaring sebelum pengujian dilakukan.
7.      Menggunakan formal technical review untuk menilai strategi pengujian dan kasus uji.
8.      Mengembangkan ancangan peningkatan berlanjut untuk proses pengujian.
Di awal melakukan pengujian, hal pertama yang harus dilakukan adalah membuat
rencana pengujian, yang mencakup hal-hal berikut :

·        Proses testing : Mendeskripsi fase-fase utama dalam pengujian
·        Pelacakan Kebutuhan : Menentukan semua kebutuhan user yang akan diujikan secara individu
·        Item yg diuji : Menspesifikasi komponen sistem yang diuji
·         Jadwal testing
·        Prosedur Pencatatan Hasil dan Prosedur
·        Kebutuhan akan Hardware dan Software
·        Kendala-kendala

E. TUJUAN PENGUJIAN
Ø  Testing dilakukan untuk memastikan mutu dari suatu produk yaitu menguji apakah produk (dalam hal ini system informasi) yang dihasilkan telah sesuai dengan mutu yang dipersyaratkan. Testing dilakukan untuk memastikan atau menjaga mutu suatu produk
Ø  Testing merupakan proses analisa dan entitas software, pada testing ini bertujuan untuk mendeteksi adanya perbedaan antrar kondisi software yang ada dengan kondisi yang diinginkan, untuk melihat kerusakan suatu produk melakukan evaluasi fitur fitur dari software.

Tujuan Langsung :
  • Untuk mengidentifikasi dan mengungkapkan sebagai kesalahan sebanyak mungkin  dalam perangkat lunak yang diuji.
  • Untuk membawa perangkat lunak diuji, setelah memperbaiki kesalahan yang diidentifikasi dan melakukan pengujian ulang, pada tingkat kualitas yang memadai.
  • Untuk melakukan tes yang diperlukan secara efisien dan efektif, dalam keterbatasan anggaran dan penjadwalan.
Tujuan Tidak Langsung :
  • Untuk menyusun catatan kesalahan perangkat lunak untuk digunakan dalam pencegahan kesalahan (dengan tindakan perbaikan dan pencegahan).


DAFTAR PUSTAKA

1.      B. Beizer,1990,Software Testing techniques,2nd Edition, Van Nostrand Reinhold.
2.      Glen Myers,1979,The Art of Software Testing,Wiley
3.      Langkah Pengujian, https://rifq221091.wordpress.com/2014/01/03/langkah-pengujian/, 14/10/2014

9.      Tahapan Pengujian, https://rifq221091.wordpress.com/2014/01/03/tahapan-pengujian/, 23/10/2014

7 komentar:

  1. terima kasih, sangat bermanfaat

    BalasHapus
  2. Komentar ini telah dihapus oleh pengarang.

    BalasHapus
  3. Komentar ini telah dihapus oleh pengarang.

    BalasHapus
  4. Komentar ini telah dihapus oleh pengarang.

    BalasHapus
  5. Halo kak, terimakasih artikelnya... ini sangat membantu saya dalam menyelesaikan tugas kuliah saya. oh ya kak, perkenalkan nama saya Nurhamimah dan jangan lupa kunjungi website kampus saya ISB Atma Luhur

    BalasHapus