Pengujian perangkat lunak, atau pengujian perangkat lunak, juga dikenal sebagai pengujian aplikasi.
Pengujian perangkat lunak terutama merupakan proses besar yang terdiri dari beberapa proses yang saling berhubungan. Tujuan utama pengujian perangkat lunak adalah untuk mengukur integritas perangkat lunak beserta kelengkapannya dalam hal persyaratan fundamentalnya. Pengujian perangkat lunak melibatkan pemeriksaan dan pengujian perangkat lunak melalui proses pengujian yang berbeda. Tujuan dari proses ini mungkin termasuk:
Verifikasi kelengkapan perangkat lunak terhadap persyaratan fungsional/bisnis
Mengidentifikasi bug/kesalahan teknis dan memastikan bahwa perangkat lunak bebas dari kesalahan
Evaluasi kegunaan, kinerja, keamanan, lokalisasi, kompatibilitas dan instalasi
Perangkat lunak yang diuji harus lulus semua pengujian agar lengkap atau layak untuk digunakan. Beberapa jenis metode pengujian perangkat lunak yang berbeda termasuk pengujian kotak putih, pengujian kotak hitam, dan pengujian kotak abu-abu. Selanjutnya, perangkat lunak dapat diuji secara keseluruhan, dalam komponen/unit atau dalam sistem hidup.
Black Box Testing adalah teknik pengujian perangkat lunak yang berfokus pada analisis fungsionalitas perangkat lunak, sehubungan dengan cara kerja internal sistem. Black Box Testing dikembangkan sebagai metode untuk menganalisis kebutuhan pelanggan, spesifikasi, dan strategi desain tingkat tinggi.
Penguji Black Box Testing memilih sekumpulan eksekusi kode yang valid dan tidak valid serta kondisi input dan memeriksa respons output yang valid.
Pengujian Kotak Hitam juga dikenal sebagai pengujian fungsional atau pengujian kotak tertutup.
Mesin pencari adalah contoh sederhana dari subjek aplikasi untuk pengujian kotak hitam. Seorang pengguna mesin pencari memasukkan teks ke dalam bilah pencarian browser web. Mesin pencari kemudian menempatkan dan mengambil hasil data pengguna (output).
Manfaat Black Box Testing antara lain:
Pengujian Black Box juga memiliki beberapa kelemahan, sebagai berikut:
Selama pengujian kotak putih, kode dijalankan dengan nilai input yang dipilih sebelumnya untuk memvalidasi nilai output yang dipilih sebelumnya. Pengujian kotak putih sering melibatkan penulisan kode rintisan (sepotong kode yang digunakan untuk menggantikan fitur tertentu. Sebuah rintisan dapat mensimulasikan perilaku kode yang ada, seperti prosedur pada mesin jarak jauh.) dan juga driver.
Manfaat pengujian kotak putih meliputi:
Kerugiannya meliputi:
Tes Unit adalah komponen Siklus Hidup Pengembangan Perangkat Lunak (SDLC) di mana prosedur pengujian komprehensif diterapkan secara individual ke bagian terkecil dari program perangkat lunak untuk kesesuaian atau perilaku yang diinginkan.
Tes unit adalah prosedur pengukuran dan evaluasi kualitas yang diterapkan di sebagian besar aktivitas pengembangan perangkat lunak perusahaan. Secara umum, pengujian unit mengevaluasi seberapa baik kode perangkat lunak sesuai dengan tujuan keseluruhan perangkat lunak/aplikasi/program dan bagaimana kesesuaiannya memengaruhi unit lain yang lebih kecil. Pengujian unit dapat dilakukan secara manual – oleh satu atau lebih pengembang – atau melalui solusi perangkat lunak otomatis.
Selama pengujian, setiap unit diisolasi dari program utama atau antarmuka. Tes unit biasanya dilakukan setelah pengembangan dan sebelum penerapan, sehingga memfasilitasi integrasi dan deteksi masalah sejak dini. Ukuran atau ruang lingkup unit bervariasi tergantung pada bahasa pemrograman, aplikasi perangkat lunak, dan tujuan pengujian.
Pengujian fungsional adalah proses pengujian yang digunakan dalam pengembangan perangkat lunak di mana perangkat lunak diuji untuk memastikan bahwa perangkat lunak tersebut memenuhi semua persyaratan. Ini adalah cara memeriksa perangkat lunak untuk memastikan bahwa ia memiliki semua fungsionalitas yang diperlukan yang ditentukan dalam persyaratan fungsionalnya.
Pengujian fungsional terutama digunakan untuk memverifikasi bahwa perangkat lunak memberikan output yang sama seperti yang dibutuhkan oleh pengguna akhir atau bisnis. Biasanya, pengujian fungsional melibatkan evaluasi dan perbandingan setiap fungsi perangkat lunak terhadap kebutuhan bisnis. Perangkat lunak diuji dengan memberikannya beberapa masukan terkait sehingga keluaran dapat dievaluasi untuk melihat bagaimana sesuai, terkait, atau bervariasi dari persyaratan dasarnya. Selain itu, pengujian fungsional juga memeriksa kegunaan perangkat lunak, misalnya memastikan bahwa fungsi navigasi berfungsi sesuai kebutuhan.
Pengujian regresi adalah jenis pengujian perangkat lunak yang digunakan untuk menentukan apakah masalah baru merupakan hasil dari perubahan perangkat lunak.
Sebelum menerapkan perubahan, sebuah program diuji. Setelah perubahan diterapkan, program diuji ulang di area yang dipilih untuk mendeteksi apakah perubahan tersebut telah menimbulkan bug atau masalah baru, atau apakah perubahan yang sebenarnya telah memenuhi tujuan yang dimaksudkan.
Pengujian regresi sangat penting untuk aplikasi perangkat lunak besar, karena seringkali sulit untuk mengetahui apakah mengubah satu bagian dari suatu masalah telah menciptakan masalah baru untuk bagian aplikasi yang berbeda. Misalnya, perubahan formulir permohonan pinjaman bank dapat mengakibatkan gagalnya laporan transaksi bulanan. Dalam kebanyakan kasus, masalah mungkin tampak tidak berhubungan, tetapi sebenarnya bisa menjadi penyebab frustrasi di antara pengembang aplikasi.
Situasi lain yang memerlukan pengujian regresi termasuk mendeteksi apakah perubahan tertentu mencapai tujuan yang ditetapkan atau menguji bahaya baru yang terkait dengan masalah yang muncul kembali setelah periode tanpa masalah.
Pengujian regresi modern terutama ditangani melalui alat pengujian komersial khusus yang mengambil snapshot dari perangkat lunak yang ada yang kemudian dibandingkan setelah menerapkan perubahan tertentu. Hampir tidak mungkin bagi penguji manusia untuk melakukan tugas yang sama seefisien penguji perangkat lunak otomatis. Hal ini terutama terjadi pada aplikasi perangkat lunak yang besar dan kompleks dalam lingkungan TI yang besar seperti bank, rumah sakit, perusahaan manufaktur, dan pengecer besar.
Stress testing mengacu pada pengujian perangkat lunak atau perangkat keras untuk menentukan apakah kinerjanya memuaskan dalam kondisi ekstrim dan tidak menguntungkan, yang dapat terjadi sebagai akibat dari lalu lintas jaringan yang padat, pemuatan proses, underclocking, overclocking, dan tuntutan penggunaan sumber daya puncak.
Sebagian besar sistem dikembangkan dengan asumsi kondisi operasi normal. Oleh karena itu, meskipun batas terlampaui, kesalahan dapat diabaikan jika sistem diuji tegangan selama pengembangan.
Tes stres digunakan dalam konteks berikut:
Pengujian otomatis (otomasi pengujian perangkat lunak) adalah pendekatan pengujian kode yang menggunakan alat perangkat lunak khusus yang menjalankan pengujian secara otomatis dan kemudian membandingkan hasil pengujian aktual dengan hasil yang diharapkan.
Pengujian otomatis memainkan peran penting dalam Continuous Delivery (CD), Continuous Integration (CI), DevOps, dan DevSecOps. Manfaat utama pengujian otomatis meliputi:
Dalam pengembangan perangkat lunak, sangat berguna untuk melakukan pengujian otomatis selama proses pembuatan untuk memastikan bahwa aplikasi bebas dari kesalahan pembuatan dan menjalankan fungsi yang dimaksudkan.
Meluangkan waktu untuk mengotomatiskan pengujian perangkat lunak pada akhirnya akan menghemat waktu pengembang dengan mengurangi risiko perubahan kode akan merusak fungsionalitas yang ada.
Pengujian merupakan tahapan yang sangat penting dalam proses pengembangan. Memastikan bahwa semua bug telah diperbaiki dan bahwa produk, perangkat lunak atau perangkat keras, bekerja sebagaimana mestinya atau sedekat mungkin dengan kinerja targetnya. Pengujian otomatis, daripada pengujian manual, sangat penting untuk secara konsisten menghadirkan perangkat lunak hemat biaya yang memenuhi kebutuhan pengguna secara tepat waktu dengan cacat minimal.
Pengujian manual masih dilakukan di berbagai waktu selama pengembangan, tetapi ini sebagian besar dilakukan oleh pengembang atau insinyur perangkat keras itu sendiri untuk melihat dengan cepat apakah perubahan yang mereka buat memiliki efek yang diinginkan.
Ercole Palmeri
CMA Inggris telah mengeluarkan peringatan tentang perilaku Big Tech di pasar kecerdasan buatan. Di sana…
Keputusan "Rumah Hijau", yang dirumuskan oleh Uni Eropa untuk meningkatkan efisiensi energi bangunan, telah mengakhiri proses legislatifnya dengan…
Laporan tahunan Casaleggio Associati tentang E-niaga di Italia disajikan. Laporan berjudul “AI-Commerce: garis depan E-niaga dengan Kecerdasan Buatan”.…
Hasil dari inovasi teknologi yang terus-menerus dan komitmen terhadap lingkungan dan kesejahteraan masyarakat. Bandalux mempersembahkan Airpure®, sebuah tenda…