Pengujian Perangkat Lunak

Logo Gambar
Unsplash/Computer

Pengujian Perangkat Lunak adalah proses menjalankan dan mengevaluasi sebuah PL secara manual maupun otomatis untuk menguji apakah PL sudah memenuhi persyaratan atau belum atau untuk menentukan perbedaan antara hasil yang diharapkan dengan hasil sebenarnya. Pelaksanaan pengujian PL biasanya disesuaikan dengan metodologi pembangunan PL yang digunakan. Pada umumnya pengujian dilakukan sesudah tahap pemograman,namun demikian perencanaan pengujian dilakukan mulai tahap analisis.

Tujuan Pengujian
1. Menilai apakah perangkat lunak yang dikembangkan telah memenuhi kebutuhan pemakai.
2. Menilai apakah tahap pengembangn PL sesuai dengan metodologi yang digunakan.
3. Membuat dokumentasi hasil pengujian yang menginformasikan kesesuaian PL yang diuji dengan spesifikasi yang ditentukan.

Tahap Pengujian
1. Tentukan apa yang akan diukur melalui pengujian.
2. Bagaimana pengujian akan dilaksanakan.
3. Membangun suatu kasus uji (test case) yaitu sekumpulan data atau situasi yang akan digunakan dalam pengujian.
4. Tentukan hasil yang akan diharapkan atau hasil yang sebenarnya.
5. Jalankan Kasus pengujian.
6. Bandingkan hasil pengujian dan hasil yang diharapkan. 
Pengujian Tahap Analisis
Pengujian pada tahap analisis ditekankan pada validasi terhadap kebutuhan,untuk menjamin bahwa kebutuhan telah dispesifikasi 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 pada tahap analisis :
1. Kebutuhan yang berkaitan dengan metodologi.
2. Pendefenisian spesifikasi fungsional
3. Penentuan spesifikasi kegunaan.
4. Penentuan kebutuhan portabilitas.
5. Pendefenisian antar muka sistem. 

Pengujian Tahap Perancangan
Pengujian tahap perancangan bertujuan untuk menguji struktur perangkat lunak yang diturunkan dari kebutuhan. Kebutuhan yang bersifat umum dirinci menjadi bentuk yang lebih spesifik.

Faktor-faktor pengujian yang dilakukan pada tahap perancangan :
1. Perancangan yang berkaitan dengan kebutuhan.
2. Kesesuaian perancangan dengan metodologi dan teori.
3. Portabilitas rancangan.
4. Perancangan perawatan.
5. Kebenaran rancangan berkaitan denganfungsi dan aliran data.
6. Kelengkapan perancangan antar muka.

Pengujian Tahap Implementasi
Pengujian pada tahap ini merupakan pengujian unit-unit yang dibuat sebelum diintegrasi menjadi aplikasi keseluruhan.

Faktor-faktor pengujian yang dilakukan pada tahap ini :
1. Kendali integritas data.
2. Kebenaran program.
3. Kemudahan pemakaian.
4. Sifat Coupling.
5. Pengembangan prosedur operasi.

Pengujian Tahap Pengujian
Tujuan pengujian pada tahap ini adalah untuk menilai apakah spesifikasi program telah ditulis menjadi instruksi-instruksi yang dapat dijalankan pada mesin. Selain itu juga untuk menilai apakah instruksi yang ditulis tersebut telah sesuai dengan spesifikasi program.

Pengujian dengan Kasus Uji
Pengujian yang dilakukan meliputi pengujian unit (berupa prosedur atau fungsi) dan pengujian sistem. Dalam pengujian unit,unit-unit yang diuji meliputi unit-unit yang ada dalam sistem,sedangkan pengujian sistem dilakukan terhadap sistem secara keseluruhan. Setiap pengujian dilakukan dengan menggunakan berbagai data masukan yang valid maupun tidak.

