Top Banner
Teknik-Teknik Pengujian Perangkat Lunak Fakultas Ilmu Komputer dan Teknologi Informasi Jurusan Sistem Informasi Univesitas Gunadarma
18

Dasar-Dasar Pengujian Perangkat Lunakayu_ws.staff.gunadarma.ac.id/Downloads/files/48534/Teknik-Teknik... · Teknik-Teknik Pengujian Perangkat Lunak Fakultas Ilmu Komputer dan Teknologi

Apr 30, 2019

Download

Documents

dangbao
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Dasar-Dasar Pengujian Perangkat Lunakayu_ws.staff.gunadarma.ac.id/Downloads/files/48534/Teknik-Teknik... · Teknik-Teknik Pengujian Perangkat Lunak Fakultas Ilmu Komputer dan Teknologi

Teknik-Teknik Pengujian

Perangkat Lunak

Fakultas Ilmu Komputer dan Teknologi Informasi

Jurusan Sistem Informasi

Univesitas Gunadarma

Page 2: Dasar-Dasar Pengujian Perangkat Lunakayu_ws.staff.gunadarma.ac.id/Downloads/files/48534/Teknik-Teknik... · Teknik-Teknik Pengujian Perangkat Lunak Fakultas Ilmu Komputer dan Teknologi

Tujuan Pembelajaran

Memahami teknik yang terdapat pada

pengujian perangkat lunak.

Page 3: Dasar-Dasar Pengujian Perangkat Lunakayu_ws.staff.gunadarma.ac.id/Downloads/files/48534/Teknik-Teknik... · Teknik-Teknik Pengujian Perangkat Lunak Fakultas Ilmu Komputer dan Teknologi

Materi Perkuliahan

Pengujian Black Box

Pengujian untuk Sistem Waktu Nyata

Peralatan Uji Otomatis

Page 4: Dasar-Dasar Pengujian Perangkat Lunakayu_ws.staff.gunadarma.ac.id/Downloads/files/48534/Teknik-Teknik... · Teknik-Teknik Pengujian Perangkat Lunak Fakultas Ilmu Komputer dan Teknologi

Black Box Testing

Blackbox testing menfokuskan pada keperluan

fungsional dari software.

Blackbox testing merupakan pendekatan untuk

menemukan kesalahan selain menggunakan whitebox

testing.

Blackbox testing mengabaikan struktur kontrol dan

difokuskan pada informasi domain.

Page 5: Dasar-Dasar Pengujian Perangkat Lunakayu_ws.staff.gunadarma.ac.id/Downloads/files/48534/Teknik-Teknik... · Teknik-Teknik Pengujian Perangkat Lunak Fakultas Ilmu Komputer dan Teknologi

Keuntungan Black Box Testing

Pengujian tidak berupa non teknis.

Pengujian kasus dirancang segera setelah spesifikasi

fungsional yang lengkap.

Digunakan untuk memverifikasi kontradiksi dalam

sistem aktual dan spesifikasi.

Page 6: Dasar-Dasar Pengujian Perangkat Lunakayu_ws.staff.gunadarma.ac.id/Downloads/files/48534/Teknik-Teknik... · Teknik-Teknik Pengujian Perangkat Lunak Fakultas Ilmu Komputer dan Teknologi

Kekurangan Black Box Testing

Inputan pengujian berasal dari ruang sampel yang

besar.

Sulit untuk mengidentifikasi semua inputan dalam

waktu pengujian yang terbatas. Test case menjadi

lambat dan sulit.

Kemungkinan memiliki jalur yang tidak dikenal selama

pengujian.

Page 7: Dasar-Dasar Pengujian Perangkat Lunakayu_ws.staff.gunadarma.ac.id/Downloads/files/48534/Teknik-Teknik... · Teknik-Teknik Pengujian Perangkat Lunak Fakultas Ilmu Komputer dan Teknologi

Kesalahan dalam Black Box Testing

Fungsi-fungsi yang salah atau hilang

Kesalahan interface

Kesalahan dalam struktur data atau akses data

eksternal

Kesalahan performansi

Kesalahan inisialisasi dan terminasi

Page 8: Dasar-Dasar Pengujian Perangkat Lunakayu_ws.staff.gunadarma.ac.id/Downloads/files/48534/Teknik-Teknik... · Teknik-Teknik Pengujian Perangkat Lunak Fakultas Ilmu Komputer dan Teknologi

