• 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

sekali pemesanan sehingga biaya yang dikeluarkan perusahaan dalam menyediakan bahan baku bisa lebih efisien, selain itu dengan menggunakan metode Economi Order

Blog Diagram system offline Jika system klasifikasi pada email pada mail client sudah dapat bekerja dengan baik, maka metode algoritma na ïve bayes classifier akan

Kekambuhan pada kasus skizofrenia dapat disebabkan oleh ketidakpatuhan pasien terhadap pengobatan maupun faktor pencetus psikososial, baik dari keluarga maupun lingkungan

Selain itu penelitian yang dilakukan oleh Dewi (2009) menyimpulkan bahwa konsumen memiliki sikap positif terhadap iklan dan merek, namun hal tersebut belum tentu

Terlaksanya Promosi Produk Kelautan dan Perikanan dalam Peningkatan Nilai Tambah.. Terlaksananya Kontes Ikan Hias di Provinsi

Timbangan ini dipasang pada bagian luar pabrik Casting (Penuangan) yang digunakan untuk menimbang MTC (Metal Transportation Car), yang digunakan untuk membawa ladle yang

Kejuaraan renang merupakan salah satu agenda rutin Pengurus Besar Provinsi atau Nasional Persatuan Renang Seluruh Indonesia (PRSI).. Kejuaraan renang dibedakan

Segala puji syukur peneliti panjatkan kepada Allah SWT yang telah memberikan petunjuk dan kekuatan, sehingga peneliti dapat melakukan penelitian dan menyelesaikan