Teknik Pengujian
Ada dua teknik pengujian yang dapat digunakan untuk menguji Perangkat Lunak yaitu :
1. Teknik Black Box Testing.
2. Teknik White Box Testing.
3. Pengujian Respon Pengguna

Pengujian Black Box
Metode ujicoba black box memfokuskan pada keperluan fungsional dari software. Karena itu ujicoba blackbox memungkinkan pengembang software untuk membuat himpunan kondisi input yang akan melatih seluruh syarat-syarat fungsional suatu program. Ujicoba blackbox bukan merupakan alternatif dari ujicoba white box, tetapi merupakan pendekatan yang melengkapi untuk menemukan kesalahan lainnya

Ciri-ciri Black Box Testing
Black box testing berfokus pada kebutuhan fungsional pada software, berdasarkan pada spesifikasi kebutuhan dari software. Black box testing bukan teknik alternative daripada white box testing. Lebih daripada itu, ia merupakan pendekatan pelengkap dalam mencakup error dengan kelas yang berbeda dari metode white box testing. Black box testing melakukan pengujian tanpa pengetahuan detil struktur internal dari system atau komponen yang dites, juga disebut sebagai behavioral testing, specification based testing, input/output testing atau functional testing.

Pada black box testing jenis teknik desain tes yang dapat dipilih berdasarkan pada tipe testing yang akan digunakan, diantaranya:
- Equivalent class partitioning
- Boundary value analysis
- State transition testing
- Cause – effect graphing

Kategori Kesalahan 
- Fungsi-fungsi yang salah atau hilang 
- Kesalahan interface 
- Kesalahan dalam struktur data atau akses database eksternal 
- Kesalahan performa 
- Kesalahan inisialisasi dan terminasi

Proses Black Box Testing
- Menganalisis kebutuhan dan spesifikasi dari perangkat lunak. 
- Pemilihan jenis input yang memungkinkan menghasilkan output benar serta jenis input yang memungkinkan output salah pada perangkat lunak yang sedang diuji. 
- Menentukan output untuk suatu jenis input. 
- Pengujian dilakukan dengan input-input yang telah benar-benar diseleksi. 
- Melakukan pengujian. 
- Pembandingan output yang dihasilkan dengan output yang diharapkan. 
- Menentukan fungsionalitas yang seharusnya ada pada perangkat lunak yang sedang diuji.

Ruang Lingkup Black Box
Black Box testing dapat dilakukan pada setiap level pembangunan sistem. Mulai dari unit, integration, system, dan acceptance.

Ruang Lingkup Black Box

Keunggulan dan Kelemahan 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. 
- Ketika tester melakukan black box testing, tester tidak akan pernah yakin apakah perangkat lunak yang diuji telah benar-benar lolos pengujian.

Contoh Pengujian Black Box

Contoh Pengujian Blackbox 1
Contoh Pengujian Black Box 1

Contoh Pengujian Blackbox 2
Contoh Pengujian Black Box 2

Contoh Pengujian Blackbox 3
Contoh Pengujian Black Box 3

Contoh Pengujian Blackbox 4
Contoh Pengujian Black Box 4

Contoh Pengujian Blackbox 5
Contoh Pengujian Black Box 5

Contoh Pengujian Blackbox 6
Contoh Pengujian Black Box 6

Contoh Pengujian Blackbox 7
Contoh Pengujian Black Box 7

Contoh Pengujian Blackbox 8
Contoh Pengujian Black Box 8

White Box Testing
Dikenal juga dengan nama  glass box, structural, clear box dan open box testing. Merupakan teknik testing perangkat lunak yang harus mengetahui secara detail tetang perangkat lunak yang akan di uji. Untuk pengujian yang lengkap maka suatu perangkat lunak harus diuji dengan  white box dan black box testing.

White Box dan Black Box testing

White Box dan Black Box testing

Dengan Menggunakan white box testing, software engineer dapat medesain suatu  test cases yang dapat digunakan untuk :
1. Menguji setiap jalur independent
2. Menguji keputusan logic (true atau falsa )
3. Menguji Loops dan batasannya 
4. Menguji Data Struktur internalnya 

