Kamis, 02 November 2017

Strategi Pengujian Perangkat Lunak

Strategi Pengujian Perangkat Lunak
Pengujian unit program
Pengujian difokuskan pada unit terkecil dari suatu modul program. Dilaksanakan dengan menggunakan driver dan stub. Driver adalah suatu program utama yang berfungsi mengirim atau menerima data kasus uji dan mencetak hasil dari modul yang diuji. Stub adalah modul yang menggantikan modul sub-ordinat dari modul yang diuji.

Pengujian integrasi
Pengujian terhadap unit-unit program yang saling berhubungan (terintegrasi) dengan focus pada masalah interfacing. Dapat dilaksanakan secara top-down integration atau bottom-up integration.

Pengujian validasi
Pengujian ini dimulai jika pada tahap integrasi tidak ditemukan kesalahan. Suatu validasi dikatakan sukses jika perangkat lunak berfungsi pada cara yang diharapkan oleh pemakai.

Pengujian sistem
Pengujian yang dilakukan sepenuhnya pada sistem berbasis komputer. Jenis pengujian yang dilakukan pada saat melakukan pengujian sistem, yaitu :
·         Recovery testing
   Pengujian dilakukan dimana sistem diusahakan untuk gagal, kemudian diuji
   kenormalannya.
·         Security testing
 Dilakukan untuk menguji mekanisme proteksi
·         Stress testing
 Pengujian yang dirancang untuk menghadapkan suatu perangkat lunak kepada
 situasi yang tidak normal.
·         Performance testing
 Pengujian dilakukan untuk mengetahui kinerja dari sistem

Hal-hal yang diujikan selama pengujian :
·         Antarmuka modul
·         Struktur Data Lokal
·         Kondisi Batas
·         Jalur-jalur Bebas
·         Jalur-jalur penanganan kesalahan

Faktor Pengujian Perangkat Lunak

A. Pengujian Tahapan Analisis
Pengujian pada tahapan ini lebih menekankan pada validasi terhadap kebutuhan perangkat lunak, untuk menjamin bahwa kebutuhan telah dispesifikasikan dengan benar. Tujuan pengujian pada tahap ini adalah untuk mendapatkan kebutuhan yang layak dan untuk memastikan apakah kebutuhan tersebut sudah dirumuskan dengan baik. Faktor-faktor pengujian yang dilakukan meliputi :
·         Kebutuhan yang berkaitan dengan metodelogi
·         Pendefinisian spesifikasi fungsional
·         Penentuan spesifikasi kegunaan
·         Penentuan kebutuhan portabilitas
·         Pendefinisian antar muka sistem.

B. Pengujian Tahapan Desain
Pengujian pada tahapan ini bertujuan untuk menguji struktur perangkat lunak yang diturunkan dari kebutuhan perangkat, kebutuhan yang bersifat umum dirinci menjadi bentuk yang lebih spesifik. Faktor-faktor pengujian yang dilakukan meliputi :
·         Perancangan yang berkaitan dengan kebutuhan
·         Kesesuaian perancangan dengan metodologi dan teori.
·         Portabilitas rancangan
·         Perancangan yang dirawat
·         Kebenaran rancangan berkaitan dengan fungsi dan aliran data.
·         Kelengkapan perancangan antar muka.
 
C. Pengujian Tahapan Implementasi
Merupakan pengujian unit-unit yang dibuat sebelum diintegrasikan mejadi aplikasi secara keseluruhan. Faktor-faktor pengujian tahap implementasi meliputi :
·         Kendali integritas data
·         Kebenaran program
·         Kemudahan pemakaian
·         Sifat coupling
·         Pengembangan prosedur operasi.

D. Pengujian Tahapan Pengujian
Pengujian pada tahapan ini dilakukan untuk menilai apakah spesifikasi program telah ditulis menjadi instruksi-instruksi yang dapat dijalankan pada mesin/komputer. Selain itu, juga untuk menilai apakah instruksi yang ditulis tersebut telah sesuai dengan spesifikasi program. Faktor-faktor pengujian tahap ini meliputi :
·         Pengujian fungsional
·         Dukungan manual
·         Kemudahan operasi

Teknik Pengujian Perangkat Lunak

Teknik Pengujian Perangkat Lunak
A. White box testing
Adalah cara pengujian dengan melihat ke dalam modul untuk meneliti kode-kode program yang ada, dan menganalisis apakah ada kesalahan atau tidak. Jika ada modul yang menghasilkan output yang tidak sesuai dengan proses bisnis yang dilakukan, maka baris-baris program, variabel, dan parameter yang terlibat pada unit tersebut akan dicek satu persatu dan diperbaiki, kemudian di-compile ulang.

