Pengujian perangkat lunak

Pengujian perangkat lunak (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).Lainnya [2]

Pengujian perangkat lunak dapat dinyatakan sebagai proses validasi dan verifikasi bahwa sebuah program / aplikasi / produk:

  1. Memenuhi kebutuhan (requirement) yang mendasari perancangan dan pengembangan perangkat lunak tersebut;
  2. Berjalan sesuai dengan yang diharapkan;
  3. Dapat diterapkan menggunakan karakteristik yang sama;
  4. Memenuhi kebutuhan semua pihak yang berkepentingan.

Sejarah

Glenford 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

Pengujian 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

Masalah 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

  1. ^ 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
  2. ^ "Definisi Pengujian, Kualitas dan Hubungannya". Diakses tanggal 2021-05-21. 
  3. ^ "The Art of Software Testing". books.google.com. Diakses tanggal 2024-03-22. 
  4. ^ "What is software testing?". www.techtarget.com. Diakses tanggal 2024-03-22. 
  5. ^ "Software Testing". sitthykun.wordpress.com. Diakses tanggal 2024-03-22. 
  6. ^ "What is Software Testing? Basics, Tutorial, Importance, Interview Questions". tryqa.com. Diakses tanggal 2024-03-22. 
  7. ^ "The History of Game Development: From RPG to FPS". gamedevexplained.com. Diakses tanggal 2024-03-22. 
  8. ^ "When Did Game Testers Became a Thing? How Can I Become One?". wordfoxes.com. Diakses tanggal 2024-03-22. 
  9. ^ "The growth of software testing". dl.acm.org. Diakses tanggal 2024-03-22. 
  10. ^ "More Agile Testing: Learning Journeys for the Whole Team". books.google.com. Diakses tanggal 2024-03-22. 
  11. ^ "Testing Computer Software". books.google.com. Diakses tanggal 2024-03-22. 
  • l
  • b
  • s
Rekayasa perangkat lunak
Bidang
  • Analisis persyaratan
  • Analisis sistem
  • Desain perangkat lunak
  • Pemrograman komputer
  • Metode formal
  • Pengujian perangkat lunak
  • Penyebaran perangkat lunak
  • Pemeliharaan perangkat lunak
Konsep
Orientasi
  • Agile
  • Berorientasi aspek
  • Berorientasi objek
  • Ontologi
  • Orientasi layanan
  • SDLC
Model
Model pengembangan
  • Agile
  • Model perancangan
  • RUP
  • EUP
  • Scrum
  • Model spiral
  • Model air terjun
  • XP
  • V-Model
  • Model bertahap
  • Model prototipe
Model lain
  • Automotive SPICE
  • CMMI
  • Model data
  • Model fungsi
  • Model informasi
  • Metamodeling
  • Model objek
  • Model sistem
  • Model pandangan
Bahasa pemodelan
  • IDEF
  • UML
  • SysML
Teknisi
Perangkat lunak
Bidang terkait
  • Category Kategori
  •  Commons


Ikon rintisan

Artikel bertopik komputer ini adalah sebuah rintisan. Anda dapat membantu Wikipedia dengan mengembangkannya.

  • l
  • b
  • s