Rekayasa Perangkat Lunak Metode Pengujian Perangkat Lunak

Slides:



Advertisements
Presentasi serupa
TEKNIK PENGUJIAN PERANGKAT LUNAK
Advertisements

DASAR-DASAR PENGUJIAN PERANGKAT LUNAK
BAB 8 PENGUJIAN PERANGKAT LUNAK
Implementation & Testing Eri Prasetyo Bahan Kuliah MM Sistem Informasi Sources : -Juha Roning, Marko Laakso, Ari takanen, Oulu university,
REKAYASA PERANGKAT LUNAK
Testing.
Teknik Pengujian Perangkat Lunak
Rekayasa Perangkat Lunak
Pengujian Black-Box.
TEKNIK PENGUJIAN PERANGKAT LUNAK
PERANCANGAN KASUS UJI.
Testing dan Implementasi
Dasar-dasar Pengujian Perangkat Lunak
Testing Levels. Activities of Test Engineer Test engineer is an information technology professional who is in charge of ane or more technical test activities,
Pertemuan 5 PENGUJIAN WHITE BOX.
TEKNIK TESTING DAN STRATEGI TESTING
Pertimbangan Praktis Tahap Testing Sistem (Lanjutan I )
Metode Pengujian Perangkat Lunak (Black Box)
Tahap Testing Sistem (Lanjutan I )
Proses defect testing.
VALIDASI SOFTWARE (Nelly Sofi).
Strategi Pengujian Perangkat Lunak
Testing & Implementasi Sistem Fungsional Testing
Tim RPL Teknik Informatika 2017
BAB 1 PENGUJIAN PERANGKAT LUNAK
TEKNIK-TEKNIK PENGUJIAN PERANGKAT LUNAK
14. PENGUJIAN PERANGKAT LUNAK
TEKNIK PENGUJIAN PERANGKAT LUNAK
REKAYASA PERANGKAT LUNAK
Strategi Pengujian Perangkat Lunak
TEKNIK PENGUJIAN PERANGKAT LUNAK
REKAYASA PERANGKAT LUNAK
Pengujian Perangkat Lunak
Metode Pengujian Perangkat Lunak (White Box)
Testing & Implementasi Sistem
Strategi Pengujian Perangkat Lunak & Sistem
Testing dan Implementasi
Dasar – dasar pengujian perangkat lunak
TESTING DAN IMPLEMENTASI SISTEM (Pertemuan Ke-11)
Rekayasa Perangkat Lunak Dosen : Citra Noviyasari, S.Si, MT
Dasar-dasar Pengujian Perangkat Lunak
TESTING DAN IMPLEMENTASI SISTEM (Pertemuan Ke-10)
TESTING DAN IMPLEMENTASI PERTEMUAN 3
Software Engineering ( Pressman )
Testing dan Implementasi SI220A
Testing dan Implementasi
WHITE BOX TESTING DAN BLACK BOX TESTING
Validasi dan Verifikasi Software
TEKNIK PENGUJIAN PERANGKAT LUNAK
TEKNIK PENGUJIAN PERANGKAT LUNAK
Pertemuan 5 PENGUJIAN WHITE BOX.
Dasar-dasar Pengujian Perangkat Lunak
TEKNIK PENGUJIAN PERANGKAT LUNAK
TESTING DAN QA SOFTWARE PERTEMUAN 10 & 11
TEKNIK PENGUJIAN PERANGKAT LUNAK
Testing dan Implementasi
Pengujian White Box Kustanto 11/16/2018 Pengujian white box.
Pengujian Perangkat Lunak
Pengujian White Box Kustanto 11/27/2018 Pengujian white box.
Teknik-teknik pengujian Perangkat Lunak
TEKNIK PENGUJIAN PERANGKAT LUNAK
Tim RPL Teknik Informatika 2018
Dasar-dasar Pengujian Perangkat Lunak
White Box Testing.
Teknik-teknik pengujian Perangkat Lunak
Dasar-dasar Pengujian Perangkat Lunak
Dasar-dasar Pengujian Perangkat Lunak
Fathiah, S.T.,M.Eng Universitas Ubudiyah Indonesia
Fathiah, S.T.,M.Eng Universitas Ubudiyah Indonesia
Metode Pengujian Perangkat Lunak (White Box)
Transcript presentasi:

