• Tidak ada hasil yang ditemukan

Strategi Pengujian Perangkat Lunak

N/A
N/A
Protected

Academic year: 2021

Membagikan "Strategi Pengujian Perangkat Lunak"

Copied!
32
0
0

Teks penuh

(1)

Strategi  Pengujian  

Perangkat  Lunak  

Testing is the process of exercising a program with the specific intent of finding errors prior to delivery to the end user.!

(2)

What Testing Shows!

errors! requirements conformance! performance! an indication! of quality!

(3)

Pendekatan  Strategis  

✪ Pengujian yang efektif dengan melakukan tinjauan teknis yang efektif. Dengan melakukan ini, banyak kesalahan akan dihilangkan sebelum pengujian dimulai.

✪ Pengujian dimulai pada tingkat komponen dan bekerja ”outward" terhadap integrasi sistem berbasis komputer secara keseluruhan.

✪ Teknik pengujian yang berbeda sesuai untuk pendekatan rekayasa perangkat lunak yang berbeda dan di berbagai titik dalam waktu.

✪ Pengujian dilakukan oleh pengembang perangkat lunak dan (untuk proyek-proyek besar) suatu kelompok uji independen. ✪ Pengujian dan debugging merupakan aktivitas yang berbeda, tetapi debugging harus diakomodasi dalam strategi pengujian.

(4)

●  Dua Aspek yang dipertimbangkan:

•  Apakah implementasi sudah sesuai dengan spesifikasi ? •  Apakah spesifikasi sesuai dengan kebutuhan user ?

●  Validasi

•  “Apakah sistem yang dikembangkan sudah benar?”

•  Pengujian dimana sistem ketika diimplementasikan sesuai dengan yang diharapkan

●  Verifikasi

•  “Apakah sistem dikembangkan dengan cara yang benar ?” •  Pengujian apakah sistem sudah sesuai dengan spesifikasi

Seberapa baik sistem yang

sudah dibangun ?

(5)

Who Tests the Software?!

developer! independent tester!

Understands the system ! !

but, will test "gently"! !

! !

and, is driven by "delivery"!

Must learn about the system,! !

! !

but, will attempt to break it! !

! !

(6)

Pendekatan  Strategis  ke  

pengujian  perangkat  lunak  

(7)

Strategi  Pengujian  

O  Dimulai dari‘testing-in-the-small’ kemudian ke

‘testing-in-the-large’!

O  Untuk PL Konvensional!

O  Fokus : module (komponen) !

O  Dilanjutkan integrasi antar module!

!

O  Untuk PL Object Oriented!

O  Fokus “testing in the small” berubah dari modul ke

(8)

Isu Strategis !

O Tentukan persyaratan produk secara kuantitatif jauh sebelum pengujian dimulai.!

O Memahami pengguna perangkat lunak dan mengembangkan profil untuk setiap kategori pengguna.!

O Mengembangkan rencana pengujian yang menekankan "pengujian siklus yang cepat."!

O Membangun ”robustt" perangkat lunak yang dirancang untuk menguji dirinya sendiri!

O Mengembangkan pendekatan perbaikan terus-menerus untuk proses pengujian.!

(9)

Unit Testing!

module! to be! tested! test cases! results! software! engineer!

(10)

Pengujian  Unit  

O Berfokus pada inti terkecil dari desain

perangkat lunak yaitu modul

O Biasanya berorientasi pada white box

MODUL Interface

Struktur data lokal Kondisi Batas Jalur independen

Jalur penanganan kesalahan

(11)

Lingkungan Pengujian Unit!

Module! stub! stub! driver! RESULTS! interface ! !

local data structures! ! ! ! boundary conditions! ! ! ! independent paths! !! !

error handling paths!

(12)

Pengujian  Unit    

O Checklist untuk pengujian interface

OApakah jumlah parameter input sama dengan jumlah argumen?

OApakah antara atribut dan parameter argumen sudah cocok?

OApakah antara sistem satuan parameter dan argumen sudah cocok?

OA p a k a h j u m l a h a r g u m e n y a n g ditransmisikan ke modul yang dipanggil sama dengan atribut parameter?

(13)

Pengujian  Unit  

OApakah atribut dari argumen yang ditransmisikan ke modul yang dipanggil sama dengan atribut parameter?

OApakah sistem unit dari argumen yang ditransmisikan ke modul yang dipanggil sama dengan sistem satuan parameter?

OApakah jumlah atribut dan urutan argumen ke fungsi-fungsi built-in sudah benar?

OAdakah referensi ke parameter yang tidak sesuai dengan poin entri yang ada?

(14)

Pengujian  Unit  

OApakah definisi variabel global konsisten dengan modul ?

OApakah batasan yang dilalui merupakan argumen?

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

(15)

Integration testing

!

Pengujian keseluruhan sistem atau

