Pengujian Perangkat Lunak: Bagian 1

Pengujian Perangkat Lunak: Bagian 1

Suatu hari seorang teman bertanya kepada saya apa yang dilakukan seorang penguji. Dengan kata lain apa itu pengujian perangkat lunak? Apa itu bug? Apa istilah kunci yang terkait dengan pengujian? Ini adalah upaya sederhana untuk menjawab pertanyaan-pertanyaan ini dan memulai yang belum tahu ke dunia pengujian.

Pengujian Perangkat Lunak adalah proses analisis perangkat lunak dan pendeteksian cacat. Ini adalah seni (permainan kata-kata) untuk mengidentifikasi sebanyak mungkin cacat agar dapat diperbaiki. Cacat (bug) adalah ketidaksesuaian dengan persyaratan atau spesifikasi fungsional. Ini adalah sesuatu yang tidak sesuai dengan harapan Pelanggan yang valid yang diasumsikan tetapi mungkin tidak dijelaskan dalam persyaratan produk.

Manajer Tes bersama dengan Manajer Proyek mengembangkan Rencana Tes yang menjelaskan apa, kapan, bagaimana, dan siapa yang akan terlibat dalam proses pengujian. Dokumen dasar ini juga menjelaskan daftar komponen yang diuji, kriteria kualitas dan risiko pengujian, sumber daya dan grafik pengujian, strategi pengujian dan jenis pengujian, anggaran pengujian, dll.

Pemimpin pengujian/ Insinyur penguji senior mengembangkan Kasus uji yang pada dasarnya adalah sekumpulan input pengujian, kondisi pelaksanaan, dan hasil yang diharapkan yang dikembangkan untuk tujuan tertentu, seperti untuk menjalankan jalur program tertentu atau untuk memverifikasi kepatuhan terhadap persyaratan tertentu.

Klasifikasi Jenis Pengujian:

Pengujian Statis adalah proses, yang digunakan untuk memverifikasi produk kerja apa pun dalam hal kode, persyaratan, spesifikasi fungsional, arsitektur dan dokumen desain, dll. Pengujian statis adalah salah satu cara paling efektif untuk mendeteksi cacat pada tahap awal suatu produk proses.

Pengujian Dinamis Pengujian dinamis terdiri dari peluncuran program, menjalankan semua modul fungsional dan membandingkan perilaku produk dengan yang diharapkan menggunakan antarmuka pengguna.

Pengujian kotak hitam. Menguji perangkat lunak berdasarkan kebutuhan fungsional dan bisnis saat meluncurkan dan mengoperasikannya tanpa mengetahui struktur internal atau kode sumber program. Penguji menguji produk sehingga pengguna akhir akan bekerja dengannya pada saat peluncuran dan pengoperasiannya. Metode ini memeriksa kerja yang tepat dari semua fungsi dan apakah mereka sesuai dengan persyaratan fungsional.

Pengujian kotak putih (pengujian kotak kaca). Penguji menggunakan pemahamannya tentang kode sumber dan mengakses kode untuk mengembangkan dan menjalankan kasus uji. Metode ini menguji arsitektur sistem. Ini menguji desain dan pemrograman yang masuk ke sistem bangunan. Pengujian kotak putih biasanya diterapkan ketika aplikasi tidak sepenuhnya dirakit, tetapi perlu untuk memeriksa setiap komponen, modul, prosedur, dan sub-fungsi.

Pengujian Satuan. Tingkat pengujian ini biasanya dilakukan oleh pengembang perangkat lunak untuk melakukan pengujian modul sistem yang terpisah. Ini mungkin merupakan pengujian bahkan bagian tertentu dari kode (kelas).

Tes integrasi. Adalah pengujian berbagai komponen aplikasi (dalam bentuk terintegrasinya) untuk menentukan apakah mereka berfungsi dengan baik bersama-sama. Juga, interaksi antara aplikasi sistem besar dapat diperiksa dengan jenis pengujian ini. Dalam hal ini pengujian ini dikenal dengan pengujian Cross-product. Biasanya dilakukan setelah pengujian unit dan fungsional dilakukan.

