Anda di halaman 1dari 40

STRATEGI TESTING

Dosen Pengampu :

Hairani, S.Kom., M.Eng


STRATEGI TESTING

 Strategi testing software mengintegrasikan metode metode desain


test cases software ke dalam suatu rangkaian tahapan yang
terencana dengan baik, sehingga pengembangan software dapat
berhasil.

 Strategi testing harus menjadi satu kesatuan dengan perencanaan tes,


disain test case, ekesekusi tes, dan pengumpulan serta evaluasi data
hasil testing.
Karakteristik Umum Strategi Pengujian software

 Pengujian dimulai pada level modul dan dilanjutkan terus hingga integrasi
dari keseluruhan sistem.

 Setiap saat pengujian mengimplementasikan teknik pengujian yang


berbeda.

 Pengujian dikelola oleh pengembang Software dan untuk yang berukuran


besar dikelola oleh group penguji yang tidak terikat

 Pengujian and debugging merupakan aktifitas yang berbeda, tetapi


debugging selalu digunakan di setiap strategi pengujian.
Karakteristik Umum Strategi Pengujian software

 Systems yang Besar terdiri dari sub-systems, dimana masing2 sub-system


terdiri dari modules yang dibentuk oleh procedures and functions.

 Proses testing dilakukan dalam beberapa langkah sehingga diproses


secara incrementally dalam proses implementasi sistem.
STRATEGI TESTING

Unit Testing

Integration Testing

System Testing

Acceptance Test
STRATEGI TESTING
UNIT TESTING

Berfokus pada inti terkecil dari desain perangkat lunak yaitu modul

Biasanya berorientasi pada white box

Interface modul diuji untuk memastikan bahwa informasi secara


tepat mengalir masuk dan keluar dari modul yg diuji.
INTEGRATION TESTING

 “Jika semua modul-modul software telah bekerja dengan baik secara


individual, mengapa harus ada keraguan apakah modul-modul tersebut
dapat bekerja sama sebagai satu kesatuan?”

 Integration testing adalah suatu teknik yang sistematis untuk


pembangunan struktur program, dimana pada saat yang bersamaan
melakukan testing untuk mendapatkan errors yang diasosiasikan
dengan antar-muka
INTEGRATION TESTING

 Pengujian keseluruhan system atau sub-system yang terdiri dr


komponen yg terintegrasi.

 Test integrasi menggunakan black-box dengan test case


ditentukan dari spesifikasi.

 Penggunaan Incremental integration testing dapat mengurangi


masalah tersebut
TEKNIK INTEGRATION TESTING

Non Incremental
/ Bigbang

Top-down testing
Integration Test Integrasi Incremental
Bottom-up testing

Sandwitch
TEKNIK INTEGRATION TESTING

Integrasi test ada 2 cara :

1)Integrasi non-inkremental/ big bang


 Integrasi ini dilakukan dg cara semua modul digabung seluruhnya.
Setelah itu barulah dilakukan pengujian.

2) Integrasi incremental
 Integrasi ini dilakukan untuk membangun dan menguji interface
program dalam segmen-segmen kecil, sehingga kesalahan lebih
mudah diisolasi dan dibetulkan. Interface lebih mungkin untuk diuji
dengan lengkap.
Incremental integration test
Pendekatan integration test

 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 ini dimulai dari modul terkecil hingga
sistem lengkap.

 Pada prakteknya, kebanyakan test integrasi menggunakan


kombinasi kedua strategi pengujian tsb.
Top-down testing
Bottom-up testing
Catatan

Pemilihan strategi integrasi (top-down atau bottom-up) tergantung


pada karakteristik program dan juga jadwal proyek.

Secara umum pendekatan gabungan (disebut Sandwitch testing)


dapat dilakukan.

Strategi gabungan yg terbaik adalah : strategi top-down untuk level-


level atas dari struktur program, dan strategi bottom-up untuk level-
level bawah.
SYSTEM TESTING

Bertujuan untuk memastikan bahwa semua elemen/komponen sistem


saling berhubungan dengan tepat dan keseluruhan fungsi/kinerja sistem
dapat tercapai.
SYSTEM TESTING
Requirements Types of System Testing

Functional testing
Kebutuhan
Fungsional
Security Testing
Kebutuhan
Non Fungsional Usability Testing

Stress Testing

Perfomance Testing
SYSTEM TESTING

1. Test Fungsional / Functional Testing


 Pengujian yang memeriksa apakah fungsi yang ada sesuai dengan
requirement yang sudah dibuat.

2. Test Keamanan / Security Testing


 Pengujian yang dilakukan untuk membuktikan apakah perlindungan
(keamanan) yang ada pada sistem benar-benar dapat melindungi
sistem dari gangguan.
SYSTEM TESTING

3. Test Usabilitas / Usability Testing


Pengujian yang dilakukan untuk mengetahui seberapa mudah interface
atau tampilan software mudah digunakan oleh pengguna.

A Mudah digunakan 1 2 3 4 5
B User Friendly 1 2 3 4 5
C Mudah dimengerti 1 2 3 4 5
D Tingkat Kepercayaan 1 2 3 4 5

E Tingkat kesesuaian dengan yang dibutuhkan 1 2 3 4 5

F Waktu Respons 1 2 3 4 5
G Tingkat komfortabel 1 2 3 4 5
SYSTEM TESTING

4. Test Stress

 Pengujian yang dilakukan untuk melihat bagaimana sistem