Pengujian white box
Menggunakan metode desain test case yang menggunakan struktur control desain procedural untuk memperoleh test case. Disebut juga pengujian glassbox. Dengan pengujian whitebox, perekayasa dapat melakukan :
·       Memberikan jaminan bahwa semua jalur independen pada suatu modul telah digunakan paling tidak satu kali.
·       Menggunakan semua keputusan logis pada sisi true and false.
·       Mengeksekusi semua loop pada batasan mereka dan pada batas operasional mereka.
·       Menggunakan struktur data internal untuk menjamin validitasnya.

Dengan menggunakan metode white box, analis sistem akan dapat memperoleh test case yang:
·       Menjamin seluruh independent path di dalam modul yang dikerjakan sekurang-kurangnya sekali.
·       Mengerjakan seluruh keputusan logikal.
·       Mengerjakan seluruh loop yang sesuai dengan batasannya.
·       Mengerjakan seluruh struktur data internal yang menjamin validitas.

Keunggulan dan Kekurangan White Box
Keunggulan
·       Kebenaran program dalam mendefinisikan algoritma dapat diketahui secara langsung dengan pengolahan path.
·       Menentukan kualitas pekerjaan coding dan pengaruhnya untuk standar coding.
Kekurangan
·       Jumlah biaya untuk white box testing lebih besar daripada biaya yang dibutuhkan untuk black box, untuk ukuran software yang sama.
·       Belum mampu melakukan tes ketersediaan, kehandalan, daya tahan beban dan testing – testing lain yang berhubungan dengan kebutuhan faktor – faktor untuk operasi, revisi dan transisi.

B. Black box testing
Adalah metode pengujian perangkat lunak yang tes fungsionalitas dari aplikasi yang bertentangan dengan struktur internal atau kerja (lihat pengujian white-box).

Pengujian black box
Berfokus pada persyaratan fungsional perangkat lunak. Disebut juga pengujian behavioral atau pengujian partisi. Pengujian black box memungkinkan perekayasa perangkat lunak mendapatkan serangkaian input yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu program. Pengujian black box berusaha menemukan :
·         Fungsi-fungsi yang tidak benar atau hilang
·         Kesalahan interface
·         Kesalahan dalam struktur data atau akses database eksternal.
·         Kesalahan kinerja
·         Inisialisasi dan kesalahan terminasi.
·         Kesalahan performansi
·         Kesalahan inisialisasi dan tujuan akhir
Dengan mengaplikasikan teknik black box, maka kita menarik serangkaian test case yang
memenuhi kriteria berikut :
·       Test case yang mengurangi, dengan harga lebih dari satu, jumlah test case tambahan yang harus didesain untuk mencapai pengujian yang dapat dipertanggungjawabkan.
·       Test case yang member tahu kita sesuatu mengenai kehadiran atau ketidakhadirankelas kesalahan, daripada member tahu kesalahan yang berhubungan hanya dengan pengujian spesifik.

Keunggulan dan Kekurangan Black Box:
Keunggulan
·       Black box testing dapat menguji keseluruhan fungsionalitas perangkat lunak.
·       Black box testing dapat memilih subset test yang secara efektif dan efisien dapat menemukan cacat. Dengan cara ini black box testing dapat membantu memaksimalkan testing investment.
Kekurangan
·       Ketika tester melakukan black box testing, tester tidak akan pernah yakin apakah perangkat lunak yang diuji telah benar-benar lolos pengujian.

C. Gray box testing
Adalah metode pengujian perangkat lunak yang adalah kombinasi dari Black box testing dan White box testing. Dalam Black box testing, struktur internal dari item yang sedang diuji tidak diketahui tester dan White box testing struktur internal di dikenal. Dalam pengujian Gray box testing, struktur internal sebagian dikenal. Ini melibatkan memiliki akses ke internal data struktur dan algoritma untuk tujuan merancang uji kasus, tetapi pengujian pada pengguna, atau tingkat Black box. Grey-box, berusaha menggabungkan kedua metode diatas, mengambil kelebihan keduanya, mengurangi kekurangan keduanya. Teknik verifikasi modern menerapkan combine-method ini.

SDLC (System Development Life Cycle)

SDLC (System Development Life Cycle)
SDLC adalah proses pembuatan dan pengubahan sistem serta model dan metodologi yang digunakan untuk mengembangkan sistem-sistem tersebut. Konsep ini umumnya merujuk pada sistem komputer atau informasi. SDLC juga merupakan pola yang diambil untuk mengembangkan sistem perangkat lunak, yang terdiri dari tahap-tahap:

A. Perencanaan Sistem (Systems Planning)
Lebih menekankan pada aspek studi kelayakan pengembangan sistem (feasibility study). Aktivitas-aktivitas yang ada meliputi :
• Pembentukan dan konsolidasi tim pengembang.
• Mendefinisikan tujuan dan ruang lingkup pengembangan.
• Mengidentifikasi apakah masalah-masalah yang ada bisa diselesaikan melalui pengembangan sistem.
• Menentukan dan evaluasi strategi yang akan digunakan dalam pengembangan sistem.
• Penentuan prioritas teknologi dan pemilihan aplikasi.

B. Analisis Sistem (Systems Analysis)
Analisa sistem adalah tahap di mana dilakukan beberapa aktivitas berikut:
• Melakukan studi literatur untuk menemukan suatu kasus yang bisa ditangani oleh sistem.
• Brainstorming dalam tim pengembang mengenai kasus mana yang paling tepat dimodelkan dengan sistem.
• Mengklasifikasikan masalah, peluang, dan solusi yang mungkin diterapkan untuk kasus tersebut.
• Analisa kebutuhan pada sistem dan membuat batasan sistem.
• Mendefinisikan kebutuhan sistem.

C. Perancangan Sistem (Systems Design)
Pada tahap ini, features dan operasi-operasi pada sistem dideskripsikan secara detail. Aktivitas-aktivitas yang dilakukan adalah:
• Menganalisa interaksi obyek dan fungsi pada sistem.
• Menganalisa data dan membuat skema database.
• Merancang user interface.

D. Implementasi Sistem (Systems Implementation)
Tahap berikutnya adalah implementasi yaitu mengimplementasikan rancangan dari tahap-tahap sebelumnya dan melakukan uji coba.
Dalam implementasi, dilakukan aktivitas-aktivitas sebagai berikut:
• Pembuatan database sesuai skema rancangan.
• Pembuatan aplikasi berdasarkan desain sistem.
• Pengujian dan perbaikan aplikasi (debugging).

E. Pemeliharaan Sistem (Systems Maintenance)
Dilakukan oleh admin yang ditunjuk untuk menjaga sistem tetap mampu beroperasi secara benar melalui kemampuan sistem dalam mengadaptasikan diri sesuai dengan kebutuhan.

Rabu, 01 November 2017

ACL (Audit Command Language)

Oleh
TB. Putra Dwi Pratama
1A114687
4KA17

Pengenalan ACL (Audit Command Language)
ACL dikembangkan sejak tahun 1970-an oleh Prof. Hart J. Will dari Canada dan kemudian dikelola oleh ACL Services Ltd, Vancouver, Canada, dan merupakan pemimpin pasar dalam teknologi pengambilan data, analisis data, serta pelaporan. ACL adalah aplikasi yang hanya ‘read-only’, ACL tidak pernah mengubah data sumber asli sehingga aman untuk menganalisis jenis live-data.
ACL digunakan di perusahaan, di antaranya pada bidang audit untuk analisis data, pencocokan dan pembandingan data, laporan penyimpangan. Pada bidang IT (Information Technology) untuk data migrationdata cleansingdata matchingdata integrity testing; selain itu juga untuk analisis, konsolidasi, rekonsiliasi data, dan pelaporan pada divisi lain seperti Keuangan, Pemasaran, Distribusi, Operasional, dan lain sebagainya.
ACL dapat melakukan akses data langsung ke dalam database ataupun dalam bentuk teks file dalam waktu yang singkat tanpa menganggu sistem yang sedang berjalan, melakukan proses verifikasi hasil dari data yang diperoleh untuk menciptakan integrasi data yang dipercaya, dan hasil analisa data yang dapat diandalkan. 


Manfaat ACL (Audit Command Language)
Ø  Bagi Auditor
Akan membantu Auditor agar lebih terfokus, cepat, efisien, efektif, dan murah dengan lingkup yang lebih luas dan analisis mendalam. Dengan ACL auditor dapat menemukan lebih banyak penyimpangandan memiliki lebih banyak waktu untuk melakukan pembuktian.

Ø  Untuk Manajemen (Akunting dan Keuangan)
Dapat dalam menganalisis data dan informasi perusahaan, pengujian pengendalian yang telah ada, dan pembuatan laporan manajemen secara cepat dan fleksibel.

Ø  Untuk Sumber Daya Manusia/Pemeriksa, IT, dan lainnya.
Dapat melakukan sistem pelaporan yang sesuai dengan keinginan atau laporan yang diinginkan dengan akurasi dan kualitas data yang sangat bagus.