7013T  ‐  Advanced Software Engineering 

 

LECTURE NOTES

TEST PERANGKAT LUNAK

Abdul Aziz, Ir. MSc., PhD e-mail: abdulazizpro@yahoo. com

 

7013T  ‐  Advanced Software Engineering 

 

Tujuan Pembelajaran Setelah membaca bab ini, mahasiswa akan mempunyai kemampauan: Melakukan serangkaian test perangkat lunak untuk produk perangkat lunak tertentu

Topik Bahasan • • • •

Test pengembangan Pengembangan Test-driven Test Pelepasan (Release Testing) Test Pengguna (User Testing)

 

7013T  ‐  Advanced Software Engineering 

 

ISI Sering perangkat lunak mengandung kesalahan (error) pada proses-proses tertentu pada saat perangkat lunak sudah berada di tangan pengguna (user). Kesalahan-kesalahan (error) pada perangkat lunak ini sering disebut dengan "bug". Untuk menghindari banyaknya bug maka diperIukan adanya pengujian perangkat lunak sebelum perangkat lunak diberikan ke pelanggan atau selama perangkat lunak masih terus dikembangkan. Adanya bug adalah suatu yang biasa, bahkan di sebuah perangkat lunak yang sudah besar dan terkenal pun biasanya masih ada bug, sehingga tidak perIu merasa tersinggung atau bersedih jika masih ditemukan bug pada perangkat lunak yang dikembangkan. Yang bisa dilakukan pengembang perangkat lunak adalah meminimalisasi bug dengan melakukan pengujian. Kelakuan perangkat lunak yang tidak sesuai dengan spesifikasi yang dibutuhkan bisa dianggap sebagai bug. Pengujian diperlukan tidak hanya untuk meminimalisasi kesalahan secara teknis tapi juga kesalahan nonteknis (misalnya pengujian pesan kesalahan sehingga user tidak bingung atau tidak mengerti dengan pesan kesalahan yang muncul, atau juga jika masukan dan keluaran yang diperlukan berkapasitas sangat besar). Pengujian adalah satu set aktifitas yang direncanakan dan sistematis untuk menguji atau mengevaluasi kebenaran yang diinginkan. Aktifitas pengujian terdiri dari satu set atau sekumpulan langkah di mana dapat menempatkan desain kasus uji yang spesifik dan metode pengujian. Secara umum pola pengujian pada perangkat lunak adalah sebagai berikut: • Pengujian dimulai dari level komponen hingga integrasi antarkomponen menjadi sebuah sistem. • Teknik pengujian berbeda-beda sesuai dengan berbagai sisiatau unit uji dalam waktu yang berbeda-beda pula bergantung pada pengujian pada bagian mana yang dibutuhkan. • Pengujian dilakukan oleh pengembang perangkat lunak, dan jika untuk proyek besar, pengujian bisa dilakukan oleh tim uji yang tidak terkait dengan tim pengembang perangkat lunak (independent test group (ITG)). • Pengujian dan penirkutuan (debugging) merupakan aktifitas yang berbeda, tapi penirkutuan (debugging) harus diakomodasi pada berbagai strategi pengujian. Pengujian lebih fokus untuk mencari adanya kesalahan (error) baik dari sudut pandang orang secara umum atau dari sudut pandang pengembang tanpa harus menemukan lokasi kesalahan pada kode program. Penirkutuan (debugging) adalah proses mencari lokasi kesalahan (error) pada kode program sehingga dapat segera diperbaiki oleh pembuat program (programmer).

Pengujian Program (Program Testing) •

Pengujian (testing) dimaksudkan untuk memperlihatkan bahwa suatu program melakukan

 

7013T  ‐  Advanced Software Engineering 

 

• • • •

apa yang seharusnya dilakukan dan untuk menemukan kesalahan/kekurangan program sebelum dia digunakan. Ketika Anda menguji perangkat lunak, Anda menjalankan program menggunakan data tiruan (artificial data). Anda menngecek hasil dari test dengan menjalankan untuk mencari kesalahan, keganjilan atau informasi tentang atribut program yang belum berfungsi. Dapat mengungkapkan adanya kesalahan bukan ketidak hadirannya. Pengujian merupakan bagian dari bentuk umum proses verifikasi dan validasi, yang juga termasuk teknik validasi statis.

Tujuan Pengujian Program •



