Kamis, 02 November 2017

Strategi Pengujian Perangkat Lunak


 Proses rekayasa perangkat lunak dapat juga dipandang sebagai sebuah bentuk spiral. Pada awalnya, rekayasa sistem menentukan peran perangkat lunak dan membawa kepada analis persyaratan di mana domain informasi, fungsi, tingkah laku dan kinerja validasi bagi perangkat lunak di bangun. Dengan bergerak dalam sepanjang spiral, kita akan sampai ke desain dan akhirnya ke pengkodean.

§     Unit testing dimulai pada pusaran spiral dan terpusat pada masing-masing satuan perangkat lunak pada saat diimplementasikan di dalam kode sumber.
§     Pengujian berjalan dengan bergerak keluar sepanjang spiral ke integration testing di mana fokusnya adalah desain dan konstruksi arsitektur perangkat lunak.
§     Dengan mengambil urutan keluar lainnya di dalam spiral, akan sampai ke validation testingdi mana persyaratan yang dibangun sebagai bagian dari analisis persyaratan perangkat lunak di validasi terhadap perangkat lunak yang telah dikonstruksi.
§     Akhirnya sampai pada system tesing di mana perangkat lunak dan elemen sistem yang lain diuji secara keseluruhan.

Dengan mempertimbangkan proses dari titik pandang prosedural, pengujian di dalam konteks rekayasa perangkat lunak secara aktual merupakan 4 (empat) langkah yang diimplementasi secara berurutan.

1. Pada awalnya, pengujian berfokus pada setiap modul secara individual, dengan memastikan bahwa modul berfungsi secara tepat sebagai suatu unit, karena itu dinamakan unit testing. Menggunakan metoda pengujian white-box. Selanjutnya modul diintegrasikan untuk membentuk paket perangkat lunak yang lengkap.

2.Integration testing menekankan pada masalah-masalah yang berhubungan dengan masalah-masalah verifikasi dan konstruksi program. Mengunakan teknik pengujian black-box.

3.Validation testing memberikan jaminan akhir di mana perangkat lunak harus memenuhi semua persyaratan fungsional, tingkah laku dan kinerja. Teknik pengujian black-box digunakan secara eksklusif selama validasi. Perangkat lunak, sekali divalidasi, harus dikombinasikan dengan elemen sistem yang lain (hardware, manusia, database).


4.Pengujian sistem membuktikan bahwa semua elemen sistem saling bertautan dengan tepat dan keseluruhan fungsi/kinerja sistem dapat dicapai.

Faktor Pengujian Perangkat Lunak

Testing dan Implementasi Faktor Pengujian Perangkat Lunak Tujuan Pengujian. Menilai apakah perangkat lunak yang dikembangkan telah memenuhi kebutuhan pemakai.  Menilai apakah tahap pengembangan perangkat lunak telah sesuai dengan metodologi yang digunakan. Membuat dokumentasi hasil pengujian yang menginformasikan kesesuaian perangkat lunak yang diuji dengan spesifikasi yang telah ditentukan. Terdapat 15 faktor didalam pengujian, akan tetapi tidak semua faktor yang mungkin digunakan, hal ini bergantung pada sistem yang akan diuji. Adapun faktor – faktor pengujian perangkat lunak pada testing dan implementasi diantaranya sebagai berikut :

1. Reability, Menekankan bahwa aplikasi akan dilaksanakan dalam fungsi sesuai yang diminta dalam periode waktu tertentu. Faktor yang diuji :
a. Menentukan toleransi.
b. Desain control dan integritas data.
c. Implementasi control dan integritas data.
d. Pengujian regresi, pengujian manual dan pengujian fungsional.
e. Verifikasi dan ketetapan dan kelengkapan instalasi.
f. Update ketepatan kebutuhan.

