pengembangan perangkat lunak - …ayu_ws.staff.gunadarma.ac.id/downloads/files/48535/strategi... ·...

25
Strategi Pengujian Perangkat Lunak Fakultas Ilmu Komputer dan Teknologi Informasi Jurusan Sistem Informasi Univesitas Gunadarma

Upload: donga

Post on 05-Mar-2018

221 views

Category:

Documents


6 download

TRANSCRIPT

Strategi Pengujian Perangkat

Lunak

Fakultas Ilmu Komputer dan Teknologi Informasi

Jurusan Sistem Informasi

Univesitas Gunadarma

Tujuan Pembelajaran

Memahami langkah-langkah dalam

pengujian perangkat lunak.

Materi Perkuliahan

Pendekatan strategis terhadap pengujian perangkat

lunak.

Pengujian modul perangkat lunak.

Pengujian terintegrasi.

Uji validasi.

Pengujian sistem.

Seni debugging.

Pendekatan strategis terhadap

pengujian perangkat lunak Pendekatan pengujian perangkat lunak ada 4

yaitu :

1. Pengujian Unit

2. Pengujian Integrasi

3. Pengujian Validasi

4. Pengujian Sistem

Pengujian Unit

Pengujian unit berfokus pada inti terkecil dari desain

perangkat lunak yaitu modul testing/unit testing.

Pengujian unit berorientasi pada white box testing.

Pengujian unit dilakukan oleh pengembang sendiri atau

antar pengembang.

Pengujian interface dalam pengujian unit menggunakan

checklist.

Test case dalam pengujian unit didesain untuk

mengungkap/mencari kesalahan dalam sistem.

Prosedure Pengujian Modul/Unit

Seberapa baik sistem yang dibangun?

Dua hal yang harus diperhatikan yaitu :

1. Apakah sistem sudah sesuai spesifikasi ?

2. Apakah spesifikasi sesuai dengan kebutuhan user ?

Sehingga muncul dua V :

Validasi

1. Apakah sistem yang dikembangkan sudah benar ?

2. Apakah pengujian sistem ketika diimplementasikan sudah

sesuai dengan yang diharapkan ?

Verifikasi

1. Apakah sistem dikembangkan dengan cara yang benar ?

2. Apakah pengujian sistem sudah sesuai dengan spesifikasi ?

Pengujian Integrasi

Pengujian keseluruhan sistem atau subsystem yang terdiri dari komponen yang terintegrasi dengan fokus pada masalah interfacing.

Pengujian integrasi lebih menggunakan pengujian independen (ITG=Independent Test Group)

Pengujian integrasi melakukan pengujian perancangan perangkat lunak.

Pengujian integrasi menggunakan black box testing dan white box testing dengan test case yang ditentukan dari spesifikasinya.

Kesulitan dalam pengujian integrasi adalah mencari atau menemukan kesalahan, sehingga digunakan incremental integration testing.

Incremental Integration Testing

T3

T2

T1

T4

T5

A

B

C

D

T2

T1

T3

T4

A

B

C

T1

T2

T3

A

B

Test sequence1

Test sequence2

Test sequence3

Pengujian Integrasi

Ada dua ancaman dalam pengujian integrasi secara

incremental :

Top-Down

Modul diintegrasikan dengan menurun dilihat dari

hirarki kontrol, dimulai dari modul pengendali utama

(main program).

Pengintegrasian modul-modul di bawah digabung

dengan cara breadth first dan depth first.

Proses Integrasi

Pengujian Integrasi

Bottom Up

Modul diintegrasikan dengan menaik dilihat dari

hirarki kontrol, dimulai dari modul atomik (modul di

tingkat paling bawah) yang membentuk cluster (build)

Proses integrasi

Top Down Testing

Level 2Level 2Level 2Level 2

Level 1 Level 1Testing

sequence

Level 2stubs

Level 3stubs

. . .

Bottom Up Testing

Level NLevel NLevel NLevel NLevel N

Level N–1 Level N–1Level N–1

Testingsequence

Testdrivers

Testdrivers

Pengujian Validasi

Pengujian validasi merupakan pengujian kesesuaian