Rekayasa Perangkat Lunak Metode Pengujian Perangkat Lunak Pertemuan 17 Khairul Anwar Hafizd khairul.anwarhafizd@gmail.com

Kenapa Harus Diuji ? Kita bukan seorang programmer yg cukup baik Kita mungkin tidak dapat cukup berkonsentrasi untuk menghindari kesalahan Kita kadang2 lupa menggunakan pemrograman terstruktur secara penuh, perancangan atas-bawah utk mendapatkan solusi Kita kadang buruk dalam mengerjakan sesuatu Kita seharusnya dapat membedakan apa yg dikatakan programmer lain atau pelanggan dan apa yg sebenarnya mereka pikirkan Kita seharusnya merasa bersalah apabila seseorang harus menguji koding kita Pengujian merupakan suatu perizinan terhadap kesalahan

Dasar Pengujian Perangkat Lunak Objektifitas Pengujian Test case yg baik adalah yg mempunyai probabilitas yg tinggi untuk menemukan error yg tak diketemukan Pengujian merupakan suatu proses eksekusi program yang ditujukan untuk menemukan error Uji yg sukses adalah yg dapat ‘membuka’ error yang tak diketemukan

Dasar Pengujian Perangkat Lunak Dua klas input yg disediakan untuk proses uji Konfigurasi software, termasuk Software Requirement Specification, Design Specification dan Source code Konfigurasi uji, termasuk Test Plan & Procedure, perangkat testing yg akan digunakan, test case dan hasil yg diharapkan

Perancangan Test Case Test case yg dirancang harus mempunyai probabilitas yg tinggi untuk menemukan sebuah error dalam waktu & effort yg minimum.

Dua metode pendekatan perancangan test case 1. White Box Testing (pada sesuatu yg kecil (modul)) berfokus pada struktur kontrol program. Dijamin semua independent path (jalur bebas) telah dijalankan setidaknya satu kali Menjalankan semua keputusan logis pada sisi true & false Menjalankan semua looping Melakukan struktur data internal untuk menjamin validitas

Perancangan Test Case (Lanj.) 2. Black Box Testing (yang besar) berfokus pada kebutuhan fungsional software, memungkinkan perancang untuk memperoleh kondisi2 input yg secara penuh menguji semua kebutuhan fungsional suatu program

Partisi Ekivalensi (equivalensi partition) Input data dan output hasil terdapat di klas yang berbeda yang sesuai dengan klas inputnya Masing-masing klas equivalensi partition diprosres dimana program akan memproses anggota klas-klas tersebut secara equivale. Test cases dipilih dari masing-masing partisi

Partisi Ekivalensi (Equivalence partitioning)

Partisi Ekivalensi (Equivalence partitioning) Partition system inputs and outputs into ‘equivalence sets’ If input is a 5-digit integer between 10000 and 99999, equivalence partitions are <10000, 10000-99999 and > 100000 Choose test cases at the boundary of these sets 00000, 9999, 10000, 99999, 100001

Equivalence partitions

Latar Belakang Pengujian P/L adalah elemen kritis dari jaminan kualitas P/L dan merupakan review puncak terhadap spesifikasi, desain dan pembuatan program. Pengujian P/L menghabiskan upaya 30-40% dari total pekerjaan proyek. Untuk proyek yang membahayakan nyawa manusia, biaya pengujian bisa 3-5 X proyek biasa.

Tujuan Pengujian Menjalankan program untuk menemukan error. Test case yang bagus adalah yang memiliki kemungkinan terbesar untuk menemukan error yang tersembunyi. Pengujian yang sukses adalah yang berhasil menemukan error yang tersembunyi.

Prinsip Pengujian Harus bisa dilacak hingga sampai ke kebutuhan customer. Harus direncanakan sejak model dibuat. Prinsip Pareto: 80% error uncovered. Dari lingkup kecil menuju yang besar. Tidak bisa semua kemungkinan diuji. Dilakukan oleh pihak ketiga yang independen.

