Functional Testing Analisis Perancangan Sistem Kartika Dwi Hapsari
Functional Testing
I. Pengertian Function testing merupakan tipe dari black box testing yang basis uji kasusnya pada spesifikasi dari komponen perangkat lunak yang diuji. Fungsi diuji dengan memberi input dan memeriksa output, dan struktur program internal jarang dipertimbangkan. Function testing memastikan bahwa semua kebutuhan-kebutuhan telah dipenuhi dalam sistem aplikasi. Dengan demikian fungsinya adalah tugastugas
yang didesain
untuk
dilaksanakan sistem.
Function testing
berkonsentrasi pada hasil dari proses, bukan bagaimana prosesnya terjadi. Function testing ini dimulai dengan menggunakan data (set) yang standar. Biasanya untuk aplikasi atau sistem tertentu ada kumpulan data (test cases) yang sudah dibuat untuk menguji fungsi tertentu. Penggunaan data yang standar ini memungkinkan kita untuk membandingkan ide atau metoda atau produk atau karya kita dengan karya orang lain. Kalau di dunia image processing ada foto Lena, baboon, dan seterusnya. Di bidang lain tentunya ada data set yang standar juga. Function
testing
kemudian
dapat
dilakukan
dengan
data
yang
sesungguhnya, misalnya data di target evnvironment. Pengujian ini dilakukan untuk mengevaluasi apakah sistem dapat digunakan (applied). Hasil pengujian sebaiknya ditampilkan dalam bentuk tabel. Ini untuk mempermudah penilaian. 1
Function testing meliputi bagaimana sistem melaksanakan fungsi yang seharusnya untuk menjalankan perintah, termasuk pengguna, manipulasi data,
Kartika Dwi Hapsari | 105060809111003
Functional Testing Analisis Perancangan Sistem Kartika Dwi Hapsari
riset dan proses bisnis, layar pengguna, dan integrasi. pengujian fungsional meliputi jenis permukaan jelas fungsi, operasi dan back-end (seperti keamanan dan bagaimana mempengaruhi update sistem). Function testing dilakukan dalam bentuk tertulis untuk memeriksa apakah aplikasi berjalan seperti yang diharapkan. Walaupun functional testing sering dilakukan dibagian akhir dari siklus pengembangan, masing-masing komponen dan proses dapat diuji pada awal pengembangan, bahkan sebelum sistem berfungsi, pengujian ini dapat dilakukan pada seluruh sistem. Function testing meliputi seberapa baik sistem melaksanakan fungsinya, termasuk perintahperintah pengguna, manipulasi data, pencarian dan proses bisnis, pengguna layar, dan integrasi. Function testing juga meliputi permukaan yang jelas dari jenis fungsi-fungsi, serta operasi back-end (seperti keamanan dan bagaimana meningkatkan sistem).
II. Macam-macam Function testing 1. Integrasi File Pengawasan tentang integritas file komputer seharusnya dibuktikan (verifikasi) selama pengujian.
Peremajaan file secukupnya harus
dilakukan sedemikian sehingga pengawasan integritas dapat diuji selama beberapa kali iterasi pada eksekusi sistem aplikasi.
2. Audit Trial Fungsi audit trial seharusnya diuji. Pengujian menjamin bahwa transaksi sumber dapat dilacak untuk pengawasan total, dimana transaksi yang sedang mendukung pengawasan total dapat diidentifikasi, dan dimana pengolahan transaksi tunggal atau keseluruhan sistem dapat dibangun ulang menggunakan informasi audit trail. 2
Kartika Dwi Hapsari | 105060809111003
Functional Testing Analisis Perancangan Sistem Kartika Dwi Hapsari
3. Kebenaran Pengujian kebenaran fungsional membuktikan bahwa persyaratanpersyaratan yang dispesifikasikan oleh pengguna berfungsi sesuai dengan persyaratan tersebut.
Pengujian tahap uji menekankan pada perhatian
terhadap uji lain, atau menekankan pada transaksi yang tidak layak dimasukkan untuk menguji keabsahan data dan fungsi pendeteksian kesalahan.
4. Coupling Pengujian fungsioal membuktikan bahwa setiap fungsi baru saling berhubungan dengan layak pengujian regresi membuktikan bahwa segmen-segmen tetap dari sistem aplikasi yang saling berhubungan dengan aplikasi lain masih berfungsi dengan layak.
III. Siklus Uji Requirement berdasarkan Fucntional Testing Siklus
tes
yang
penyampaiannya.
efektif
harus
memiliki
definisi
proses
dan
Proses utama atau penyampaian untuk requirement
berbasis functional testing yaitu : 1. Perencanaan Pengujian 2. Pembagian atau dekomposisi Functional 3. Definisi requirement atau verifikasi 4. Desain uji kasus 5. Traceability (Traceability Matrix) 6. Eksekusi uji kasus 7. Defect Management 3
8. Cakupan Analisis
Kartika Dwi Hapsari | 105060809111003
Functional Testing Analisis Perancangan Sistem Kartika Dwi Hapsari
Proses dan penyampaian berlaku untuk setiap tes yang diberikan. Bergantung pada sumber daya yang tersedia (orang, sumber material, waktu, dan lain sebagainya) dan mandat dari penyelenggara test.
IV. Tahapan 1. Perencanaan Pengujian Selama perencanaan Test
Lead
dengan
bantuan
dari
tim
uji
mendefinisikan ruang lingkup, jadwal, dan penyampaian untuk siklus functional testing. Test Lead menyampaikan Test Plan (dokumen) dan Test Schedule (rencana kerja) yang sering mengalami beberapa revisi selama siklus pengujian.
2. Pembagian atau dekomposisi Functional Pembagian fuctional pada sistem (atau partisi) adalah penguraian sistem menjadi komponen-kompenen functional atau area functional. Kelompok lain dalam organisasi dapat bertanggung jawap pada dekomposisi fuctional (atau model) dari sistem tetapi organisasi penguji harus tetap mereview kelengkapan penyampaian sebelum disetujui oleh organisasi penyelenggara test. Jika dekomposisi functional atau partisi belum didefinisikan atau dianggap belum memadai maka organisasi penguji bertanggung jawap untuk membuat dan memelihara partisi. terdapat produk komersial, shareware, dan freeware yang tersedia membantu dalam dekomposisi functional dalam sistem dan penyampaian formal dalam partisi functional.
3. Definisi requirement atau verifikasi 4
Definisi requirement seringkali merupakan bagian terkecil dalam proses pengembangan software.
Banyak pengembang langsung dari
konsep software ke spesifikasi functional atau yang lebih buruk dari
Kartika Dwi Hapsari | 105060809111003
Functional Testing Analisis Perancangan Sistem Kartika Dwi Hapsari
konsep software ke kode tanpa penyampaian desaian software. Organisasi penguji memerlukan requirement ini untuk melanjutkan ke functional testing, sehingga jika tim pengembang tidak menyampaikan requirement untuk verifikasi kepada tim penguji maka tim penguji harus membuat test requirement sendiri. Requirement ini perlu diperinci sesuai dengan partisi functional yang sesuai.
4. Desain uji kasus Designer test atau penguji desain dan menerapakan uji kasus untuk memvalidasi kinerja produk sesuai dengan requirement. Uji kasus ini perlu diperinci sesuai dengan partisi functional dan pemetaan atau traced pada requirement yang sedang diuji.
5. Traceability (Traceability Matrix) Uji kasus perlu pemetaan atau traced kembali dengan requirement yang sesuai. Setelah semua requirement telah diuji oleh satu atau lebih uji kasus kemudian desain aktifitas untuk requirement dapat dianggap selesai. Kesalahan umum yang sering dilakukan selama proses ini adalah bahwa semua uji kasus merupakan latihan khusus requirement yang harus dipetakan ke dalam requirement. Hanya uji kasus ini saja yang secara khusus dibuat untuk menguji requirement harus ditelusuri dengan requirement. Cara ini memberikan gambaran yang jauh lebih akurat dari aplikasi ketika analisis selesai dilakukan.
Kegagalan uji kasus bukan
berarti kegagalan semua requirement yang dilaksanakan (dibandingkan dengan diuji oleh) uji kasus.
6. Eksekusi uji kasus 5
Seperti dalam semua tahap pengujian, uji kasus yang sesuai harus dilaksanakan dan hasilnya harus dicatat. Uji kasus yang akan dieksekusi harus didefinisikan dalam konteks rencana pengujian dan kondisi aplikasi
Kartika Dwi Hapsari | 105060809111003
Functional Testing Analisis Perancangan Sistem Kartika Dwi Hapsari
yang sedang diuji saat ini. Jika kondisi aplikasi saat ini tidak mendukung pengujian satu atau lebih requirement maka pengujian harus ditunda sampai pembenaran pengeluaran oleh sumber daya pengujian.
7. Managemen Kesalahan Seperti dalam semua tahap pengujian, setiap kesalahan terdeteksi selama pelaksanaan test harus dicatat dan dikelola oleh organisasi penguji. Selama functional testing setiap kesalahan harus ditelurusi pada requirement spesifik atau requirement yang tidak berkinerja pada spesifikasi.
8. Cakupan Analisis Selama functional testing laporan kemajuan tiap periode harus disampaikan oleh organisasi penguji kepada tim proyek.
Dasar-dasar
untuk laporan ini akan menjadi cakupan analisis dari requirement terhadap uji kasus dan kesalahan yang menonjol. Tujuan dari analisis ini adalah untuk menentukan persentasi dari requirement yang dianggap belum teruji, berkinerja sesuai dengan spesifikasi (eksesusi sukses), dan tidak berkinerja sesuai dengan spesifikasi (gagal). Terdapat produk komersial, shareware, dan freeware yang tersedia yang
dapapt
digunakan
untuk
memperlancar
penyampaian selama pelaksanaan proses pengujian.
6
Kartika Dwi Hapsari | 105060809111003
pembuatan
semua