White Box Testing menggunakan 3 macam tahapan testing 
1. Unit Testing
2. Integration testing
3. Regression Testing

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.

Rencana Pengujian
- Proses testing
Deskripsi fase-fase utama dalam pengujian
- Pelacakan Kebutuhan
Semua kebutuhan user diuji secara individu
- Item yg diuji
Menspesifikasi komponen sistem yang diuji
- Jadwal Testing
- Prosedur Pencatatan Hasil dan Prosedur Kebutuhan akan Hardware dan Software
- Kendala-kendala
Misal: kekurangan staff, alat, waktu dll.

Hubungan antara rencana pengujian dan proses pengembangan system

Hubungan antara rencana pengujian dan proses pengembangan system

Proses Testing

Proses Testing

Proses Defect Testing

Proses Defect Testing

Prioritas Testing
- Hanya test yang lengkap yang dapat meyakinkan sistem terbebas dari kesalahan, tetapi hal ini sangat sulit dilakukan.
- Prioritas dilakukan terhadap pengujian kemampuan sistem, bukan masing-masing komponennya.
- Pengujian untuk situasi yg tipikal lebih penting dibandingkan pengujian terhadap nilai batas.

Test Data dan Kasus Test
- Test data: Input yang yang direncanakan digunakan oleh sistem.
- Test cases: Input yang digunakan untuk menguji sistem dan memprediksi output dari input jika sistem beroperasi sesuai dengan spesifikasi.

White Box Testing

White Box Testing

Contoh Pengujian White Box

Contoh Pengujian Whitebox
Contoh Pengujian White Box 1

Contoh Pengujian Whitebox 2
Contoh Pengujian White Box 2

Contoh Pengujian Whitebox 3
Contoh Pengujian White Box 3

Contoh Pengujian Whitebox 4
Contoh Pengujian White Box 4

Contoh Pengujian Whitebox 5
Contoh Pengujian White Box 5

Contoh Pengujian Whitebox 6
Contoh Pengujian White Box 6

Contoh Pengujian Whitebox 7
Contoh Pengujian White Box 7

Pengujian perangkat lunak pada kasus pengembangan perangkat lunak kami :
Judul              : Pembuatan sistem informasi penjualan berbasis desktop pada Toko Mainan Anak Dana Sentosa.
Deskripsi       : Sistem informasi atau software yang digunakan untuk melakukan kegiatan transaksi
atau pembelian mainan pada Toko Mainan Anak Dana Sentosa.
Metode          : Black Box & White Box

Hasil dan Pembahasan :

Pengujian Black Box

Black Box Testing

Gambar asli dapat diunduh DISINI

Pada pengujian black box, dilakukan pengujian pada proses-proses sistem yaitu mulai dari penginputan data produk, pendaftaran sampai pembayaran. Hasil dari semua pengujian black box adalah valid atau benar atau betul sesuai dengan fungsinya.

Pengujian White Box

Proses Kelola Data Produk

FC Kelola Data Produk Gagal

Proses kelola data produk pada gambar flowchart di atas adalah salah karena terdapat kesalahan pada hasil keputusan Apakah berhasil ? Jika hasil keputusan "Ya" seharusnya proses dilanjut dengan data disimpan di sistem. Sedangkan bila hasil keputusan "Tidak" maka pegawai akan mengulang untuk menginputkan data produk. Dari hasil tersebut dapat disimpulkan bahwa pengujian pada proses kelola data produk adalah invalid atau salah atau tidak sesuai pada proses seharusnya.

Proses kelola data produk yang seharusnya sebagai berikut :

FC Kelola Data Produk

Hasil pengujian proses kelola data produk adalah valid atau benar atau betul sesuai prosesnya.