Metode Black Box Testing

Equivalence Partitioning

Boundary Value Analysis

Comparison Testing

Sample Testing

RobustnessTesting

Behavior Testing

Requirement Testing

Performance Testing

Smoke Test

Regression Testing

Sanity

Graph Based Testing Methods

Error Guessing Testing

Page 9: Dasar-Dasar Pengujian Perangkat Lunakayu_ws.staff.gunadarma.ac.id/Downloads/files/48534/Teknik-Teknik... · Teknik-Teknik Pengujian Perangkat Lunak Fakultas Ilmu Komputer dan Teknologi

Equivalence Partioning

Equivalence Partioning adalah metode blackbox

testing yang membagi domain input dari program

menjadi beberapa kelas data dari kasus uji coba yang

dihasilkan.

Equivalence Partioning mendefinisikan kasus uji untuk

menemukan kesalahan dan menguraikan kasus uji yang

dibuat.

Equivalence Partioning berdasarkan evaluasi dari

ekuivalensi jenis/class untuk kondisi input.

Class yang ekuivalen merepresentasikan sekumpulan

keadaan valid dan invalid untuk kondisi input.

Page 10: Dasar-Dasar Pengujian Perangkat Lunakayu_ws.staff.gunadarma.ac.id/Downloads/files/48534/Teknik-Teknik... · Teknik-Teknik Pengujian Perangkat Lunak Fakultas Ilmu Komputer dan Teknologi

Contoh Equivalence Partioning

Spesifikasi sub-program yang harus diuji (status awal dan akhir)

a. Sub-program mengambil sebuah input berupa integer pada rentang [-100,100]

b. Keluaran sub-program adalah tanda dari nilai masukan (0 dianggap positif)

Dua buah kelas ekivalen yang valid

a. Nilai masukan dengan rentang [-100,0] akan menghasilkan tanda negatif sebagai keluaran

b. Nilai masukan dengan rentang [0,100] akan menghasilkan tanda positif sebagai keluaran

c. Keduanya bisa disatukan menjadi Nilai masukan dengan rentang [-100,100] merupakan rentang yang valid

Dua buah kelas ekivalen yang tidak valid

a. Nilai masukan < -100

b. Nilai masukan > 100

Page 11: Dasar-Dasar Pengujian Perangkat Lunakayu_ws.staff.gunadarma.ac.id/Downloads/files/48534/Teknik-Teknik... · Teknik-Teknik Pengujian Perangkat Lunak Fakultas Ilmu Komputer dan Teknologi

Boundary Value Analysis

Kesalahan terjadi dalam batasan domain input dari

pada nilai tengah.

Baoundary Value Analysis mengarahkan pada

pemilihan kasus uji yang melatih nilai-nilai batas.

Boundary Value Analysis adalah desain teknik kasus uji

yang melengkapi equivalence partitioning.

Boundary Value Analysis menghasilkan kasus uji dari

domain output.

Page 12: Dasar-Dasar Pengujian Perangkat Lunakayu_ws.staff.gunadarma.ac.id/Downloads/files/48534/Teknik-Teknik... · Teknik-Teknik Pengujian Perangkat Lunak Fakultas Ilmu Komputer dan Teknologi

Comparison Testing

Pada beberapa aplikasi reliability dari sebuah perangkat lunak sangat penting.

Redundansi perangkat keras dan perangkat lunak mungkin digunakan untuk meminimalisir kesalahan (error).

Untuk redundansi perangkat lunak, gunakan tim yang terpisah untuk mengembangkan setiap versi perangkat lunak yang independen.

Uji setiap versi dengan data yang sama untuk memastikan semua versi menghasilkan keluaran yang sama.

Jalankan semua versi dengan paralel dan perbandingan keluaran secara real-time.

Walau hanya dijalankan sebuah versi pada akhirnya, untuk beberapa aplikasi yang penting dapat mengembangkan versi independen dan menggunakan comparison testing atau back-to-back testing.

Ketika output dari versi berbeda, maka setiap versi diinvestigasi jika ada kemungkinan defect.

Metode ini tidak untuk menemukan kesalahan dari spesifikasi.

Page 13: Dasar-Dasar Pengujian Perangkat Lunakayu_ws.staff.gunadarma.ac.id/Downloads/files/48534/Teknik-Teknik... · Teknik-Teknik Pengujian Perangkat Lunak Fakultas Ilmu Komputer dan Teknologi

