Standar Uji Perangkat Lunak - Teknik Pengujian Perangkat Lunak

 Assalamualaikum Wr. Wb.

Pada postingan ini saya akan membagikan sebuah materi Tipe Testing. Tujuan saya membuat postingan ini adalah untuk memenuhi Tugas Materi 5 pada Mata Perkuliahan STANDAR UJI PERANGKAT LUNAK.

Berikut adalah pembahsannya



A. Pengertian Keamanan

    Keamanan komputer atau dikenal juga dengan sebutan cybersecurity atau IT security adalah keamanan informasi yang diaplikasikan kepada komputer dan jaringannya. Keamanan komputer bertujuan membantu pengguna agar dapat mencegah penipuan atau mendeteksi adanya usaha penipuan di sebuah sistem yang berbasis informasi

B. Metode Pengujian Keamanan

    Berikut adalah 5 metode pengujian Software:

1. White Box Testing

    Wjite Box 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.

    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 White Box Testing:

  • Kebenaran program dalam mendefinisikan algoritma dapat diketahui secara langsung dengan pengolahan path.
  • Menentukan kualitas pekerjaan coding dan pengaruhnya untuk standar coding.
  • karena penguji memiliki pengetahuan tentang kode sumber, sehingga menjadi sangat mudah untuk mengetahui jenis data yang dapat membantu dalam menguji aplikasi secara efektif
  • dapat membantu mengoptimalkan kode software
  • baris kode tambahan dapat dihapuskan agar tidak membawa cacat tersembunyi
  • karena pengetahuan penguji tentang kode, maka penulisan skenario pengujian dapat optimal

    Kekurangan White Box Testing:

  • 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.
  • karena diperlukan penguji yang handal agar dapat mempelajari alur proses dan kode sumber, sehingga menaikan biaya pengujian
  • terkadang tidak mungkin melihat ke setiap baris kode untuk menemukan kesalahan tersembunyi yang mungkin menimbulkan cacat, sehingga banyak proses akan tidak teruji.
  • sulit untuk mempertahankan White-Box testing, karena memerlukan alat khusus seperti analisa kode dan alat debugging


2. Black Box Testing

    Black Box adalah metode pengujian perangkat lunak yang tes fungsionalitas dari aplikasi yang bertentangan dengan struktur internal atau kerja. Tehnik pengujian pada metode ini merupakan tehnik pengujian tanpa mengetahui pengetahuan mengenai alur proses/struktur/desain dari program. Metode ini dinamakan “Black-Box” karena software, di mata penguji, seperti kotak hitam, tidak dapat terlihat. Secara umum, penguji akan berinteraksi langsung dengan antar muka program kemudian menyediakan berbagai macam input dan mengevaluasi output tanpa mengetahui bagaimana input tersebut akan diolah.

    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 Black Box:

  • 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.
  • cocok dan efisien untuk software skala besar
  • akses terhadap kode tidak diperlukan
  • dengan jelas memisahkan sudut pandang user dari sudut pandang pembuat software
  • penguji tidak memerlukan pengetahuan yang cukup dari implementasi, pemrograman, dan cara kerja sistem

    Kekurangan Black Box:

  • Ketika tester melakukan black box testing, tester tidak akan pernah yakin apakah perangkat lunak yang diuji telah benar-benar lolos pengujian.
  • Cakupan yang terbatas, karena hanya beberapa skenario yang benar-benar dijalankan
  • pengujian yang tidak efisien, karena penguji hanya memiliki pengetahuan yang terbatas mengenai aplikasi yang akan di uji
  • “blind coverage”, karena penguji tidak dapat menentukan bagian program tertentu atau bagian yang rawan terhadap kecacatan
  • skenario pengujian sulit dibuat


3. Grey Box Testing

    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

    Kelebihan Grey-Box Testing:

  • menawarkan manfaat gabungan Black-Box Testing dan White-Box Testing
  • penguji Grey-Box tidak bergantung pada kode sumber, tetapi mereka mengandalkan definisi antarmuka dan spesifikasi fungsional
  • berdasarkan informasi yang tersedia, penguji dapat merancang skenario uji yang sangat baik terutama di seputar protokol komunikasi dan penanganan tipe data
  • pengujian dilakukan dari sudut pandang pengguna dan bukan pembuat software

    Kekurangan Grey-Box Testing:

  • karena tidak memiliki akses untuk melihat kode software, sehingga cakupan pengujian menjadi terbatas
  • pengujian akan menjadi berlebihan jika pembuat software sudah menjalankan skenario pengujian
  • menguji setiap input yang mungkin tidak realistis karena akan memakan waktu yang sangat banyak, oleh karena itu, banyak alur program akan tidak teruji