Source Code (JAVA) Proses Kelola Data Produk :
import java.util.*;
public class Kelola Data Produk {
    /**
     * Default constructor
     */
    public Kelola Data Produk() {
    }
    public varchar ID_Produk;
    public varchar Nama_Produk;
    public image Gambar;
    public varchar Deskripsi;
    public money Harga;
    public  number Stok;
    public void Input_data_produk() {
        // TODO implement here
    }
    public void Menyimpan_data_produk() {
        // TODO implement here
    }
    public void Menampilkan_data_produk() {
        // TODO implement here
    }
}

Proses Pendaftaran

FC Pendaftaran

Penjelasan proses pendaftaran telah dijabarkan dan sesuai seperti pada gambar flowchart proses pendaftaran diatas. Hasil pengujian proses pendaftaran adalah valid atau benar atau betul sesuai prosesnya.

Source Code (JAVA) Pendaftaran :
import java.util.*;
public class Pendaftaran {
    /**
     * Default constructor
     */
    public Pendaftaran() {
    }
    public varchar ID_Pendaftaran;
    public varchar ID_Pembeli;
    public varchar Nama_Pembeli;
    public varchar Alamat_Pembeli;
    public varchar Email;
    public  number No_Telp;
    public varchar Username;
    public varchar Password;
    public void Input_data_pendaftaran() {
        // TODO implement here
    }
    public void create() {
        // TODO implement here
    }
    public void save() {
        // TODO implement here
    }
    public void Mengirim_data_pendaftaran() {
        // TODO implement here
    }
}
Proses Login

FC Login Salah

Proses login pada gambar flowchart di atas adalah salah karena terdapat kesalahan pada proses setelah proses Pemeriksaan data akun. Setelah proses Pemeriksaan data akun, apabila data akun sesuai atau berhasil maka seharusnya sistem akan melanjutkan ke halaman beranda atau tampilan produk. Dari hasil tersebut dapat disimpulkan bahwa pengujian pada proses login adalah invalid atau salah atau tidak sesuai pada proses seharusnya.

Proses login yang seharusnya sebagai berikut :

FC Login

Hasil pengujian proses login adalah valid atau benar atau betul sesuai prosesnya.

Source Code (JAVA) Login :
import java.util.*;
public class Login {
    /**
     * Default constructor
     */
    public Login() {
    }
    public varchar Username;
    public varchar Password;
    public void Input_data_akun() {
        // TODO implement here
    }
    public void Mengirim_data_akun() {
        // TODO implement here
    }
}
Proses Pemesanan

FC Pemesanan

Penjelasan proses pemesanan telah dijabarkan dan sesuai seperti pada gambar flowchart proses pemesanan diatas. Hasil pengujian proses pemesanan adalah valid atau benar atau betul sesuai prosesnya.

Source Code (JAVA) Pemesanan :
import java.util.*;
public class Pemesanan {
    /**
     * Default constructor
     */
    public Pemesanan() {
    }
    public varchar ID_Pesanan;
    public varchar ID_Pemesan;
    public varchar Nama_Pemesan;
    public varchar Alamat_Pengiriman_Pesanan;
    public varchar ID_Produk;
    public varchar Nama_Produk;
    public number Jumlah_Total_Pesanan;
    public money Total_Harga;
    public datetime Tanggal_Pemesanan;
    public void Melihat_produk_atau_pesanan() {
        // TODO implement here
    }
    public void Membuat_pesanan() {
        // TODO implement here
    }
    public void Menyimpan_pesanan() {
        // TODO implement here
    }
}
Proses Pembayaran

FC Pembayaran

Penjelasan proses pembayaran telah dijabarkan dan sesuai seperti pada gambar flowchart proses pembayaran diatas. Hasil pengujian proses pembayaran adalah valid atau benar atau betul sesuai prosesnya.