Sampel Testing dan Robustness Testing

Sample Testing

a. Melibatkan beberapa nilai yang terpilih dari sebuah kelas ekivalen

b. Mengintegrasikan nilai pada kasus uji

c. Nilai-nilai yang terpilih mungkin dipilih dengan urutan tertentu atau interval tertentu

Robustness Testing

a. Data input dipilih diluar spesifikasi yang telah didefinisikan

b. Tujuan dari pengujian ini adalah membuktikan bahwa tidak ada kesalahan jika masukan tidak valid

Page 14: Dasar-Dasar Pengujian Perangkat Lunakayu_ws.staff.gunadarma.ac.id/Downloads/files/48534/Teknik-Teknik... · Teknik-Teknik Pengujian Perangkat Lunak Fakultas Ilmu Komputer dan Teknologi

Behavior Testing dan Performance Testing

Behavior Testing

a. Hasil uji tidak dapat dievaluasi jika hanya melakukan pengujian sekali, tapi dapat dievaluasi jika pengujian dilakukan beberapa kali, misalnya pada pengujian struktur data stack

Performance Testing

a. Mengevaluasi kemampuan program untuk beroperasi dengan benar dipandang dari sisi acuan kebutuhan misalnya: aliran data, ukuran pemakaian memori, kecepatan eksekusi, dll

b. Untuk mencari tahu beban kerja atau kondisi konfigurasi program

c. Spesifikasi mengenai performansi didefinisikan pada saat tahap spesifikasi atau desain

d. Dapat digunakan untuk menguji batasan lingkungan program

Page 15: Dasar-Dasar Pengujian Perangkat Lunakayu_ws.staff.gunadarma.ac.id/Downloads/files/48534/Teknik-Teknik... · Teknik-Teknik Pengujian Perangkat Lunak Fakultas Ilmu Komputer dan Teknologi

Requirement Testing

Spesifikasi kebutuhan yang terasosiasi dengan perangkat lunak (input/output/fungsi/performansi) diidentifikasi pada tahap spesifikasi kebutuhan dan desain.

Requirement testing melibatkan pembuatan kasus uji untuk setiap spesifikasi kebutuhan yang terkait dengan program

Untuk memfasilitasinya, setiap spesifikasi kebutuhan bisa ditelusuri dengan kasus uji dengan menggunakan traceability matrix

Page 16: Dasar-Dasar Pengujian Perangkat Lunakayu_ws.staff.gunadarma.ac.id/Downloads/files/48534/Teknik-Teknik... · Teknik-Teknik Pengujian Perangkat Lunak Fakultas Ilmu Komputer dan Teknologi

Cause-effect Relationship Testing

Teknik ini merupakan suplemen dari equivalence testing dengan menyediakan cara untuk memilih kombinasi data input

Melibatkan kondisi input (cause) dan kondisi output (effect) untuk mencegah pendefinisian kasus uji yang terlalu banyak

Langkah

a. Bagi-bagi spesifikasi kebutuhan menjadi bagian yang memiliki kemungkinan kerja

b. Definisikan cause dan effect berdasarkan spesifikasi kebutuhan

c. Analisa spesifikasi kebutuhan untuk membuat hubungan logika

d. Tandai graf untuk jalur yang tidak mungkin berhubungan dengan kombinasu cause/effect sesuai dengan batasan spesifikasi kebutuhan

e. Ubah graf menjadi tabel keputusan

f. Kolom --> test case

g. Baris --> cause/effect

h. Ubah kolom dari tabel keputusan menjadi kasus uji

Page 18: Dasar-Dasar Pengujian Perangkat Lunakayu_ws.staff.gunadarma.ac.id/Downloads/files/48534/Teknik-Teknik... · Teknik-Teknik Pengujian Perangkat Lunak Fakultas Ilmu Komputer dan Teknologi

Kategori Pengujian Blackbox

Load Performance : http://loadimpact.com

Link Checkers : http://validator.w3.org/checklink

HTML Validators : http://validator.w3.org Cross-browser (Browser Compatibility) :

http://browsershots.org

Website Security : Nikto (http://www.activestate.com/activeperl/downloads dan http://cirt.net/Nikto2)

Mobile Web : https://gtmetrix.com/ dan https://developers.google.com/speed/pagespeed/insights/ dan https://www.google.com/webmasters/tools/mobile-friendly/?hl=ID