4. Basis Path Testing

    Basis Path testing adalah Metode identifikasi yang berdasarkan pada jalur, struktur atauk oneksi yang ada dari suatu sistem ini biasa disebut juga sebagai branch testing, karena cabang-cabang dari kode atau fungsi logika diidentifikasi dan dites, atau disebut juga sebagai control-flow testing. 

    Metode ini menganalisis grafik aliran kontrol suatu program untuk menemukan satu set jalur eksekusi independen linier. Pengujian jalur dasar menjamin cakupan cabang yang lengkap (semua tepi grafik aliran kontrol), tetapi mencapai itu tanpa mencakup semua jalur yang mungkin dari grafik aliran kontrol yang terakhir biasanya terlalu mahal. 

    Ada 2 bentuk Basis path, yaitu:

  • Zero Path: Jalur penghubung yang tidak penting atau jalur pintas yang ada pada suatu sistem.
  • One Path: Jalur penghubung yang penting atau berupa proses pada suatu sistem. 

    Pengujian basis path adalah teknik pengujian whitebox pertama yang diusulkan Tom McCabe (1976). Basis path memungkinkan desainer test case mengukur kompleksitas logis dari desain prosedural dan pengukuran ini dijadikan pedoman dalam pendefinisian sekumpulan basis dari jalur eksekusi.

    Yang termasuk basis path test:

  1. Notasi Diagram Alir (Path Graph Notation)
  2. Kompleksitas Siklomatik
  3. Test Case
  4. Matriks Grafik (Graph Matrices)


5. Pengujian Struktur Kontrol

    Pengujian struktur kontrol adalah sebuah metode disain test case yang menggunakan kondisi logis yang ada pada suatu program. Contohnya Kondisi sederhana dari persamaan relasional

    Condition Testing bertujuan untuk mengeksekusi semua kondisi logik dari sebuah modul program. Pengujian kondisi (Condition Testing) adalah sebuah metode desain test case yang menggunakan kondisi logis yang ada pada suatu modul program. Metode pengujian kondisi berfokus pada pengujian setiap kondisi yang ada pada program.

    Keuntungan Pengujian Struktur Kontrol:

  • Memperkirakan pengujian berdasarkan kondisi adalah hal yang simpel.
  • Cakupan pengujian dapat mengarahkan pada penambahan kasus uji untuk semua program

    Strategi yang termasuk condition testing:

  • Branch Testing
  • Domain Testing
  • Branch dan Relational Operator Testing

    Kegunaan ujicoba kondisi adalah untuk mendeteksi, baik kesalahan kondisi dalam suatu program tetapi juga kesalahan lain dalam program. Tujuan pengujian kondisi adalah mendeteksi tidak hanya kesalahan di dalam program tetapi juga kesalahan lain dari program.. 


    Sekian materi yang saya posting di blog ini. Mohon maaf apabila ada kekurangan dan kesalahan dalam penulisan. Semoga dapat bermanfaat bagi kita semua

Terima Kasih

Wassalamualaikum Wr. Wb.


Penulis
Nama: Dharma Ajie Nur Rois
NPM: 1810 6311 70120
Kelas: 6G Fasilkom

-----------------------------------------------------------------------------------------------------------------------------------------------

Daftar Pustaka

  • https://johns1987.wordpress.com/2013/11/22/3-metode-pengujian-dalam-perangkat-lunak/
  • https://www.adhikrisnadermawan.com/2018/01/12/metode-pengujian-software/
  • https://www.dosenpendidikan.co.id/white-box-testing/
  • https://donysiswandi.wordpress.com/2013/12/28/jeinis-jenis-pengujian-pada-perangkat-lunak/
  • https://en.wikipedia.org/wiki/Basis_path_testing
  • http://adam_huda.staff.gunadarma.ac.id/Downloads/files/69301/Dasar-Dasar+Pengujian+Perangkat+Lunak.pdf

Komentar