dalam keadaan abnormal.

 Menguji sistem dengan nilai yg melebihi maksimum load.


Stressing suatu system menyebabkan tidak mudah kerusakan.

 Contoh : melakukan login ke server ketika sejumlah besar


workstation melakukan proses menjalankan perintah sql
database
SYSTEM TESTING

5. Test Kinerja / Performance Testing


 Pengujian untuk menguji kinerja run-time (saat berjalan) dari
software didalam konteks sistem yang terintegrasi

Catatan :
Tes kinerja sering digunakan bersamaan dengan tes stress, dimana kita
bisa melihat bagaimana kinerja sistem dalam keadaan abnormal.
ACCEPTANCE TEST

Alpha Test
ACCEPTANCE
TEST
Beta Test
Acceptance User

 Apabila software dibangun untuk satu pelanggan maka sederetan pengujian


penerimaan dapat dilakukan untuk memungkinkan pelanggan me-
validasi semua persyaratan (pengujian dilakukan oleh pelanggan)

 Pengujian terakhir sebelum sistem dipakai oleh user

 Melibatkan pengujian dengan data dari pengguna sistem


Acceptance User

Test Alpha & Beta


 Apabila software dibangun sebagai sebuah produk untuk digunakan
oleh banyak pelanggan, maka dilakukan test Alpha dan Beta.
ALPHA TEST

 Dilakukan pada sisi pengembang oleh user yang potensial.

 Software digunakan pada setting yang natural (sebenarnya), sehingga


bila terjadi error, user dapat merekam masalah yang ada.

 Dilakukan pada sebuah lingkungan yang terkontrol oleh pengembang.


BETA TEST

 Dilakukan pada sebuah lingkungan yang terkontrol oleh


pengembang.

 Biasanya dilakukan oleh selain pengembang / pihak ketiga.

 Biasanya dilakukan oleh selain pengembang / pihak ketiga.

 User merekam semua masalah yang mereka temukan dan


melaporkan ke pengembang. Kemudian pengembang melakukan
modifikasi dan akhirnya mempersiapkan pelepasan produk ke
seluruh pelanggan.
Praktek Pengujian
Testing Aplikasi Web

 Testing untuk aplikasi web memiliki banyak kesamaan dengan


testing untuk aplikasi client server, tetapi aplikasi web lebih
sulit karena tingkat kompleksitasnya lebih tinggi  interaksi
komponen (teknologi) yang dipergunakan tidak terbatas
– Browser
– OS
– Aplikasi plugin, dll
Lanjutan

 Idealnya semua komponen dan fungsi yg ada pada sisi client


dan server harus dites (tapi sgt jarang bisa dilakukan) 
pendekatan terbaik agar tetap sesuai dengan batasan waktu
dan budget :
– Mengecek requirement project
– Mensetting prioritas sesuai hasil risk analysis
– Tentukan fokus testing yg dilakukan
Risk analysis

 Risk analysis yang dilakukan harus mempertimbangkan :


– seberapa mirip lingkungan test dengan lingkungan
produksi (idealnya akan mirip)
– fungsionalitas mana yang sangat kritikal terhadap tujuan
pembuatan website
– area mana yang memerlukan interaksi Data Base yang
lebih banyak
Lanjutan

-- tipe permasalahan seperti apa yang akan lebih sering


dikomplain
– area mana dari suatu situs yang akan lebih sering dibuka
– aspek mana yang memiliki resiko keamanan lebih tinggi
Kategori testing web

• Load testing
• Security testing
• Link testing
• HTML validation
• dll
Load testing

– Testing dengan load yang sudah diatur rangenya untuk


menentukan pada poin mana respons time sistem turun atau bahkan gagal
sama skali.
– Server yang dipakai, seting konfigurasi yang ipergunakan, script CGI (
Common Gateway Interface) , desain database dan faktorfaktor lain bisa
juga memberikan pengaruh
– Testing bisa dilakukan dengan 2 cara
• Testing keseluruhan komponen dibawah kondisi yang
bermacammacam
• Testing masing-masing komponen
Security testing

Menguji semua fungsi yg berhubungan dengan firewall, enkripsi,


autentikasi, transaksi, akses database
– Menguji perlindungan yang diberikan
– Selain permasalahan kontrol akses di sisi client (password dan enkripsi)
juga ada permasalahan di sisi server spt siapa yg berhak mempublish dan
memodifikasi file html, siapa yang memiliki wewenang untuk melakukan
publikasi final, yang meng-approve suatu file graphics, file sound dan
halaman layout
Link testing

– Untuk menentukan apakah link dari suatu situs baik itu ke internal dan
external web pages bekerja
– Web yg memiliki banyak link ke situs luar perlu link testing yg dijadwal
secara teratur
HTML validation

- Ditentukan oleh audience yg dituju, jenis browser yang kemungkinan akan


dipakai dan seberapa sesuai dengan standar html atau ekstensi lainnya
Tugas

1.Carilah minimal 5 Tools yang bisa digunakan untuk pengujian Aplikasi


Berbasis Dekstop maupun Website secara otomatis, kemudian deskripsikan
masing-masing tools tersebut!
2. Sebutkan dan Jelaskan Strategi Pengujian Software menggunakan Bahasa
sendiri ?

Tugas di tulis tangan di kertas Double Folio dan Batas pengumpulan Hari selasa.
THANKS YOU

Anda mungkin juga menyukai