sub-sistem 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

(16)

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 sequence 1 Test sequence 2 Test sequence 3

(17)

Pendekatan integration testing

!

Top-down testing

n  Berawal dari level-atas sistem dan terintegrasi

dengan mengganti masing-masing komponen secara top-down dengan suatu stub (program pendek yg mengenerate input ke sub-sistem yg diuji).

!

Bottom-up testing

n  Integrasi komponen di level hingga sistem lengkap

sudah teruji.

!

Pada prakteknya, kebanyakan test integrasi

menggunakan kombinasi kedua strategi pengujian tsb.

(18)

Top-down testing

Level 2 Level 2

Level 2 Level 2

Level 1 Testing Level 1

sequence Level 2 stubs Level 3 stubs . . .

(19)

Bottom-up testing

Level N Level N Level N Level N Level N Level N–1 Level N–1 Level N–1 Testing sequence Test drivers Test drivers

(20)

Pendekatan Testing

!

Architectural validation

n  Top-down integration testing lebih baik digunakan

dalam menemukan error dalam sistem arsitektur.

!

System demonstration

n  Top-down integration testing hanya membatasi

pengujian pada awal tahap pengembangan system.

!

Test implementation

n  Seringkali lebih mudah dengan menggunakan

(21)

!

Dilakukan kalau module-module dan

sub-system terintegrasi dan membentuk sistem yang lebih besar

!

Tujuannya untuk medeteksi fault terhadap

kesalahan interface atau asumsi yg tidak valid terntang interface tsb.

!

Sangat penting untuk pengujian terhadap

pengembangan sistem dgn menggunakan pendekatan object-oriented yg didefinisikan oleh object-objectnya

(22)

Pengujian  Validasi  

O  Kajian Konfigurasi (audit)

O Elemen dari proses validasi

O M e m a s t i ka n a p a ka h s e m u a e l e m e n

ko n f i g u r a s i p e r a n g k a t l u n a k te l a h dikembangkan dengan tepat

(23)

Pengujian  Validasi  

O Pengujian Alpha dan Beta

O Pengujian Alpha

O Usability labs

O Usability factors checklist

(24)

Pengujian  Sistem  

O Pengujian Perbaikan O Pengujian Keamanan O Pengujian Stress

(25)

Pengujian Aplikasi Server

!

Volume Testing

!

Stress Testing

!

Performance Testing

!

Data Recovery Testing

!

Data Backup and Restore Testing

(26)

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 anatar batasan fisik dan batasan logik.

!

Contoh:

n  Mengujikan proses antar server dan antar partisi

(27)

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.

(28)

Performance 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.

n  Mis.: pd aplikasi Client-Server diujikan pd kondisi korporate

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

n  Menguji sistem dengan hubungannya sistem ke lain pada

server yg sama.

! Load Balancing Monitor ! Network Monitor

(29)

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, peghapusan yg tidak sengaja, kecelakaan, virus dan pencuri.

(30)

Data Backup and Restore

Testing

! Dilakukan untuk melihat prosedur back-up dan recovery.

! Diakukan 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

(31)

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.

(32)

Debugging  

Test Case

Eksekusi case of case

Pengujian

Tambahan Penyebab yang

dicurigai Debugging Penyebab yang diidentifikasi Koreksi Pengujian regresi Hasil

Referensi

Dokumen terkait

Setelah dilakukan pengembangan dan pengujian dengan metode black box dapat disimpulkan bahwa sistem backend yang dikembangkan dari sisi database, web service dan

Dari proses pengujian dan analisa yang dilakukan baik pada pengujian sesuai pada ID A001 ataupun pengujian oleh. para responden, didapatkan bahwa tes ID A011 pada modul

telah tercapai. Dalam pengujian kelengkapan untuk operator, komentar berarti bahwa fitur pada sistem berfungsi dengan baik. Hasil yang dinyatakan atau sesuai dari

Pengujian ini merupakan pengujian tampilan pada node coordinator berjalan dengan baik dan dapat menerima data berupa character yang berasal dari ketiga router dengan baik

Dari pengujian yang dilakukan, sistem dapat bekerja dengan baik sesuai dengan perencanaan, sehingga dapat diambil kesimpulan bahwa modul latih yang dilengkapi

❏ System testing merupakan pengujian yang melakukan validasi terhadap produk perangkat lunak untuk memeriksa apakah perangkat lunak yang dibangun sudah dapat dijalankan sesuai

Sesuai dengan paparan diatas maka pada penelitian ini ingin menawarkan sebuah solusi pengujian perangkat lunak menggunakan metode Pengujian Hibrida dengan

Berdasarkan hasil pengujian dengan kasus Black box dapat ditarik kesimpulan bahwa perangkat lunak dapat mengetahui fungsi – fungsi yang tidak benar atau hilang,