Perbedaan Utama: Pengujian statis adalah pengujian yang terjadi bahkan sebelum kode tertulis perangkat lunak dieksekusi. Pengujian dinamis terjadi dalam lingkungan run-time, yang berarti bahwa kode dieksekusi dengan analisis keamanan untuk melihat cara kerjanya.

Pengujian statis adalah pengujian yang terjadi bahkan sebelum kode tertulis perangkat lunak dieksekusi. Pengembang mendapat kesempatan untuk melakukan pengkodean dengan sisir bergigi halus untuk melihat apakah ada kesalahan. Ini juga memungkinkan mereka untuk melihat apakah kode mematuhi hukum setempat. Pengujian statis mengungkapkan kekurangan dan menyediakan pengembang untuk memperbaikinya sebelum eksekusi terjadi. Dalam beberapa kasus, pengembang juga dapat mengidentifikasi kode berbahaya apa pun yang dapat menyebabkan masalah selama eksekusi. Pengujian statis sering disebut sebagai verifikasi: evaluasi proses pengembangan.

Perbandingan antara Pengujian Statis dan Dinamis:
Pengujian Statis | Pengujian Dinamis | |
Eksekusi | Terjadi tanpa eksekusi kode | Melibatkan eksekusi kode |
Pemeriksaan | Diperiksa secara manual atau beberapa alat analisis statis digunakan | Diperiksa dengan memberikan satu set input jadi lihat apakah output cocok dengan hasil yang diharapkan |
Waktu | Pengujian terjadi sejak awal sebelum pengembangan produk bahkan dimulai | Terjadi setelah produk dikembangkan |
Jenis-jenis Cacat | Persyaratan hilang, cacat desain, Kesalahan Sintaks, dll. | Variabel tidak konstan, memeriksa apakah output cocok dengan nilai yang diharapkan |
Teknik Pengujian | Ulasan Informal, Tinjauan Teknis, Panduan, Inspeksi, Ulasan kode statis | Pengujian Unit, Pengujian Integrasi, Pengujian Sistem |
Kompilasi | Temukan bug sebelum kompilasi | Temukan bug setelah kompilasi |
Mengetik | Pencegahan | Menyembuhkan |
Biaya | Lebih hemat biaya | Relatif lebih mahal |
Tahap | Dilakukan di tahap verifikasi | Dilakukan pada tahap validasi |
Waktu | Kurang memakan waktu | Lebih memakan waktu |
Gambar Courtesy: qcboss.wordpress.com, guru99.com