Pengujian Sistem mengacu pada jenis pengujian yang memeriksa pengoperasian sistem secara keseluruhan. Hal ini biasanya terkait dengan pengujian fungsional serta persyaratan non-fungsional dari sistem.

Pengujian fungsional adalah proses mencoba menemukan perbedaan antara program dan persyaratan atau spesifikasi fungsionalnya. Tujuannya adalah

1. Mendefinisikan cacat pada produk perangkat lunak dan pendokumentasiannya

2. Menentukan apakah perangkat lunak memenuhi persyaratannya sebagaimana didefinisikan dalam Spesifikasi Persyaratan Perangkat Lunak (SRS) dan dokumen terkait lainnya.

3. Mengambil keputusan yang objektif tentang kemungkinan pengiriman produk perangkat lunak ke pelanggan; keputusan harus didokumentasikan dalam laporan hasil pengujian.

Smoke Test Ini adalah tes pertama dan terpendek, yang memeriksa fungsionalitas dasar produk perangkat lunak. Tes ini memakan waktu sekitar 1-4 jam tergantung pada kompleksitas program, Tes asap membantu pimpinan Tes untuk mengambil keputusan apakah akan melanjutkan pengujian lebih lanjut atau tidak.

Pengujian Perangkat Lunak: Bagian 2

Kesalahpahaman dan Kesalahan Pengujian Klasik

Mari kita lihat beberapa kesalahan umum atau kesalahpahaman yang sebenarnya mencerminkan kualitas Penguji, efisiensi dan efektivitasnya. Beberapa asumsi yang merupakan penyebab utama, adalah asumsi bahwa semua cacat pada produk perangkat lunak telah terdeteksi dan bahwa ia mampu menguji program sepenuhnya.

Kesalahpahaman lain seperti “jaminan kualitas adalah tanggung jawab tim pengujian” dan “tujuan pengujian hanya untuk menemukan bug” dapat mengarah pada bentuk pengujian yang sangat tidak sehat. Kesalahan lain (biasanya terkait dengan Penguji Junior) adalah pendekatan yang agak ceroboh sehubungan dengan deteksi bug utama dan kelalaian dalam melaporkan masalah kegunaan.

Di organisasi tertentu, lebih banyak penekanan diberikan pada bagian pengujian unit yang dilakukan oleh pengembang yang mengarah ke awal fase pengujian yang terlambat. menunda pengujian stres dan beban hingga menit terakhir. Hal ini menyebabkan seluruh proses pengujian menjadi tidak efektif.

Dari sudut pandang penguji “evaluasi yang tidak lengkap dari dokumentasi proyek terkait”, “mengabaikan pengujian prosedur instalasi” dan “kegagalan untuk mengidentifikasi area risiko secara akurat” juga dapat menyebabkan penurunan efektivitas Pengujian. Keluhan umum lainnya yang dihadapi adalah perhatian berlebihan yang diberikan untuk menjalankan Tes daripada merancang dan merencanakan hal yang sama.

Apa saja ciri-ciri Insinyur Uji yang Baik?

Dia harus memiliki setidaknya pengetahuan minimal tentang rekayasa perangkat lunak. Seringkali Penguji harus menjadi ahli di sejumlah bidang. Dia harus memiliki pengetahuan substansial tentang aplikasi yang diuji. Penguji harus memiliki hipersensitivitas alami terhadap hal-hal sepele,

Dia harus memiliki keterampilan rekayasa perangkat lunak (memahami aturan rekayasa perangkat lunak, mengetahui pemrograman komputer dan memiliki pengetahuan tingkat sistem operasi). Seringkali seorang penguji perlu menjadi ahli di sejumlah bidang, stabil terhadap kekacauan dan tekanan pembangunan, manajemen, serta tekanan keadaan yang berbeda. Meskipun OK untuk penguji yang skeptis terhadap klaim pengembang, Dia tidak boleh mengambil Sikap Bermusuhan!

Pemrograman