Pengujian Sistem Pengujian Sistem Adalah Pengujian By Peni Kurniawati SkyshiDigital

Pengujian sistem adalah pengujian program perangkat lunak yang lengkap dan terintegrasi. Perangkat lunak atau yang sering dikenal dengan sebutan software hanyalah satuan elemen dari sistem berbasis komputer yang lebih besar. Biasanya, perangkat lunak dihubungkan dengan perangkat lunak dan perangkat keras lainnya.

Pengujian perangkat lunak dapat dibedakan menjadi dua yaitu Black Box Testing dan White Box Testing.

Black Box Testing atau yang sering dikenal dengan sebutan pengujian fungsional merupakan metode pengujian Perangkat Lunak yang digunakan untuk menguji perangkat lunak tanpa mengetahui struktur internal kode atau Program. Dalam pengujian ini, tester menyadari apa yang harus dilakukan oleh program tetapi tidak memiliki pengetahuan tentang bagaimana melakukannya.

Kelebihan Black Box Testing yaitu:

1. Efisien untuk segmen kode besar
2. Akses kode tidak diperlukan
3. Pemisahan antara perspektif pengguna dan pengembang

Kelemahan Black Box Testing yaitu:

1. Cakupan terbatas karena hanya sebagian kecil dari skenario pengujian yang dilakukan
2. Pengujian tidak efisien karena keberuntungan tester dari pengetahuan tentang perangkat lunak internal

White Box Testing merupakan metode pengujian perangkat lunak di mana struktur internal diketahui untuk menguji siapa yang akan menguji perangkat lunak. Pengujian ini membutuhkan pengetahuan internal tentang kemampuan sistem dan pemrograman.

Kelebihan White Box Testing yaitu:

1. Efisien dalam menemukan kesalahan dan masalah
2. Diperlukan pengetahuan tentang internal perangkat lunak yang sedang diuji bermanfaat untuk pengujian menyeluruh
3. Memungkinkan menemukan kesalahan tersembunyi
4. Membantu mengoptimalkan kode

Kelemahan White Box Testing yaitu:

1. Membutuhkan pengetahuan tingkat tinggi dari perangkat lunak internal yang sedang diuji
2. Membutuhkan akses kode

Hirarki Pengujian Perangkat Lunak

Pengujian perangkat lunak memiliki urutan-urutan mengenai beberapa hal yang perlu dilakukan. Berikut adalah kategori pengujian perangkat lunak yang disusun secara kronologis:

Unit Testing: Pengujian dilakukan pada setiap modul atau blok kode selama pengembangan. Pengujian ini biasanya dilakukan oleh developer yang menulis kode.

Integration Testing: Pengujian yang dilakukan Sebelum, selama, dan setelah integrasi modul baru ke dalam paket perangkat lunak utama. Pengujian ini melibatkan pengujian setiap modul kode dari masing-masing individu. Satu perangkat lunak dapat berisi beberapa modul yang sering dibuat oleh beberapa developer yang berbeda.

System Testing: Pengujian yang dilakukan oleh agen pengujian profesional pada produk perangkat lunak yang telah selesai sebelum perangkat lunak tersebut diperkenalkan secara umum.

Acceptance Testing: Pengujian beta dari produk yang dilakukan oleh pengguna akhir yang sebenarnya.

Jenis Pengujian Sistem

Terdapat sekitar 50 jenis pengujian sistem. Dari 50 jenis tersebut, terdapat beberapa pengujian sistem yang biasanya digunakan oleh perusahaan pengembang software atau perangkat lunak besar. Beberapa jenis tersebut diantaranya yaitu:

Usability Testing: Pengujian ini berfokus pada kemudahan pengguna dalam menggunakan aplikasi, fleksibilitas dalam menangani kontrol dan kemampuan sistem untuk memenuhi tujuannya.

Load Testing: Pengujian ini diperlukan untuk mengetahui bahwa solusi perangkat lunak akan bekerja di bawah beban nyata.

Regression Testing: Pengujian ini melibatkan pengujian yang dilakukan untuk memastikan bahwa tidak ada perubahan yang dibuat selama proses pengembangan telah menyebabkan bug baru. Hal ini juga digunakan untuk memastikan tidak ada bug lama yang muncul dari penambahan modul perangkat lunak baru dari waktu ke waktu.

Recovery Testing: Pengujian ini dilakukan untuk menunjukkan solusi perangkat lunak dapat diandalkan, dapat dipercaya, dan dapat berhasil menutup kemungkinan terjadinya crash.

Migration Testing: Pengujian ini dilakukan untuk memastikan bahwa perangkat lunak sistem dapat dipindahkan dari infrastruktur sistem lama ke infrastruktur infrastruktur sistem saat ini tanpa terjadi masalah.

Functional Testing atau Completeness Testing: Pengujian ini memerlukan pemikiran mengenai kemungkinan terjadinya fungsi yang hilang. Penguji membuat daftar fungsional tambahan yang bisa dikembangkan oleh suatu produk selama proses pengujian fungsional.

Hardware/ Software Testing: Pengujian ini terjadi ketika penguji fokus pada interaksi antara perangkat keras dan perangkat lunak sistem selama proses pengujian sistem.