Untuk menunjukkan ke pengembang dan pelanggan agar perangkat lunak memenuhi kebutuhannya. o Untuk perangkat lunak yang dikustomisasi, sebaiknya minimal satu kali pengujian untuk setiap kebutuhan yang tercantum dokumen kebutuhan. Untuk produk perangkat lunak umum, sebaiknya pengujian untuk seluruh fitur sistem, ditambah kombinasi dari fitur-fitur tersebut, yang akan digabungkan pada pelepasan produk. Untuk menemukan keadaan dimana perilaku dari perangkat lunak adalah salah, tidak diinginkan atau tidak sesuai dengan spesifikasinya. o Pengujian kerusakan (defect) berkaitan dengan membasmi perilaku sistem yang tidak diinginkan seperti sistem crashes, interaksi yang tidak dikehendaki dengan sistem lain, perhitungan salah dan kesalahan data (data corruption).

Pengujian perangkat lunak adalah sebuah elemen sebuah topik yang memiliki cakupan luas dan sering dikaitkan dengan verifikasi (verification) dan validasi (validation) (V&V). Verifikasi mengacu pada sekumpulan aktifitas yang menjamin bahwa perangkat lunak mengimplementasikan dengan benar sebuah fungsi yang spesifik. Validasi mengacu pada sekumpulan aktifitas yang berbeda yang menjamin bahwa perangkat lunak yang dibangun dapat ditelusuri sesuai dengan kebutuhan pelanggan (customer). Dapatjuga dikatakan sebagai berikut: • Verifikasi: "Apakah produk dibangun dengan benar?" (lebih ke arah apakah proses pengembangan produk sudah benar dan telah berhasil mengimplementasikan fungsi yang benar) • Validasi: "Apakah sudah membangun produk yang benar?" (lebih ke arah hasil produk apakah sudah sesuai dengan yang diinginkan) Verifikasi dan validasi meliputi beberapa aktifitas yang sering disebut sebagai jaminan kualitas perangkat lunak (Software Quality Assurance (SQA)). Verifikasi dan validasi mencakup lingkup yang luas dari aktifitas SQA yang di dalamnya termasuk peninjauan teknis formal, audit kualitas dan konfigurasi, performansi pengawasan (monitoring), simulasi, studi kemungkinan (feasibility), peninjauan dokumentasi, peninjauanbasis data, analisis algoritma, pengujian proses pengembangan perangkat lunak, pengujian kualifikasi, dan pengujian instalasi. Untuk melakukan pengujian diperlukan pendefinisian kasus uji (test case) yang jelas.

 

7013T  ‐  Advanced Software Engineering 

 

Pengujian untuk verifikasi dilakukan mulai dari lingkup yang keeil naik ke lingkup yang besar seperti pada gambar berikut:

Gambar 7.1 Hirarki Pengujian Sistem 

Gambar di atas menunjukkan tahap pengujian pada level program di tanganpengembang perangkat lunak. Tahapan pengujian yang secara keseluruhan adalah sebagai berikut:

Gambar 7.2 Pengujiari perangkat lunak

Pengujian diawali dari pengujian unit. Unit di sini bisa berupa kumpulan fungsi atau prosedur yang memiliki keterkaitan pada pemrograman terstruktur (misalkan unit untuk menuliskan atau membaca data di basis data) atau kelas pada pemrograman berorientasi objek. Unit juga dapat berupa modul atau dikenal juga sebagai package. Setelah unit-unit diuji maka dilakukan pengujian integrasi. Pengujian integrasi sebaiknya dilakukan secara bertahap, tidak dilakukan secara satu tahap langsung di akhir untuk menghindari kesulitan penelusuran jika terjadi kesalahan (error). Pengujian integrasi lebih pada pengujian penggabungan dari dua atau lebih unit pada perarigkat lunak. Setelah pengujian integrasi maka

 

7013T  ‐  Advanced Software Engineering 

 

dilakukan pengujian sistem dimana unitunit proses yang sudah diintegrasi diuji dengan antarmuka yang sudah dibuat sehingga pengujian ini dimaksudkan untuk menguji sistem perangkat lunak secara keseluruhan dan diuji secara satu sistem (tidak terpisah-pisah lagi). Setelah pengujian sistem selesai dilakukan maka dapat dilakukan pengujian penerimaan perangkat lunak oleh pelanggan (customer) atau user (pemakai perangkat lunak). Pengujian penerimaan digunakan untuk mengetahui kepuasan pelanggan atau user terhadap perangkat lunak yang sudah dibuat. Jika pelanggan sudah puas dengan perangkat lunak, maka perangkat lunak dapat di serahkan kepada pelanggan (customer). I Pengujian untuk validasi memiliki beberapa pendekatan sebagai berikut:



ο

Pengujian Kotak Hitam (Black-Box Testing) yaitu menguji perangkat lunak dari segi spesifikasi fungsional tanpa menguji desain dan kode program. Pengujian dimaksudkan untuk mengetahui apakah fungsi-fungsi, masukan, dan keluaran dari perangkat lunak sesuai dengan spesifikasi yang dibutuhkan.

Pengujian kotak hitam dilakukan dengan membuat kasus uji yang bersifat mencoba semua fungsi dengan memakai perangkat lunak apakah sesuai dengan spesifikasi yang dibutuhkan. Kasus uji yang dibuat untuk melakukan pengujian kotak hitam harus dibuat dengan kasus benar dan kasus salah, misalkan untuk kasus proses login maka kasus uji yang dibuat adalah: jika user memasukkan nama pemakai (username) dan kata sandi (password) yang benar ο jika user memasukkan nama pemakai (username) dan kata sandi (password) yang salah, misalnya nama pemakai benar tapi kata sandi salah, atau sebaliknya, atau keduanya salah.



Pengujian Kotak Putih (White-Box Testing) yaitu menguji perangkat lunak dari segi desain dan kode program apakah mampu menghasilkan fungsi-fungsi, masukan, dan keluaran yang sesuai dengan spesifikasi kebutuhan. Pengujian kotak putih dilakukan dengan memeriksa lojik dari kode program. Pembuatan kasus uji bisa mengikuti standar pengujian dari standar pemrograman yang seharnsnya. Contoh dari pengujian kotak putih misalkan menguji aIur (dengan menelusuri) pengulangan (looping) pada logika pemrograman seperti ilustrasi berikut:

 

7013T  ‐  Advanced Software Engineering 

 

Gambar 7.3  Contoh Pengujian Kotak Putih

Pengujian terhadap dokumentasi yang dibuat juga harus dilakukan agar dokumentasi yang dibuat tetap konsisten dengan perangkat lunak yang dibuat.

Pengujian Unit Pengujian unit fokus pada usaha verifikasi pada unit yang terkecil pada desain perangkat lunak (komponen atau modul perangkat lunak). Setiap unit perangkat lunak diuji agar dapat diperiksa apakah aliran masukan (input) dan keluaran (output) dari unit sudah sesuai dengan yang diinginkan. Pengujian unit biasanya dilakukan saat kode program dibuat. Karena dalam sebuah perangkat lunak banyak memiliki unit-unit kecil maka untuk menguji unit-unit kecil ini biasanya dibuat program kecil (main program) untuk menguji unit-unit perangkat lunak. Unit di sini secara fisik dapat berupa prosedur atau fungsi, sekumpulan prosedur atau fungsi yang ada dalam satu berkas (file) jika dalam pemrograman terstruktur, atau kelas, bisa juga kumpulan kelas dalam satu package dalam pemrograman berorientasi objek. Contoh pengujian unit adalah sebagai berikut:

 

7013T  ‐  Advanced Software Engineering 

 

Gambar 7.4 Contoh Pengujian Unit 

Setiap unit diuji menggunakan sebuah program pengujian yang khusus dibuat untuk menguji sebuah unit menggunakan kumpulan kasus uji yang didefinisikan.