dengan requirement.

Pengujian validasi adalah pengujian Alpha dan Beta.

Pengujian validasi menggunakan metode black box

testing.

Pengujian validasi dimulai jika pada tahap pengujian

integrasi tidak ditemukan kesalahan.

Pengujian validasi dikatakan sukses jika perangkat

lunak yang digunakan berfungsi dan sesuai harapan

pemakai.

Proses Pengujian Validasi

Pengujian Sistem

Pengujian sistem menguji perangkat lunak dan elemen

sistem yang lain sebagai suatu kesatuan.

Persiapkan masalah : saling tuding

Pengujian sistem terdiri dari :

1. Pengujian pemulihan (recovery testing)

2. Pengujian keamanan (security testing)

3. Pengujian kekuatan (stress testing)

4. Pengujian kinerja (performance testing)

Pengujian Sistem

Pengujian Volume

Bagaimana sistem dapat terus beroperasi dalam volume pelayanan yang besar.

Pengujian Recovery

Bagaimana sistem dapat merecover dirinya terhadap suatu kesalahan.

Pengujian Keamanan

Bagaimana sistem dapat mempertahankan dirinya agar tidak masuk ke dalam “state of insecure”.

Pengujian Stress

Bagaimana sistem dapat bertahan beroperasi dalam tekanan waktu dan banyak pelayanan.

Pengujian Performa

Bagaimana performa sistem dalam melaksanakan pekerjaannya.

Pengujian Volume

Menemukan kelemahan sistem selama melakukan

pemrosesan data dalam jumlah yang besar dalam

periode waktu yang singkat.

Tujuannya untuk meyakinkan bahwa sistem tetap

melakukan pemrosesan data antara batasan fisik dan

batasan logik.

Contoh : Mengujikan proses antar server dan antar

partisi hardisik pada satu server.

Recovery Testing

Investigasi dampak kehilangan data melalui proses

recovery ketika terjadi kegagalan proses.

Penting dilakukan karena data yang disimpan di server

dapat dikongurasi dengan berbagai cara.

Kehilangan data terjadi akibat kegagalan sistem,

hardisk rusak, peghapusan yang tidak sengaja,

kecelakaan, virus dan pencuri.

Security Testing

Privilege access terhadap database diujikan pada

beberapa user yang tidak memiliki privilege access ke

database.

Shutdown database engine melalui operating system

(dengan beberapa perintah OS) yang dapat mematikan

aplikasi database.

Buer-Overow - Menangani parameter input yang

melebihi batas buer.

Penetration-test : password crack, brute-force attack,

etc.

Stress Testing

Menguji sistem dengan nilai yang melebihi maksimum

load. Stressing suatu system menyebabkan tidak

mudah kerusakan.

Stressing suatu system test failure behaviour. Systems

seharusnya tidak gagal total. Stress testing mencek

kehilangan service yang tidak diduga ataupun data

yang hilang.

Khusus untuk sistem terdistribusi dapat menyebabkan

degradasi jaringan sehingga overload.

Contoh: Melakukan login ke server ketika sejumlah

besar workstation melakukan proses menjalankan

perintah sql database.

Performance Testing

Dilakukan secara paralel dengan Volume dan Stress testing

untuk mengetahui unjuk kerja sistem (waktu respon,

throughput rate) pada beberapa kondisi proses dan

kongurasi.

Dilakukan pada semua kongurasi sistem perangkat keras dan

lunak.

Misalnya pada aplikasi Client-Server diujikan pada kondisi

korporate ataupun lingkungan sendiri (LAN vs. WAN, Laptop

vs.Desktop)

Menguji sistem dengan hubungannya sistem ke lain pada

server yang sama.

Load Balancing Monitor

Network Monitor

Debugging

Ancaman dalam debugging

1. Brute force ; memory dump, run time trace, write

statements.

2. Backtracking ; perunutan balik mulai dari kesalahan

yang di ketahui hingga sampai lokasi sumbernya.

3. Cause elimination ; dengan melakukan induksi atau

reduksi dengan isolasi sebagai kemungkinan

penyebab kesalahan.

Proses debugging