Dosen Pengampu: Anief Fauzan Rozi, S.Kom., M.Eng. Phone/WA: 0856 4384 6541 PIN BB: 29543EC4 Email:
[email protected] Website: http://anief.mercubuana-‐yogya.ac.id
3/17/16
Testing dan Audit Perangkat Lunak -‐ Universitas Mercu Buana Yogyakarta
1
¡ Mahasiswa mengetahui dasar-‐dasar testing
3/17/16
Testing dan Audit Perangkat Lunak -‐ Universitas Mercu Buana Yogyakarta
2
¡ tujuan testing ¡ obyektifitas testing ¡ misi tim testing
¡ psikologi testing ¡ prinsip-‐prinsip testing ¡ moto testing
3/17/16
Testing dan Audit Perangkat Lunak -‐ Universitas Mercu Buana Yogyakarta
3
Testing/pengujian adalah pengeksekusian program dengan tujuan untuk menemukan error. 2. Test case yang bagus adalah test case yang memiliki kemungkinan terbesar untuk menemukan error yang tersembunyi. 3. Test yang sukses adalah test yang berhasil menemukan error yang belum tersembunyi. ¡ Kesimpulan: Tujuan kita adalah mendesain pengujian/test yang secara sistematis akan membuka berbagai macam jenis error, dengan waktu dan tenaga yang seminimum mungkin. 1.
3/17/16
Testing dan Audit Perangkat Lunak -‐ Universitas Mercu Buana Yogyakarta
4
¡ 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 mendeteksi error secara dini. 3/17/16
Testing dan Audit Perangkat Lunak -‐ Universitas Mercu Buana Yogyakarta
5
¡ Mencari error dan kelemahan atau
keterbatasan sistem. ¡ Mencari sejauh apa kemampuan dari sistem. ¡ Menyediakan informasi kualitas dari produk software.
3/17/16
Testing dan Audit Perangkat Lunak -‐ Universitas Mercu Buana Yogyakarta
6
Misi dari Tim Testing tidak hanya untuk melakukan testing, tapi juga untuk membantu meminimalkan resiko kegagalan proyek. ¡ Tester mencari masalah yang potensial dan kehadiran dari masalah. ¡ Tester mengeksplorasi, mengevaluasi, melacak dan melaporkan kualitas produk, sehingga personil project lainnya dapat membuat keputusan terhadap pengembangan produk. ¡
3/17/16
Testing dan Audit Perangkat Lunak -‐ Universitas Mercu Buana Yogyakarta
7
¡ Tester tidak melakukan pembenahan/
perbaikan atau pembedahan kode. ¡ Tester tidak mempermalukan atau melakukan komplain kepada suatu individu atau tim, hanya menginformasikan. ¡ Tester adalah individu yang memberikan hasil pengukuran dari kualitas produk.
3/17/16
Testing dan Audit Perangkat Lunak -‐ Universitas Mercu Buana Yogyakarta
8
Testing dilakukan secara destruktif. Seorang pengembang bertugas membangun, sedangkan tester justru berusaha untuk menghancurkan. ¡ Tester harus mempunyai keinginan yang mendasar untuk membuktikan kegagalan kode, dan melakukan apa saja untuk membuatnya gagal. ¡ Bila seorang tester hanya ingin membuktikan bahwa kode beraksi sesuai dengan fungsi bisnisnya, maka tester tersebut telah gagal dalam menjalankan tugasnya. ¡ ¡
3/17/16
Testing dan Audit Perangkat Lunak -‐ Universitas Mercu Buana Yogyakarta
9
¡ 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 3/17/16
Testing dan Audit Perangkat Lunak -‐ Universitas Mercu Buana Yogyakarta
10
¡ Testing yang komplit secara menyeluruh
tidak mungkin, karena jumlah kemungkinan kombinasi test case yang amat besar. ¡ Oleh karena itu digunakan prioritas dalam memilih kondisi yang akan dites. ¡ Yang mungkin dilakukan adalah testing logika dari program dan yakinkan semua kondisi dari semua level komponen telah diperiksa. 3/17/16
Testing dan Audit Perangkat Lunak -‐ Universitas Mercu Buana Yogyakarta
11
Untuk melakukan testing secara efektif, harus mengetahui keseluruhan sistem. Sedangkan sistem itu tidak sederhana atau tidak mudah dipahami. ¡ Untuk dapat sukses melakukan testing dibutuhkan hal-‐hal sbb: ¡
§ § § § 3/17/16
Kreatifitas Pengetahuan Bisnis Pengalaman testing Metodologi Testing Testing dan Audit Perangkat Lunak -‐ Universitas Mercu Buana Yogyakarta
12
¡ Salah satu obyektifitas dari testing adalah
memperbaiki error. ¡ Semua testing harus dapat dilacak dan memenuhi kebutuhan konsumen. ¡ Hal-‐hal yang tidak sesuai menurut pandangan konsumen (karena tidak sesuai kebutuhan) adalah sebuah kesalahan (fault)
3/17/16
Testing dan Audit Perangkat Lunak -‐ Universitas Mercu Buana Yogyakarta
13
¡ Walaupun testing secara keseluruhan tidak
mungkin, namun tidak berarti bahwa testing yang efektif tidak dapat dilakukan. ¡ Oleh sebab itu testing adalah hasil pertimbangan dari resiko dan ekonomi.
3/17/16
Testing dan Audit Perangkat Lunak -‐ Universitas Mercu Buana Yogyakarta
14
¡ Testing merupakan hasil pertimbangan tarik
ulur dari empat faktor:
§ Sumber daya dan biaya yang dibutuhkan untuk
melakukan testing berdasarkan pada skala prioritas, kompleksitas dan kesulitan testing. § Biaya yang diakibatkan keterlambatan pengiriman produk (dimana salah satu kemungkinan penyebabnya adalah testing) § Kemungkinan adanya suatu defect. § Biaya yang disebabkan oleh defect. 3/17/16
Testing dan Audit Perangkat Lunak -‐ Universitas Mercu Buana Yogyakarta
15
¡ Rencana Tes (Test Plan): Dokumen yang
mencakup keseluruhan dari tujuan testing dan pendekatan testing. ¡ Disain Tes (Test Design): Dokumen yang mendefinisikan apa yang telah dipilih untuk dites dan menjelaskan hasil yang diharapkan. Rencana Tes
Desain Tes
Pernyataan tujuan testing
Spesifikasi tes yang dikembangkan
Deskripsi pendekatan tes
Deskripsi pengelompokan tes
Sekumpulan tugas untuk mencapai tujuan testing 3/17/16
Testing dan Audit Perangkat Lunak -‐ Universitas Mercu Buana Yogyakarta
16
¡ Testing yang paling efektif harus dilakukan
oleh pihak ketiga. ¡ Tester yang independen (tak tergantung/ bebas): § Pengamat yang tidak bias (tidak subjektif).
§ Orang yang bertujuan untuk mengukur kualitas
software secara akurat.
3/17/16
Testing dan Audit Perangkat Lunak -‐ Universitas Mercu Buana Yogyakarta
17
¡ Kunci yang mempengaruhi kinerja testing
adalah sebagai berikut:
§ Wawasan dan kreatifitas tiap individu yang
terlibat. § Pengetahuan dan pemahaman terhadap aplikasi yang dites. § Pengalaman testing. § Metodologi testing yang digunakan. § Usaha dan sumber daya yang dipakai. 3/17/16
Testing dan Audit Perangkat Lunak -‐ Universitas Mercu Buana Yogyakarta
18
¡
Moto Testing -‐ Myers (1976):
§ Test case yang bagus adalah test case yang
mempunyai kemungkinan tinggi dalam mendeteksi defect yang sebelumnya belum ditemukan, bukan yang dapat memperlihatkan bahwa program telah bekerja dengan benar. § Satu dari banyaknya permasalahan dalam testing adalah bagaimana mengetahui kapan saatnya untuk berhenti melakukan testing. § Tidak mungkin mengetes program sendiri § Bagian yang dibutuhkan dari tiap test case adalah deskripsi keluaran (output) yang dikeluarkan 3/17/16
Testing dan Audit Perangkat Lunak -‐ Universitas Mercu Buana Yogyakarta
19
§ Hindari testing yang tidak produktif atau diawang-‐
awang § Tulis test case untuk kondisi yang valid dan tidak valid § Inspeksi hasil dari tiap tes § Semakin meningkatnya jumlah defect yang terdeteksi dari suatu bagian program, kemungkinan dari keberadaan defect yang tak terdeteksi juga meningkat. § Tunjuklah programer terbaik untuk melakukan testing § Pastikan bahwa testabilitas adalah suatu objective penting dalam desain software. 3/17/16
Testing dan Audit Perangkat Lunak -‐ Universitas Mercu Buana Yogyakarta
20
3/17/16
Testing dan Audit Perangkat Lunak -‐ Universitas Mercu Buana Yogyakarta
21