PENGUJIAN PERANGKAT LUNAK - · PDF fileYour Logo PENGUJIAN PERANGKAT LUNAK Aprilia...

Post on 22-Feb-2018

243 views 7 download

Transcript of PENGUJIAN PERANGKAT LUNAK - · PDF fileYour Logo PENGUJIAN PERANGKAT LUNAK Aprilia...

Your Logo

PENGUJIAN

PERANGKAT LUNAK

Aprilia Sulistyohati, S.Kom

Jurusan Teknik Informatika

Universitas Islam Indonesia

DASAR PENGUJIAN PL

PENGUJIAN : proses eksekusi suatu program dengan

maksud menemukan kesalahan

PENGUJIAN PERANGKAT LUNAK: Elemen dari jaminan

kualitas perangkat lunak yang meliputi spesifikasi, desain dan

pengkodean

Page 2

PROSES TESTING

1) System Testing

- Pengujian terhadap integrasi sub-system, yaitu

keterhubungan antar sub-system

2) Acceptance Testing

- Pengujian terakhir sebelum sistem dipakai oleh

user.

- Melibatkan pengujian dengan data dari pengguna

sistem.

- Biasa dikenal sebagai alpha test ( beta test untuk

software komersial, dimana pengujian dilakukan

oleh potensial customer)

Page 3

CONT...

3) Component testing

- Pengujian komponen-komponen program

- Biasanya dilakukan oleh component developer

(kecuali untuk system kritis)

4) Integration testing

- Pengujian kelompok komponen-komponen yang

terintegrasi untuk membentuk sub-system ataupun

system

- Dilakukan oleh tim penguji yang independent

- Pengujian berdasarkan spesifikasi sistem

Page 4

GAMBARAN PROSES TESTING

Page 5

Unit

testingAcceptance

Testing

Module

testing

Sub-System

TestingSystem

Testing

Integration Testing Component Testing

User Testing

Failures & Faults

Failure : output yang tidak benar/tidak sesuai ketika sistem

dijalankan

Fault : kesalahan dalam source code yang mungkin

menimbulkan failure ketika code yang fault tersebut

dijalankan.

Page 6

PRIORITAS PENGUJIAN

Prioritas dilakukan terhadap pengujian

kemampuan sistem, bukan masing-masing

komponennya.

Hanya test yang lengkap yang dapat

meyakinkan sistem terbebas dari kesalahan,

tetapi hal ini sangat sulit dilakukan.

Page 7

KASUS TEST DAN TEST DATA

Test data: Input yang yang dirancang untuk menguji sistem.

Test cases: spesifikasi dari Input yang digunakan untuk

menguji sistem dan memprediksi output dari input jika sistem

beroperasi sesuai dengan spesifikasi ditambah pernyataan

tentang apa yang diuji.

Page 8

Pendekatan Startegis ke Pengujian Perangkat Lunak

1) Pengujian Unit

2) Pengujian Integrasi

3) Pengujian Validasi

4) Pengujian Sistem

Page 9

1) PENGUJIAN UNIT

Checklist untuk pengujian interface

- Apakah jumlah parameter input sama dengan jumlah argumen?

- Apakah antara atribut dan parameter argumen sudah cocok?

- Apakah antara sistem satuan parameter dan argumen sudah cocok?

- Apakah jumlah argumen yang ditransmisikan ke modul yang dipanggil

sama dengan atribut parameter?

- Apakah atribut dari argumen yang ditransmisikan ke modul yang

dipanggil sama dengan atribut parameter?

Page 10

- Apakah jumlah atribut dan urutan argumen ke fungsi-fungsi sudah

benar?

- Adakah referensi ke parameter yang tidak sesuai dengan poin entri

yang ada?

Page 11

TEST CASE

Test case harus didesain untuk mengungkap kesalahan dalam

kategori:

- pengetikan yang tidak teratur dan tidak konsisten

- inisialisasi yang salah atau nilai-nilai default

- Nama variabel yang tidak benar

- Tipe data yang tidak konsisten

Page 12

SEBERAPA BAIK SISTEM KITA DIBANGUN???

a) Dua Aspek yang dipertimbangkan:

a) Apakah implementasi sudah sesuai dengan spesifikasi ?

b) Apakah spesifikasi sesuai dengan kebutuhan user ?

b) Validasi

a) Apakah sistem yang dikembangkan sudah benar?

b) Pengujian dimana sistem ketika diimplementasikan sesuai dengan yang

diharapkan

c) Verifikasi

