Karir Teknologi

Semua yang Perlu Anda Ketahui Tentang Metode Pengujian Perangkat Lunak

Penguji perangkat lunak terfokus yang bekerja di laptop di kantor

••• Gambar Pahlawan/Gambar Getty



Daftar isiMengembangkanDaftar isi

Sebelum perangkat lunak dikirimkan untuk penggunaan publik atau komersial, pemrogram menghabiskan waktu berjam-jam untuk memperbaiki setiap bug, dengan produk yang tersisa di limbo sampai semua pemangku kepentingan puas.

Raksasa perangkat lunak Silicon Valley seperti Google dan Facebook akan sering mengirimkan produk populer ke pasar meskipun perangkat lunak mereka memiliki bug prioritas rendah. Investor dan jutaan pengguna setia akan mentolerir pembaruan perangkat lunak dan kekusutan sementara dalam produk yang ditawarkan perusahaan ini.

Sebagian besar perusahaan perangkat lunak tidak memiliki kemewahan ini. Pelanggan ingin produk berkinerja seperti yang diiklankan dan benar-benar khawatir jika ada kerentanan yang tidak tertangani.

Mengapa Keterampilan Pengujian Diperlukan?

Dengan begitu banyak pilihan pengembangan perangkat lunak yang tersedia, pelanggan tidak berpikir dua kali untuk melompat kapal jika produk berbau waktu dan uang yang terbuang. Bisnis perangkat lunak harus melakukan pengujian ketat pada produk mereka sebelum merilisnya ke pelanggan. Tes ini menawarkan wawasan berikut:

  • Mereka menyoroti perbedaan antara konsep asli dan hasil akhir.
  • Mereka memverifikasi bahwa perangkat lunak berfungsi seperti yang direncanakan oleh perancang.
  • Mereka menilai fitur dan kualitas.
  • Mereka memvalidasi bahwa produk akhir memenuhi persyaratan pelanggan.

Pengujian mengikuti cetak biru yang ketat untuk mengoptimalkan beban kerja, waktu, dan uang sambil memberikan informasi penting kepada pemangku kepentingan untuk memajukan produk. Tujuannya adalah untuk memfasilitasi pengalaman pengguna akhir yang positif dengan tetap memperhatikan kualitas asuransi (QA). Mengingat taruhannya tinggi untuk pengembang, manajer QA adalah beberapa dari berpenghasilan tertinggi dalam industri teknologi. Pengujian biasanya mengikuti langkah-langkah berikut:

  1. Lakukan analisis kebutuhan, di mana manajer menguraikan rencana untuk menerapkan strategi pengujian yang sesuai.
  2. Mulai tes dan analisis hasilnya.
  3. Perbaiki setiap cacat dan masukkan perangkat lunak melalui pengujian regresi (sistem untuk memeriksa apakah program masih berfungsi setelah modifikasi).
  4. Buat laporan penutupan tes yang merinci proses dan hasil.

Individu dapat menjadi penguji perangkat lunak bersertifikat melalui BCS, The Chartered Institute for IT, BERHENTI (Dewan Kualifikasi Pengujian Perangkat Lunak Internasional), dan ASQ (Masyarakat Amerika untuk Kualitas).

Metode Pengujian Perangkat Lunak

Pengujian kotak hitam dan putih adalah dua metode mendasar untuk menilai perilaku dan kinerja produk. Pengujian kotak hitam, juga disebut pengujian fungsional atau berbasis spesifikasi, berfokus pada keluaran. Penguji tidak peduli dengan mekanisme internal. Mereka hanya memeriksa apakah perangkat lunak melakukan apa yang seharusnya dilakukan. Pengetahuan tentang pengkodean tidak diperlukan, dan penguji bekerja di tingkat antarmuka pengguna.

Pengujian kotak putih menggunakan pengalaman pengkodean sebagai bagian dari prosedur pengujian. Ketika suatu produk gagal, penguji masuk jauh ke dalam kode untuk menemukan penyebabnya. Pengembang perangkat lunak akan melakukannya sendiri karena klien mengharapkan mereka membuat produk berfungsi. Pengujian kotak putih juga disebut sebagai pengujian 'berbasis struktur' atau 'kotak kaca'.

Pengujian statis memeriksa kode sumber dan dokumentasi yang menyertainya tetapi tidak menjalankan program. Pengujian statis dimulai sejak awal pengembangan produk selama proses verifikasi.

Pengujian dinamis menggunakan berbagai masukan saat perangkat lunak berjalan, dan penguji membandingkan keluaran dengan perilaku yang diharapkan. Pengujian antarmuka pengguna grafis mengevaluasi pemformatan teks, kotak teks, tombol, daftar, tata letak, warna, dan item antarmuka lainnya. Pengujian GUI memakan waktu, dan perusahaan pihak ketiga sering mengambil alih tugas daripada pengembang.

Tingkat Tes

Tingkat pengujian yang berbeda digunakan untuk mengidentifikasi area kelemahan dan tumpang tindih di setiap fase siklus hidup pengembangan perangkat lunak . Level tesnya adalah:

  • Tes satuan
  • Tes integrasi
  • Pengujian sistem
  • Ujian penerimaan

Saat pengujian unit, pengembang menguji bagian kode paling dasar, seperti kelas, antarmuka, dan fungsi/prosedur. Mereka tahu bagaimana kode mereka harus merespon dan dapat membuat penyesuaian tergantung pada output.