Testablility Kemudahan untuk diuji. Karakteristiknya: Operability: mudah digunakan. Observability: mudah diamati. Controlability: mudah dikendalikan. Decomposability: mudah diuraikan. Simplicity: lingkup kecil, semakin mudah diuji. Stability: jarang berubah. Understandability: mudah dipahami.

Desain Kasus Pengujian Black box testing Memastikan fungsional P/L berjalan. Kesesuaian input dengan output. Tidak memperhatikan proses logic internal. White box testing Pengamatan detail prosedur. Mengamati sampai level percabangan kondisi dan perulangan.

White Box Testing Metode: basis path testing. Memakai notasi flow graph.

Kompleksitas Cyclomatic Menunjukkan jumlah skenario pengujian yang harus dilakukan untuk menjamin cakupan seluruh program.

Contoh White Box Testing

Black Box Testing – Graph Based

Black Box Testing – Equivalence Partitioning Contoh: Input NPM dalam SIAMIK Jika dikosongi? Jika diisi dengan format yang salah? Jika diisi dengan NPM yang benar?

Black Box Testing – Analisa Nilai Batas Menguji untuk input di sekitar batas atas maupun bawah sebuah range nilai yang valid. Menguji nilai maksimal dan minimal. Menerapkan (1 & 2) untuk output. Menguji batas struktur data yang dipakai. Misal ukuran array.

Black Box Testing – Perbandingan Spesifikasi kebutuhan yang sama dimungkinkan menghasilkan aplikasi/ perangkat lunak yang berbeda. Skenario pengujian pada aplikasi yang demikian bisa digunakan untuk skenario pengujian aplikasi serupa yang lain.

Skenario Pengujian Khusus Pengujian GUI. Pengujian arsitektur client/ server. Pengujian dokumentasi dan fasilitas bantuan. Pengujian sistem waktu nyata.

STRATEGI PENGUJIAN P/L Membahas langkah-langkah yang harus dikerjakan sebagai bagian dari pengujian. Kapan dilaksanakan? Berapa usaha, waktu dan sumber daya yang digunakan? Meliputi: perencanaan, desain test case, pelaksanaan, koleksi data dan evaluasi.

Kaidah Umum Pengujian Dimulai dari pengujian tingkat komponen menuju integrasi. Titik yang berbeda dimungkinkan memakai teknik pengujian yang berbeda. Pengujian dilakukan oleh developer dan (untuk proyek yang besar) tim independen. Testing dan debugging adalah berbeda. Namun debugging pasti berkaitan dengan strategi testing apapun.

Strategi Pengujian Dimulai dari unit testing terhadap source code hingga system testing terhadap spesifikasi kebutuhan.

Langkah Pengujian

Unit Testing

Integration Testing Top – down integration

Integration Testing Bottom – up integration

Integration Testing Regression testing: dilakukan pengujian setiap kali ada modul baru yang diintegrasikan atau ada modul yang berubah. Smoke testing: test daily, untuk proyek jenis kritis-waktu.

Validation Testing Disebut sukses jika fungsi P/L dapat diterima oleh customer (berdasarkan dokumen SKPL). Alpha test: dilakukan di tempat developer oleh customer pada lingkungan yang terkendali. Beta test: dilakukan di tempat customer tanpa melibatkan developer pada lingkungan yang tak terkendali.

System Testing Meguji sistem berbasis komputer secara menyeluruh, termasuk juga hubungannya dengan sistem yang lain. Diantaranya: Recovery testing, jika system failure. Security testing, jika terjadi serangan. Stress testing, terhadap jumlah, frekuensi dan volume pekerjaan. Performance testing, untuk mengukur pemakaian sumber daya.

Debugging Memperbaiki error yang ditemukan pada saat testing (yang sukses). Kaidah dasar sebelum debug: Apakah penyebab bug dihasilkan kembali oleh bagian program yang lain? Apakah bug selanjutnya yang mungkin muncul jika bug diperbaiki? Apa yang bisa dilakukan untuk mencegah bug terjadi untuk pertama kalinya?