2. Authorization, Menjamin data di proses sesuai dengan kebutuhan manajemen. Authorisasi menyangkut proses transaksi secara umum yaitu otoritas bisnis dan secara khusus otoritas pelaksanaan tindakan khusus. Faktor yang diuji :
a. Identifikasi aturan otorisasi.
b. Desain aturan otorisasi.
c. Implementasi aturan otorisasi.  
d. Pengujian kesesuain.
e. Mencegah perubahan data selama instalasi.
f. Menjaga aturan otorisasi.

3. File Integrity, Menekankan pada data yang dimasukkan melalui aplikasi agar tidak dapat diubah serta prosedur yang akan memastikan bahwa file yang digunakan benar dan data dalam file tersebut akan disimpan sequensial dan benar. Faktor yang diuji :
a. Identifikasi kebutuhan integritas file.
b. Desain control dan integritas file.
c. Implementasi control dan integritas file.
d. Pengujian fungsional.
e. Verifikasi integritas dari produksi file.
f. Menjaga integritas file.

4. Audit, Trail Menekankan pada kemampuan untuk mendukung proses yang terjadi. Pemrosesan data secara keseluruhan berdasarkan retensi/jumlah dari kejadian yang cukup mendukung keakuratan, kelengkapan, batasan waktu dan otorisasi data. Faktor yang diuji :
a. Identifikasi kebutuhan rekontruksi.
b. Desain audit trail
c. Implementasi audit trail
d. Pengujian fungsional.
e. Menyimpan audit trail selama instalasi.
f. Update audit trail.

5. Continuity of processing, Menekankan kemampuan untuk meneruskan proses, ketika terjadi suatu permasalahan dengan menetapkan prosedur yang diperlukan dan back-up informasi untuk melindungi operasi mungkin hilang karena masalah tersebut. Faktor yang diuji :
a. Identifikasi akibat dari kegagalan.
b. Desain contingency plan.
c. Menyusun contingency plan dan prosedurnya.
d. Pengujian pemulihan.
e. Memastikan integritas dari pengujian sebelumnya.
f. Update contingency plan.

6. Service Level, Menekankan bahwa hasil yang diinginkan didapat dalam waktu yang diinginkan oleh user. Untuk mencapai keinginan tersebut, harus dilakukan penyesuaian antara keinginan user dengan sumber daya yang ada. Faktor yang diuji :
a. Identifikasi tingkat layanan yang diinginkan.
b. Desain metode untuk mencapai tingkat layanan.
c. Desain sistem untuk mencapai tingkat layanan.
d. Pengujian beban lebih.
e. Implementasi rencana pencegahan kegagalan instalasi.
f. Menjaga tingkat layanan.

7. Access control, Menekankan sumber daya sistem harus dilindungi dari kemungkinan modifikasi, pengrusakan, penyalahgunaan dan prosedur keamanan harus dijalankan secara penuh untuk menjamin integritas data dan program aplikasi. Faktor yang diuji :
a. Identifikasi hak akses.
b. Desain Prosedur akses.
c. Implementasi prosedur keamanan.
d. Pengujian kesesuaian.
e. Kontrol akses selama instalasi.
f. Menjaga keamanan.

8. Metodology, Menekankan bahwa aplikasi dirancang sesuai dengan strategi organisasi, kebijaksanaan, prosedur dan standar. Faktor yang diuji :
a. Penyesuaian kebutuhan dengan metodology.
b. Penyesuaian desain dengan metodology.
c. Penyesuaian program dengan metodology.
d. Penyesuaian pengujian dengan metodology.
e. Penyesuaian integrasi dengan metodology.
f. Penyesuaian perawatan dengan metodology.

9. Correctness, Menjamin pada data dmasukkan, proses dan output yang dihasilkan dari aplikasi harus akurat dan lengkap. Faktor yang diuji :
a. Identifikasi spesifikasi fungsional.
b. Penyesuaian desain dengan requitment.
c. Penyesuain program dengan desain.
d. Pengujian fungsional.
e. Ketepatan penempatan program dan data pada produksi.
f. Update kebutuhan.

