Kamis, 02 November 2017

Faktor Pengujian Perangkat Lunak

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 sumberdaya 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 esain.
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.

Sumber :

Strategi Perangkat Lunak

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.
Sumber :

Teknik Pengujian Perangkat Lunak

Pengujian Dalam Perangkat Lunak

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 meenggunakan 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.

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 ketidakhadiran
kelas 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.

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.