Source Code (JAVA) Pembayaran :
import java.util.*;
public class Pembayaran {
    /**
     * Default constructor
     */
    public Pembayaran() {
    }
    public varchar ID_Pembayaran;
    public varchar ID_Pengirim;
    public varchar Nama_Pengirim;
    public varchar Alamat_Pengirim;
    public varchar Metode_Pembayaran;
    public money Nominal_Uang;
    public number Nomor_Tujuan_Pengiriman;
    public datetime Tanggal_Pembayaran;
    public varchar ID_Produk;
    public varchar Nama_Produk;
    public number Jumlah_Total_Pesanan;
    public money Total_Harga;
    public void Input_data_pembayaran() {
        // TODO implement here
    }
    public void Mengirim_data_pembayaran() {
        // TODO implement here
    }
}

Proses Pengiriman Barang & Bukti Transaksi

FC Pengiriman Barang & Bukti Transaksi

Penjelasan proses pengiriman barang & bukti transaksi telah dijabarkan dan sesuai seperti pada gambar flowchart proses pengiriman barang & bukti transaksi diatas. Hasil pengujian proses pengiriman barang & bukti transaksi adalah valid atau benar atau betul sesuai prosesnya.

Source Code (JAVA) Pengiriman Barang & Bukti Transaksi :
import java.util.*;
public class Pengiriman Barang & Bukti Transaksi {
    /**
     * Default constructor
     */
    public Pengiriman Barang & Bukti Transaksi() {
    }
    public varchar ID_Pengiriman;
    public varchar ID_Pembeli;
    public varchar Nama_Pembeli;
    public varchar Alamat_Pembeli;
    public varchar Email;
    public  number No_Telp;
    public varchar ID_Produk;
    public varchar Nama_Produk;
    public number Jumlah_Total_Pesanan;
    public money Total_Harga;
    public datetime Tanggal_Pengiriman;
    public void Mencetak_bukti_transaksi() {
        // TODO implement here
    }
    public void Mengirim_barang_&_bukti_transaksi() {
        // TODO implement here
    }
}

Proses Pembuatan Laporan Penjualan

FC Pembuatan Laporan Penjualan

Penjelasan proses pembuatan laporan penjualan telah dijabarkan dan sesuai seperti pada gambar flowchart proses pembuatan laporan penjualan diatas. Hasil pengujian proses pembuatan laporan penjualan adalah valid atau benar atau betul sesuai prosesnya.

Source Code (JAVA) Pembuatan Laporan Penjualan :
import java.util.*;
public class Pembuatan Laporan Penjualan {
    /**
     * Default constructor
     */
    public Pembuatan Laporan Penjualan() {
    }
    public varchar ID_Penjualan;
    public varchar ID_Pembeli;
    public varchar Nama_Pembeli;
    public varchar Alamat_Pembeli;
    public varchar Alamat_Pengiriman_Pesanan;
    public varchar Email;
    public  number No_Telp;
    public varchar ID_Produk;
    public varchar Nama_Produk;
    public number Jumlah_Total_Pesanan;
    public money Total_Harga;
    public varchar ID_Pembayaran;
    public varchar Metode_Pembayaran;
    public money Nominal_Uang;
    public datetime Tanggal_Transaksi;
    public void Menyimpan_laporan_penjualan() {
        // TODO implement here
    }
    public void Melihat_laporan_penjualan() {
        // TODO implement here
    }
    public void Mencetak_laporan_penjualan() {
        // TODO implement here
    }
}

Komentar

Postingan Populer

Kebutuhan Fungsional Dan Non Fungsional

Penjelasan Model-Model Proses Pengembangan Perangkat Lunak

Metode Prototype, Contoh Penggunaan dan Cara Menggunakannya

Metode Extreme Programming, Contoh Penggunaan dan Cara Menggunakannya

Metode RAD, Contoh Penggunaan dan Cara Menggunakannya

Desain Perangkat Lunak

Metode Waterfall, Contoh Penggunaan dan Cara Mengunakannya

Jenis-jenis Perangkat Lunak Atau Software

Elisitasi Kebutuhan