10. Ease of use, Menekankan perluasan usaha yang diminta untuk belajar, mengoperasikan dan menyiapkan inputan dan menginterprestasikan output dari sistem. Faktor yang diuji :
a. Identifikasi spesifikasi kegunaan.
b. Desain penggunaan fasilitas.
c. Penyesuaian program dengan desain.
d. Pengujian dukungan panduan.
e. Penyebaran kegunaan instruksi.
f. Menjaga kemudahan penggunaan.

11. Maintainable, Usaha yang diminta untuk mengalokasi dan memperbaiki suatu eror dalam pengoperasian sistem. Faktor yang diuji :
a. Identifikasi spesifikasi kegunaan.
b. Desain dapat dirawat.
c. Program dapat dirawat.
d. Inspeksi.
e. Kelengkapan dokumentasi.
f. Menjaga kerawatan.

12. Portable, Usaha yang diminta untuk mengirimkan program dari satu konfigurasi hardware dan atau lingkungan sistem software ke lingkungan yang lain. Faktor yang diuji :
a. Identifikasi kebutuhan protabilitas.
b. Desain protabilitas.
c. Penyesuaian program dengan desain.
d. Disaster testing. e. Kelengkapan dokumentasi.
f. Menjaga protabilitas.

13. Coupling, Usaha yang diminta untuk menghubungkan komponen di dalam sistem aplikasi dan dengan sistem aplikasi yang lain dalam lingkungan pemrosesan. Faktor yang diuji :
a. Identifikasi antar muka system.
b. Kelengkapan desain antarmuka.
c. Penyesuaian program dengan desain.
d. Pengujian fungsional dan regresi.
e. Koordinasi antarmuka.
f. Memastikan antarmuka yang benar.

14. Performance, Jumlah perhitungan sumberdaya dan kode yang diminta sistem untuk melakukan fungsinya, termasuk ke dalamnya kerja maual dan otomatis. Faktor yang diuji :
 a. Identifikasi kriteria performance.
b. Kriteria pencapaian desain.
c. Kriteria pencapaian program.
 d. Pengujian kesesuaian.
e. Mengawasi performa instalasi.
f. Menjaga tingkat performance.

15. Ease of operations, Sejumlah usaha yang diminta untuk mengintegrasikan sistem ke dalam lingkungan operasi dan lingkungan sistem aplikasi, berupa prosedur manual dan otomatisasi. Faktor yang diuji :
a. Identifikasi kebutuhan operasional.
b. Mengkomunikasikan kebutuhan pada operasi.
c. Mengembangkan prosedur operasi.

d. Pengujian operasi.

Teknik Pengujian Perangkat Lunak

Teknik-teknik pengujian
Pengujian perangkat lunak tentunya tidak terlepas dari teknik-teknik pengujian yang digunakan. Teknik pengujian terdiri dari 3 yakni white box, black box dan grey box. Dalam tiap-tiap teknik pengujian terdapat beberapa teknik yang dijelaskan lebih detail sebagai berikut:

1. Teknik pengujian white box
Pengujian white box adalah menguji alur logika dalam program yang berhubungan dengan
source code. Dalam white box terdapat beberapa teknik pengujian yang digunakan yakni basis  path testing, control structure testing, data flow testing, loop testing. Teknik pengujian dalam
whitebox yang paling sering digunakan adalah basis path testing.

2. Teknik pengujian black box
Teknik pengujian dalam pengujian black box diantaranya adalah graph based testing (pengujian yang dilakukan dengan menggunakan graph untuk menguji objek pada modul beserta hubungannya agar dapat diuji), boundary value analysis (dalam pengujian ini memilih kasus uji dengan menemukan batas-batas dari sebuah kelas pada suatu data), equivalence testing (dalam pengujian domain masukan sebuah program dibagi ke dalam sebuah kelas data untuk membuat kasus uji yang tepat), dan comparison testing (pengujian ini biasanya digunakan untuk program yang terdapat redundancy).

3. Teknik pengujian grey box

Grey Box Testing adalah sebuah metodologi kombinasi dari Black Box dan White Box Testing, menguji software berdasarkan spesifikasi tetapi menggunakan cara kerja dari dalam. Grey Box dapat di gunakan dengan baik dalam pengujian tim