Tes integrasi juga dikenal sebagai pengujian 'modul' atau 'program'. Ini mirip dengan pengujian unit tetapi berisi tingkat integrasi yang lebih tinggi. Modul perangkat lunak diuji untuk cacat untuk memverifikasi fungsinya. Pengujian integrasi mengidentifikasi kesalahan saat modul terintegrasi. Metode yang berbeda untuk tes integrasi termasuk 'bottom-up', 'top-down' dan 'fungsional tambahan'.

Pengujian sistem menguji komponen proyek secara keseluruhan di lingkungan yang berbeda. Pengujian sistem termasuk dalam metode kotak hitam dan merupakan salah satu pengujian terakhir dalam prosesnya. Ini akan menentukan apakah sistem disiapkan untuk memenuhi kebutuhan bisnis dan pengguna.

Secara umum ada dua jenis pengujian penerimaan. Dalam pengujian alfa, perangkat lunak dijalankan secara internal di situs pengembang dalam lingkungan simulasi atau aktual. Perangkat lunak berjalan seolah-olah pengguna akhir langsung menggunakannya. Pengembang membuat catatan tentang masalah apa pun dan mulai memperbaiki bug dan masalah lainnya.

Juga di bawah lingkup pengujian kotak hitam, dalam pengujian penerimaan, klien menguji perangkat lunak untuk mengetahui apakah pengembang telah sepenuhnya mengembangkan program agar sesuai dengan spesifikasi yang diinginkan.

Pengujian beta, atau pengujian lapangan, memungkinkan klien menguji produk di situs mereka dalam kondisi nyata. Klien dapat menawarkan sekelompok pengguna akhir kesempatan untuk menguji perangkat lunak melalui versi pra-rilis atau beta. Pengujian beta bertujuan untuk mendapatkan umpan balik pengguna yang sebenarnya, yang dikirim ke pengembang.

Jenis Tes

Berbagai jenis pengujian perangkat lunak dirancang untuk fokus pada tujuan tertentu. Insinyur pengujian dan manajer konfigurasi menggunakan pengujian instalasi untuk memastikan pengguna akhir dapat menginstal dan menjalankan program. Ini mencakup area seperti file instalasi, lokasi instalasi dan hak administratif.

Pengujian pengembangan menerapkan berbagai strategi yang disinkronkan untuk mendeteksi dan mencegah cacat. Ini mencakup analisis kode statis, tinjauan kode rekan, keterlacakan, dan analisis metrik. Tujuannya adalah untuk mengurangi risiko dan menghemat biaya.

Pengalaman pengguna menjadi sorotan dengan pengujian kegunaan. Ini mengukur seberapa mudah GUI digunakan. Ini memeriksa keakuratan dan efisiensi fungsi dan respons emosional subjek tes.

Tes kewarasan menunjukkan apakah perangkat lunak sepadan dengan waktu dan biaya untuk melanjutkan tes lebih lanjut. Jika ada terlalu banyak kekurangan, tes yang lebih agresif tidak akan mengikuti.

Pengujian kewarasan dilakukan selama fase rilis perangkat lunak, di mana pengujian asap dilakukan untuk melihat apakah perangkat lunak akan berjalan cukup untuk dapat diuji.

Pengujian asap mengungkapkan kegagalan mendasar yang cukup serius untuk mencegah pelepasan. Saat developer menguji build baru, ini disebut pengujian 'verifikasi build'. Ketika sistem mengalami modifikasi, pengujian regresi memonitor perilaku yang tidak diharapkan. Ini menunjukkan efek buruk pada modul atau komponen.

Penguji memasukkan entri abnormal dan melihat kemampuan perangkat lunak untuk mengelola masukan tak terduga dalam pengujian destruktif. Ini menunjukkan kepada pengembang seberapa kuat program ini dalam manajemen kesalahan.

Ketika perangkat keras atau fungsi lainnya gagal, pengujian pemulihan menunjukkan seberapa baik perangkat lunak dapat pulih dan terus beroperasi.

Otomasi melakukan fungsi yang menantang untuk diterapkan secara manual. Pengujian melibatkan penggunaan perangkat lunak khusus untuk menjalankan pengujian dan menyediakan data tentang hasil aktual vs. yang diharapkan.

Perangkat lunak harus berjalan di berbagai lingkungan komputasi, jadi pengujian kompatibilitas memeriksa bagaimana perangkat lunak merespons sistem yang berbeda. Misalnya, programmer menguji perangkat lunak dengan berbagai sistem operasi dan browser web.

Tes harus ekstensif dan mengatasi semua masalah klien, atau proyek dengan cepat menjadi pemborosan sumber daya.

Pengujian kinerja memeriksa kinerja perangkat lunak dalam skenario yang berbeda. Informasi tentang daya tanggap, stabilitas, alokasi sumber daya, dan kecepatan dikumpulkan. Sub-tes seperti volume, kapasitas dan pengujian spike berperan dalam proses ini.

Pengujian keamanan mengukur kemampuan perangkat lunak untuk melindungi keamanan pengguna. Fungsi otorisasi, otentikasi, kerahasiaan, integritas, ketersediaan, dan non-penyangkalan adalah contoh fitur yang harus diuji.

Pengujian aksesibilitas berbeda dari pengujian kegunaan. Ini menentukan sejauh mana pengguna dari berbagai kemampuan dapat menggunakan perangkat lunak.

Hasil tes internalisasi dan lokalisasi menunjukkan bagaimana perangkat lunak dapat beradaptasi dengan bahasa yang berbeda dan tuntutan regional. Ini termasuk menambahkan komponen untuk lokasi tertentu dan terjemahan teks.