Uploaded by User66494

PENGUJIAN PERANGKAT LUNAK

advertisement
SOFTWARE
TESTING
FUNCTIONAL TESTING
NON FUNCTIONAL TESTING
FUNCTIONAL TESTING
“
Black Box Testing atau yang sering dikenal dengan
sebutan Functional Testing adalah metode software
testing yang digunakan untuk menguji perangkat lunak
tanpa mengetahui struktur internal kode atau Program.
“ PENGUJIAN
FUNGSIONAL ADALAH JENIS
PENGUJIAN YANG TUGASNYA ADALAH
MELAKUKAN VERIFIKASI BAHWA SELURUH FUNGSI
APLIKASI PADA PERANGKAT LUNAK SUDAH
BEROPERASI SESUAI DENGAN APA YANG
PERANCANG DIHARAPKAN.
”
“
MESKIPUN PENGUJIAN DENGAN FUNCTIONAL TESTING INI BIASANYA
DILAKUKAN DI BAGIAN AKHIR DARI SIKLUS PENGEMBANGAN, TIAP-TIAP
KOMPONEN DAN PROSES SEBENARNYA JUGA DAPAT DIUJI PADA AWAL
PENGEMBANGAN, BAHKAN DAPAT DIUJI SEBELUM SISTEM DINYATAKAN
BERFUNGSI, TESTING INI PUN BISA DILAKUKAN UNTUK SELURUH SISTEM.
PENGUJIAN INI MEMERLUKAN PEMIKIRAN MENGENAI KEMUNGKINAN
TERJADINYA FUNGSI YANG HILANG. PENGUJI BAHKAN DIMINTA MEMBUAT
DAFTAR FUNGSIONAL TAMBAHAN YANG BISA DIKEMBANGKAN OLEH
SUATU PRODUK SELAMA PROSES PENGUJIAN FUNGSIONAL.
”
“
FUNCTIONAL TESTING MEMILIKI INTI YAITU PENGUJI
MELAKUKAN UJI BERDASARKAN FUNGSI-FUNGSI PADA
APLIKASI YANG AKAN DIBANGUN. MISALNYA, FUNGSI
BUTTON SAVE, EDIT, DELETE. PENGUJI HARUS DAPAT
MEMBUKTIKAN BAHWA CATATAN TERSEBUT BENARBENAR TER-SAVE, EDIT ATAU DELETE.
”
Jenis-Jenis Functional Testing
1. Unit Testing,
yaitu pengujian yang memiliki tujuan untuk mengisolasi tiap-tiap bagian program dan mengecek
setiap bagian tersebut apakah sudah sesuai dengan apa yang dibutuhkan.
2. Integration Testing,
merupakan pengujian yang bertujuan untuk membuat kombinasi dari bagian-bagian aplikasi demi
menentukan apakah bagian tersebut bisa berjalan benar secara bersamaan.
3. System Testing,
adalah pengujian yang dilakukan setelah sukses pada integration testing. Pengujian ini dilakukanlah
secara keseluruhan hingga ditentukan apakah sistem secara menyeluruh sudah sesuai dengan standar kualitas
ataukah belum.
4. Regresion Testing,
merupakan testing yang tujuannya untuk mengatasi revisi sehingga tidak ada masalah baru yang
ditimbulkan dari pengujian software sebelum- sebelumnya.
5. Acceptance Testing,
yaitu pengujian yang memiliki hubungan dengan quality assurance.
6 α / β testing,
sebelum perangkat lunak rilis, kadang-kadang diberikan kepada sekelompok pengguna potensial yang
dipilih untuk uji coba (alpha testing) dan / atau kumpulan perwakilan pengguna yang lebih besar (beta
testing). Pengguna ini melaporkan masalah pada produk. Pengujian alfa dan beta seringkali tidak terkontrol
dan tidak selalu disebut dalam rencana uji. Alpha (small groups), itu dilakukan oleh tim uji dalam organisasi
yang mengembangkan perangkat lunak. Beta (larger groups), hal ini dilakukan oleh sekelompok pelanggan
yang loyal terhadap perangkat lunak yang akan diujikan.
“
PENGUJIAN FUNGSIONAL BIASANYA MELIBATKAN ENAM
LANGKAH
1. IDENTIFIKASI FUNGSI YANG DIHARAPKAN DILAKUKAN
PERANGKAT LUNAK
2. PEMBUATAN DATA INPUT BERDASARKAN SPESIFIKASI FUNGSI
3. PENENTUAN KELUARAN BERDASARKAN SPESIFIKASI FUNGSI
4. EKSEKUSI KASUS UJI
5. PERBANDINGAN KELUARAN AKTUAL DAN YANG DIHARAPKAN
6. UNTUK MEMERIKSA APAKAH APLIKASI BERFUNGSI SESUAI
KEBUTUHAN PELANGGAN
”
ALPHA DAN BETA TESTING
“
Pengujian alfa
adalah pengujian operasional simulasi atau aktual oleh calon pengguna /
pelanggan atau tim pengujian independen di situs pengembang.
Pengujian alfa sering digunakan untuk perangkat lunak off-the-shelf
sebagai bentuk pengujian penerimaan internal sebelum perangkat lunak
masuk ke pengujian beta
“
Pengujian beta
Pengujian beta dilakukan setelah pengujian alfa dan dapat dianggap sebagai
bentuk pengujian penerimaan pengguna eksternal. Versi perangkat lunak, yang dikenal
sebagai versi beta , dirilis untuk audiens terbatas di luar tim pemrograman yang dikenal
sebagai penguji beta. Perangkat lunak dirilis ke sekelompok orang sehingga pengujian
lebih lanjut dapat memastikan produk memiliki sedikit kesalahan atau bug . Versi beta
dapat dibuat tersedia untuk publik terbuka untuk meningkatkan bidang umpan balik ke
jumlah maksimal pengguna di masa mendatang dan untuk memberikan nilai lebih awal,
untuk jangka waktu yang diperpanjang atau bahkan tidak terbatas ( beta abadi ).
“
Bagaimana Program di uji?
“
Pengujian program meliputi menjalankan berbagai pengujian kemudian
menjalankan data yang sebenarnya untuk memastikan program bekerja. Dua aktivitas
utama adalah desk-checking dan debugging. Langkah tersebut dinamakan pengujian
alfa.
Melakukan desk-checking. Desk-checking hanya membaca hingga tuntas atau
memeriksa program untuk memastikan bahwa program bebas kesalahan dan bahwa
logikanya bisa bekerja dengan baik. dengan kata lain, desk-checking sama seperti
proofreading.
“
Debug program. Setelah program melewati desk-checking, kesalahan lain atau bug
masih tetap bisa muncul. Debug berarti mendeteksi, menempatkan, dan memindahkan
semua kesalahan pada sebuah program komputer. Kesalahan bisa berupa kesalahan
sintaks atau logika. Kesalah sintaks disebabkan oleh kesalahan tipografi dan
penggunaan bahasa pemograman yang tidak benar. Kesalahan logika disebabkan
penggunaan struktur kontrol yang salah. Program yang disebut diagnostic,dapat
digunakan untuk memeriksa sintaks program dan menampilkan pesan kesalhn sintaks.
program diagnostic selanjutnya mebantu mengidentifikasi dan memechakan masalah.
“
Menjalankan data yang sebenarnya. Setelah desk-checking dan debugging
program akan berjalan dengan baik. Akan tetapi, program masih perlu diuji dengan dat
riil, dan ini disebut pengujian beta. sebenarnya sangat disarankan untuk menguji
program dengan data yang rusak , tidak lengkap atau melebihi kuantitas utuk melihat
apakah akan membuat sistem akan mengalami crash.
Tim pemograman dapat melakukan percobaan-percobaan dengan menggunakan
data yang diuji berbeda-beda, sebelum mereka yakin program dapat dirilis. Namun
demikian, sesudah rilis pun masih terjadi bug mengingat pencarian kesalahan secara
lengkap dipandang tidak ekonomis.
“
CONTOH KASUS PENGUJIAN
SECARA BETA
“
Uji coba Microsoft Office 365 Beta di 13 Negara
Dengan Microsoft Office 365, pengguna dapat bekerjasama dengan lebih mudah dari berbagai lokasi di hampir semua
perangkat. Kolaborasi baik di dalam dan di luar organisasi menjadi lebih mudah dan sederhana. Microsoft
mengeluarkan versi beta secara terbatas untuk Microsoft Office 365 di 13 negara dan wilayah.
Penggunaan komputasi awan tidak memerlukan perubahan cara bekerja, karena Microsoft Office 365 bekerja dengan
browser yang berfungsi di platform mobile maupun aplikasi desktop.
Microsoft Office 365 akan tersedia pada tahun depan di seluruh dunia. Mulai hari ini, pengujian Microsoft Office 365 di
beberapa organisasi di 13 negara di seluruh dunia, dan versi beta akan diperluas ke lebih banyak organisasi dari waktu
ke waktu. Microsoft Office 365 akan tersedia secara umum di 40 negara pada tahun depan.
Non-Functional
Testing
“
Non-functional testing merupakan pengujian yang melakukan verifikasi
pada kebutuhan non-fungsional seperti performa dan kegunaan
sebuah aplikasi. Non-functional testing lebih kepada meningkatkan
kualitas sebuah aplikasi. Kualitas yang dimaksud yaitu bergantung
pada Waktu, Akurasi, Stabilitas, Kebenaran dan Durability di berbagai
macam keadaan.
Non-functional testing sulit untuk dilakukan secara manual namun
dapat dilakukan dengan bantuan aplikasi automated testing. Nonfunctional testing menggunakan teknik white-box testing.
“
Beberapa Tipe Non-Functional
Testing
1
Performance Testing
Pada performance testing akan melakukan pengujian pada beberapa aspek
performa aplikasi di bawah beban kerja yang diharapkan. Aspek-aspeknya yaitu:
- Speed : Kecepatan aplikasi cepat atau lambat
- Scalability : Jumlah banyaknya pengguna yang dapat aplikasi tangani
- Stability : Apakah aplikasi stabil pada berbagai jumlah pengguna
- Reability : Cara aplikasi menangani jika melebihi beban kerja (overload)
2
Load Testing
Load Testing adalah pengujian yang merusak aplikasi. Maksudnya
yaitu suatu aplikasi akan diberikan beban kerja dengan jangka waktu
yang telah ditentukan dan diharapkan mampu menangani beban
tersebut.
Pada load testing, beban kerja yang diberikan yaitu beban kerja dari
batas kerja yang telah ditentukan.
3
Security Testing
Security Testing ini sangat penting karena untuk menghindari
kerugian yang diakibatkan data yang tercuri oleh kejahatan hacking.
Fokus dari pengujian ini yaitu menemukan semua celah keamanan
dan kelemahan aplikasi yang dapat mengakibatkan data hilang.
4
Security Testing
Security Testing ini sangat penting karena untuk menghindari
kerugian yang diakibatkan data yang tercuri oleh kejahatan hacking.
Fokus dari pengujian ini yaitu menemukan semua celah keamanan
dan kelemahan aplikasi yang dapat mengakibatkan data hilang.
5
Recovery Testing ( pengujian pemulihan )
pengujian pemulihan adalah kegiatan pengujian seberapa baik
sebuah aplikasi yang mampu pulih dari crash, kegagalan hardware
dan masalah serupa lainnya. Pengujian pemulihan kegagalan paksa
perangkat lunak dalam berbagai cara untuk memverifikasi
pemulihan yang dilakukan dengan benar. Pengujian pemulihan tidak
harus bingung dengan uji reliabilitas, yang mencoba untuk
menemukan titik tertentu di mana kegagalan pengujian occurs.
Download