SDLC

System Development Lyfe Cycle (SDLC) adalah keseluruhan proses dalam membangun sistem melalui beberapa langkah. Ada beberapa model SDLC. Model yang cukup populer dan banyak digunakan adalah waterfall. Beberapa model lain SDLC misalnya fountain, spiral, rapid, prototyping, incremental, build & fix, dan synchronize & stabilize.
Dengan siklus SDLC, proses membangun sistem dibagi menjadi beberapa langkah dan pada sistem yang besar, masing-masing langkah dikerjakan oleh tim yang berbeda.
Dalam sebuah siklus SDLC, terdapat enam langkah. Jumlah langkah SDLC pada referensi lain mungkin berbeda, namun secara umum adalah sama. Langkah tersebut adalah

1. Analisis sistem, yaitu membuat analisis aliran kerja manajemen yang sedang berjalan
2. Spesifikasi kebutuhan sistem, yaitu melakukan perincian mengenai apa saja yang dibutuhkan dalam pengembangan sistem dan membuat perencanaan yang berkaitan dengan proyek sistem
3. Perancangan sistem, yaitu membuat desain aliran kerja manajemen dan desain pemrograman yang diperlukan untuk pengembangan sistem informasi
4. Pengembangan sistem, yaitu tahap pengembangan sistem informasi dengan menulis program yang diperlukan
5. Pengujian sistem, yaitu melakukan pengujian terhadap sistem yang telah dibuat
6. Implementasi dan pemeliharaan sistem, yaitu menerapkan dan memelihara sistem yang telah dibuat
Siklus SDLC dijalankan secara berurutan, mulai dari langkah pertama hingga langkah keenam. Setiap langkah yang telah selesai harus dikaji ulang, kadang-kadang bersama expert user, terutama dalam langkah spesifikasi kebutuhan dan perancangan sistem untuk memastikan bahwa langkah telah dikerjakan dengan benar dan sesuai harapan. Jika tidak maka langkah tersebut perlu diulangi lagi atau kembali ke langkah sebelumnya.
Kaji ulang yang dimaksud adalah pengujian yang sifatnya quality control, sedangkan pengujian di langkah kelima bersifat quality assurance. Quality control dilakukan oleh personal internal tim untuk membangun kualitas, sedangkan quality assurance dilakukan oleh orang di luar tim untuk menguji kualitas sistem. Semua langkah dalam siklus harus terdokumentasi. Dokumentasi yang baik akan mempermudah pemeliharaan dan peningkatan fungsi sistem
SDLC adalah tahapan-tahapan pekerjaan yang dilakukan oleh analis sistem dan programmer dalam membangun sistem informasi. Langkah yang digunakan meliputi :


1. Melakukan survei dan menilai kelayakan proyek pengembangan sistem informasi
2. Mempelajari dan menganalisis sistem informasi yang sedang berjalan
3. Menentukan permintaan pemakai sistem informasi
4. Memilih solusi atau pemecahan masalah yang paling baik
5. Menentukan perangkat keras (hardware) dan perangkat lunak (software)
6. Merancang sistem informasi baru
7. Membangun sistem informasi baru
8. Mengkomunikasikan dan mengimplementasikan sistem informasi baru
9. Memelihara dan melakukan perbaikan/peningkatan sistem informasi baru bila diperlukan

Kelebihan dan Kekurangan ACL (Audit Command Language)