Pengujian Integrasi Pengujian integrasi adalah sebuah teknis yang sistematik untuk mengonstruksi struktur program seiring dengan menggabungkan fungsi program dengan antarmukanya. Pengujian terintegrasi bertujuan untuk mempergunakan komponen unit program yang sudah diuji dan membangun struktur seperti yang telah didesain sebelumnya. Ada sebuah kecenderungan pada pengujian integrasi di mana integrasi tidak dilakukan secara bertahap, tapi langsung dilakukan pada akhir pengembangan perangkat lunak ("big bang"). Dengan menggunakan pendekatan "big bang" sebuah sistem diuji seeara kesatuan sehingga sering ketika terjadi kesalahan (error) akan menemui kesulitan menemukan dimana letak kesalahan (error) yang terjadi. Integrasi secara bertahap (incremental integration) merupakan kebalikan dari pendekatan "big bang". Program dikonstruksi dan diuji secara bertahap sehingga kesalahan (error) yang terjadi lebih mudah diketahui letak kesalahannya dan diperbaiki. Antarmuka juga harus diuji secara lengkap sehingga diperlukan sebuah pengujian yang sistematis untuk menguji antarmuka beserta fungsi-fungsinya. Pengujian integrasi memiliki beberapa tipe strategi pengujian seperti sebagai berikut: • pengujian integrasi dari atas ke bawah (top-down integration) • pengujian integrasi dari bawah ke atas (bottom-up integration) • pengujian integrasi regresi (regression integration) • pengujian integr<;tsi "asap" (smoke integration) • pengujian integrasi"roti isi" (sandwich integration) yaitu mengombinasikan lebih dari satu strategi pengujian integrasi (misalnya pengujian dari atas ke bawah dan pengujian dari bawah ke atas)

 

7013T  ‐  Advanced Software Engineering 

 

SIMPULAN • • •

Pengujian hanya memperlihatkan adanya kesalahan dalam suatu program. Ini tidak dapat mempertunjukkan tidak adanya sisa kesalahan. Pengujian pengembangan adalah tanggungjawab dari Tim pengembangan perangkat lunak. Tim terpisah lainnya sebaiknya bertanggung-jawab untuk menguji sistem sebelum ini dilepaskan ke pelanggan. Pengujian pengembangan termasuk pengujian unit, dimana Anda menguji setiap objek dan metode-metode pengujian komponen dimana Anda menguji group objek terkait dan pengujian sistem, dimana Anda menguji sistem secara parsial atau lengkap.

 

7013T  ‐  Advanced Software Engineering 

 

DAFTAR PUSTAKA Ian Sommerville (2010), Software Engineering, chapter 8, 9th edition, Pearson. USA. ISBN: 978-0-13-705346-9. Sumber lain: http://www.acm.org/about/se-code http://www.computer.org/cms/Computer.org/Publications/code-of-ethics.pdf

 

7013T - LN6 - S7- R0.pdf

LECTURE NOTES. TEST PERANGKAT LUNAK. Abdul Aziz, Ir. MSc., PhD. e-mail: abdulazizpro@yahoo. com. Whoops! There was a problem loading this page.

183KB Sizes 4 Downloads 155 Views

Recommend Documents

S7.pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. S7.pdf. S7.pdf.

S7.pdf
L'effet du système tampon est plus efficace si la concentration en chacune des ... en montrant l'intérêt de l'effet tampon dans le cas. du sang. Page 2 of 2. S7.pdf.

VF-S7 Manual.pdf
Page 3 of 61. Page 3 of 61. VF-S7 Manual.pdf. VF-S7 Manual.pdf. Open. Extract. Open with. Sign In. Main menu. Displaying VF-S7 Manual.pdf. Page 1 of 61.

Cheap 2-set for Samsung S7 S7 Edge Phone Back Rear Camera ...
Cheap 2-set for Samsung S7 S7 Edge Phone Back Rear ... m Fingerprint Tempered Glass Films freeshipping.pdf. Cheap 2-set for Samsung S7 S7 Edge Phone ...

doctor who s7.pdf
First full doctor who series 8 trailer. released. Doctor who series 7 part 2 theme hd youtube. Doctor who? on pinterest rose tyler, david tennant and matt smith.

pilz pnoz s7 pdf
Page 1 of 1. File: Pilz pnoz s7 pdf. Download now. Click here if your download doesn't start automatically. Page 1. pilz pnoz s7 pdf. pilz pnoz s7 pdf. Open.

CPU dòng Fail-safe S7-1500.pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. CPU dòng ...

Huong dan su dung Simulation S7-200.pdf
Page 1 of 4. Trường TCN KTCN Hùng VÆ°Æ¡ng TT CÆ¡ Điện Tá»­. K.SÆ° Trần Văn Hiếu. Email: [email protected]. 161 – 165 Nguyễn Chí Thanh Phường 12 Quận 5 TP.HCM. HƯỚNG DẪN SỬ DỤNG SIMULATION S7-200. Bước 1: V

PDF Books Automating with SIMATIC S7-1500 ...
Programming and Testing with STEP 7 Professional - eBooks .... In the book, the hardware components of the automation system S7-1500 are presented ...