a) Apakah sistem dikembangkan dengan cara yang benar ?

b) Pengujian apakah sistem sudah sesuai dengan spesifikasi

Page 13

2) Pengujian Integrasi

Pengujian keseluruhan system atau subsystem yang terdiri dr komponen

yg terintegrasi.

Test integrasi menggunakan black-box dengan test case ditentukan dari

spesifikasi.

Kesulitannya adalah menemukan/melokasikan

Penggunaan Incremental integration testing dapat mengurangi masalah

tersebut.

Page 14

PENDEKATAN INTEGRATION TESTING

Top-down testing

Berawal dari level-atas system dan terintegrasi dengan mengganti

masing-masing komponen secara top-down dengan suatu stub

(program pendek yg mengenerate input ke sub-system yg diuji).

Bottom-up testing

Integrasi components di level hingga sistem lengkap sudah teruji.

Fakta, kebanyakan test integrasi menggunakan kombinasi kedua strategi

pengujian.

Page 15

3) PENGUJIAN VALIDASI

Kajian Konfigurasi (audit)

- Elemen dari proses validasi

- Memastikan apakah semua elemen konfigurasi perangkat lunak telah

dikembangkan dengan tepat

Page 16

PENGUJIAN SISTEM

ASPEK DALAM PENGUJIAN SISTEM:

- Pengujian Perbaikan

- Pengujian Keamanan

- Pengujian Stress

- Pengujian Kinerja

Page 17

PENGUJIAN APLIKASI SERVER

1) Volume Testing

2) Stress Testing

3) Performance Testing

4) Data Recovery Testing

5) Data Backup and Restore Testing

6) Data Security Testing

Page 18

Volume Testing

Menemukan kelemahan sistem selama melakukan pemrosesan data

dalam jumlah yang besar dalam periode waktu yang singkat.

Tujuan: meyakinkan bahwa sistem tetap melakukan pemrosesan data

antar batasan fisik dan batasan logik.

Contoh:

Mengujikan proses antar server dan antar partisi hardisik pd satu server.

Page 19

STRESS TESTING

Tujuan: mengetahui kemampuan sistem dalam melakukan transaksi

selama periode waktu puncak proses. Contoh periode puncak: ketika

penolakan proses login on-line setelah sistem down atau pada kasus

batch, pengiriman batch proses dalam jumlah yg besar dilakukan setelah

sistem down.

Contoh: Melakukan login ke server ketika sejumlah besar workstation

melakukan proses menjalankan perintah sql database.

Page 20

PERFOMANCE TESTING

Dilakukan secara paralel dengan Volume dan Stress testing untuk

mengetahui unjuk kerja sistem (waktu respon, throughput rate) pada

beberapa kondisi proses dan konfigurasi.

Dilakukan pada semua konfigurasi sistem perangkat keras dan lunak.

Mis.: pd aplikasi Client-Server diujikan pd kondisi korporate ataupun

lingkungan sendiri (LAN vs. WAN, Laptop vs. Desktop)

Menguji sistem dengan hubungannya sistem ke lain pada server yg

sama.

Page 21

DATA RECOVERY TESTING

Investigasi dampak kehilangan data melalui proses recovery

ketika terjadi kegagalan proses.

Penting dilakukan karena data yg disimpan di server dapat

dikonfigurasi dengan berbagai cara.

Kehilangan Data terjadi akibat kegagalan sistem, hardisk

rusak, penghapusan yg tidak sengaja, kecelakaan, virus dan

pencuri.

Page 22

Dilakukan untuk melihat prosedur back-up dan recovery.

Dilakukan dengan mensimulasikan beberapa kesalahan untuk menguji

proses backup dan recovery.

Pengujian dilakukan terhadap strategi backup: frekuensi , medium, waktu,

mekanisme backup (manual/ otomatis), personal, ? Berapa lama backup

akan disimpan.

Switching antara live dan backup server ketika terjadi kerusakan (load log

transaction pada back-up kemudian melaku recovery).

Page 23

DATA 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) yg dapat mematikan aplikasi

database.

Page 24

~ END ~

Page 25

QUIZ

1) JELASKAN PERBEDAAN DFD DAN FLOWCHART !

2) PERBEDAAN ANTARA TEST CASE DAN TEST DATA !

3) APA TUJUAN DASAR DILAKUKAN PENGUJIAN ?

4) JELASKAN GAMBARAN PROSES TESTING !

5) APA YANG DIMAKSUD DENGAN FAILURE DAN

FAULTS ??

Page 26