Kelebihan ACL (Audit Command Language) :
1.       Penggunaan ACL akan membantu mereka dalam melaksanakan tugas audit secara lebih terfokus, cepat, efisien, efektif, dan murah dengan lingkup yang lebih luas dan analisis mendalam. Indikasi penyimpangan dapat dilakukan dengan cepat, akurat, dan dengan beraneka ragam analisis menggunakan ACL sehingga auditor dapat menemukan lebih banyak penyimpangandan memiliki lebih banyak waktu untuk melakukan pembuktian.
2.       Bagi manajemen, termasuk profesi akunting dan keuangan, ACL dapat membantu mereka dalam menganalisis data dan informasi perusahaan, pengujian pengendalian yang telah ada, dan pembuatan laporan manajemen secara cepat dan fleksibel.
3.       Untuk Sumber Daya Manusia/Pemeriksa, IT dan lainya: Dapat melakukan sistem pelaporan yang sesuai dengan keinginan atau laporan yang diinginkan (Independensi) dan dengan Akurasi dan Kwalitas Data yang sangat bagus. Sehingga data pelaporan dapat dipercaya. Proses pembuatan Rekapitulasi dengan sangat cepat. Pencarian Duplikasi Data seperti Identitas Kewarganegaraan (1 Orang memiliki lebih dari 1 Identitas).
4.       Untuk meringankan pekerjaan akuntan dalam melakukan pemeriksaan di lingkungan sistem informasi berbasis komputer atau pemrosesan data elektronik.
5.       Untuk menemukan berbagai penyelewengan atau pola dalam transaksi yang dapat mengindikasikan adanya kelemahan pengendalian atau kecurangan. Seperti kecurangan dalam laporan keuangan (dilakukan oleh pihak manajemen), korupsi, dan penyalahgunaan aset (dilakukan oleh karyawan).
6.       memungkinkan para penggunanya untuk menggabungkan data dari sistem yang berbeda untuk konversi, rekonsiliasi, dan kontrol sehingga dapat menjadi bagian dari sistem yang terintegrasi.
7.       ACL dapat membaca langsung baik jenis EBCDIC atau ASCII, sehingga tidak perlu untuk menngkonversi kedalam bentuk lain.
8.       Mudah dalam penggunaan.,, Built-in audit dan analisis data secara fungsional.
9.       Kemampuan menangani ukuran file yang tidak terbatas.
10.   Kemampuan mengekspor hasil audit.,, Pembuatan Laporan berkualitas tinggi.

Kelemahan ACL (Audit Command Language) :
1.      ACL adalah aplikasi yang hanya 'read-only', ACL tidak pernah mengubah data sumber asli sehingga aman untuk menganalisis jenis live-data.
2.      Untuk dapat mendeteksi berbagai kecurangan itu, auditor harus mempunyai pemahaman yang baik atas pengendalian internal yang diterapkan oleh perusahaan beserta kelemahan-kelemahannya. Dengan demikian, auditor dapat mengembangkan profil kecurangan untuk mengidentifikasi berbagai karakteristik data yang diperkirakan memiliki skema kecurangan jenis tertentu. Misalnya kecurangan dalam penggajian, pembayaran ke pemasok fiktif, dan gali lubang tutup lubang dalam piutang usaha.
3.      Walaupun manfaat yang didapatkan dengan menggunakan software ACL sangat banyak namun karena biaya yang dikeluarkan sangat besar sehingga masih banyak kantor akuntan yang menggunakan software ini. Hal inilah yang menjadi kendala para auditor dalam menggunakan Teknik Audit Berbantuan Komputer, selain itu apabila ingin menggunakan TABK haruslah melakukan pengembangan yang kontinyu kepada para staf yang akan menggunakan software tersebut yang tentunya memerlukan biaya yang tidak sedikit.

Fungsi ACL
Fungsi dari ACL adalah sebagai berikut :

  • Membatasi trafik jaringan untuk meningkatkan kinerja jaringan.
  • Mengatur jalur trafik, salah satu contohnya adalah menghentikan routing update jika tidak diperlukan untuk menghemat bandwith.
  • Pengontrolan daerah klien untuk mendapatkan akses jaringan.
  • Dapat memberikan hak akses keamanan dalam jaringan.
  • Memutuskan atau memblock trafik melalui interface router.


Sumber :
http://iweldolphin.blogspot.co.id/2013/05/kelebihan-dan-kekurangan-acl-audit.html
http://parkiranilmu.com/networking/acl-access-control-list/