Pengujian perangkat lunak
Pengujian perangkat lunak (bahasa Inggris: software testing) merupakan suatu investigasi yang dilakukan untuk mendapatkan informasi mengenai kualitas dari produk atau layanan yang sedang diuji (under test).[1] Pengujian perangkat lunak juga memberikan pandangan mengenai perangkat lunak secara obyektif dan independen, yang bermanfaat dalam operasional bisnis untuk memahami tingkat risiko pada implementasinya. Teknik-teknik pengujian mencakup, tetapi tidak terbatas pada, proses mengeksekusi suatu bagian program atau keseluruhan aplikasi dengan tujuan untuk menemukan bug perangkat lunak (kesalahan atau cacat lainnya).[2]
Pengujian perangkat lunak dapat dinyatakan sebagai proses validasi dan verifikasi bahwa sebuah program / aplikasi / produk:
- Memenuhi kebutuhan (requirement) yang mendasari perancangan dan pengembangan perangkat lunak tersebut;
- Berjalan sesuai dengan yang diharapkan;
- Dapat diterapkan menggunakan karakteristik yang sama;
- Memenuhi kebutuhan semua pihak yang berkepentingan.
Sejarah
suntingGlenford J Glenford. Myers awalnya memperkenalkan pemisahan debugging dan pengujian pada tahun 1979.[3] Meskipun fokusnya adalah pada pengujian kerusakan ("Kasus pengujian yang berhasil adalah yang menemukan bug yang belum ditemukan".), menggambarkan keinginan komunitas pemrograman untuk memisahkan aktivitas pengembangan fundamental, seperti debugging, dari verifikasi.
Raleigh
suntingPengujian perangkat lunak dapat dilakukan oleh penguji perangkat lunak khusus; sampai tahun 1980-an istilah 'penguji perangkat lunak' biasanya digunakan, tetapi kemudian juga dilihat sebagai profesi yang terpisah.[4][5][6] Hingga tahun 1970-an, pengujian video game ditangani oleh para pengembangnya sendiri.[7][8] Mengenai periode dan tujuan pengujian perangkat lunak yang berbeda,[9] peran yang berbeda seperti manajer pengujian, pemimpin pengujian, analis pengujian, pengembang pengujian, penguji, pengembang otomasi, dan administrator pengujian telah ditetapkan. Pengujian perangkat lunak juga dapat dilakukan oleh penguji perangkat lunak pihak ketiga.[10]
Kombinasi masukan dan prasyarat
suntingMasalah mendasar dalam pengujian perangkat lunak adalah bahwa pengujian dengan semua kombinasi data input dan prasyarat (kondisi awal) tidak mungkin dilakukan bahkan dengan produk yang sederhana sekalipun.[11] Ini berarti bahwa jumlah bug dalam produk perangkat lunak bisa sangat banyak, dan cacat yang jarang terjadi sulit untuk dideteksi selama pengujian dan debugging.
Catatan kaki
sunting- ^ Exploratory Testing Diarsipkan 2009-01-26 di Wayback Machine., Cem Kaner, Florida Institute of Technology, Quality Assurance Institute Worldwide Annual Software Testing Conference, Orlando, FL, November 2006
- ^ "Definisi Pengujian, Kualitas dan Hubungannya". Diakses tanggal 2021-05-21.
- ^ "The Art of Software Testing". books.google.com. Diakses tanggal 2024-03-22.
- ^ "What is software testing?". www.techtarget.com. Diakses tanggal 2024-03-22.
- ^ "Software Testing". sitthykun.wordpress.com. Diakses tanggal 2024-03-22.
- ^ "What is Software Testing? Basics, Tutorial, Importance, Interview Questions". tryqa.com. Diakses tanggal 2024-03-22.
- ^ "The History of Game Development: From RPG to FPS". gamedevexplained.com. Diakses tanggal 2024-03-22.
- ^ "When Did Game Testers Became a Thing? How Can I Become One?". wordfoxes.com. Diakses tanggal 2024-03-22.
- ^ "The growth of software testing". dl.acm.org. Diakses tanggal 2024-03-22.
- ^ "More Agile Testing: Learning Journeys for the Whole Team". books.google.com. Diakses tanggal 2024-03-22.
- ^ "Testing Computer Software". books.google.com. Diakses tanggal 2024-03-22.