Apa itu System Integration Testing (SIT) dengan Contoh

Daftar Isi:

Anonim

Apa itu Pengujian Integrasi Sistem?

Pengujian Integrasi Sistem didefinisikan sebagai jenis pengujian perangkat lunak yang dilakukan dalam lingkungan perangkat keras dan perangkat lunak terintegrasi untuk memverifikasi perilaku sistem yang lengkap. Ini adalah pengujian yang dilakukan pada sistem yang lengkap dan terintegrasi untuk mengevaluasi kepatuhan sistem dengan persyaratan yang ditentukan.

System Integration Testing (SIT) dilakukan untuk memverifikasi interaksi antara modul sistem perangkat lunak. Ini berkaitan dengan verifikasi persyaratan perangkat lunak tingkat tinggi dan rendah yang ditentukan dalam Spesifikasi / Data Kebutuhan Perangkat Lunak dan Dokumen Desain Perangkat Lunak.

Ini juga memverifikasi koeksistensi sistem perangkat lunak dengan yang lain dan menguji antarmuka antara modul aplikasi perangkat lunak. Pada jenis pengujian ini, modul terlebih dahulu diuji secara individual dan kemudian digabungkan untuk membuat suatu sistem.

Misalnya, komponen perangkat lunak dan / atau perangkat keras digabungkan dan diuji secara progresif hingga seluruh sistem terintegrasi.

Dalam tutorial ini, Anda akan belajar-

  • Apa itu Pengujian Integrasi Sistem?
  • Mengapa Pengujian Integrasi Sistem
  • Bagaimana melakukan Pengujian Integrasi Sistem
  • Kriteria Masuk dan Keluar untuk Pengujian Integrasi
  • Pengujian Integrasi Perangkat Keras ke Perangkat Lunak
  • Pengujian Integrasi Perangkat Lunak ke Perangkat Lunak
  • Pendekatan atas ke bawah
  • Pendekatan Bottom-up
  • Pendekatan Big Bang

Mengapa Pengujian Integrasi Sistem

Dalam Rekayasa Perangkat Lunak, Pengujian Integrasi Sistem dilakukan karena,

  • Ini membantu untuk mendeteksi Cacat lebih awal
  • Umpan balik sebelumnya tentang penerimaan modul individu akan tersedia
  • Penjadwalan perbaikan Cacat bersifat fleksibel, dan dapat tumpang tindih dengan pengembangan
  • Arus data yang benar
  • Aliran kendali yang benar
  • Waktu yang tepat
  • Penggunaan memori yang benar
  • Benar dengan persyaratan perangkat lunak

Bagaimana melakukan Pengujian Integrasi Sistem

Ini adalah teknik sistematis untuk membangun struktur program sambil melakukan tes untuk mengungkap kesalahan yang terkait dengan antarmuka.

Semua modul terintegrasi terlebih dahulu, dan seluruh program diuji secara keseluruhan. Namun selama proses ini, serangkaian kesalahan mungkin akan ditemui.

Koreksi kesalahan semacam itu sulit karena penyebab isolasi dipersulit oleh perluasan luas dari keseluruhan program. Setelah kesalahan ini diperbaiki dan diperbaiki, kesalahan baru akan muncul, dan proses berlanjut dengan mulus dalam putaran tanpa akhir . Untuk menghindari situasi ini, pendekatan lain digunakan, Incremental Integration. Kita akan melihat lebih detail tentang pendekatan inkremental nanti di tutorial.

Ada beberapa metode tambahan seperti pengujian integrasi yang dilakukan pada sistem berdasarkan prosesor target. Metodologi yang digunakan adalah Black Box Testing. Integrasi bottom-up atau top-down dapat digunakan.

Kasus uji ditentukan hanya dengan menggunakan persyaratan perangkat lunak tingkat tinggi.

Integrasi perangkat lunak juga dapat dicapai sebagian besar di lingkungan host, dengan unit khusus untuk lingkungan target terus disimulasikan di host. Tes berulang di lingkungan target untuk konfirmasi akan diperlukan lagi.

Tes konfirmasi pada tingkat ini akan mengidentifikasi masalah khusus lingkungan, seperti kesalahan dalam alokasi memori dan de-alokasi. Kepraktisan melakukan integrasi perangkat lunak di lingkungan host akan bergantung pada seberapa banyak fungsionalitas spesifik target yang ada. Untuk beberapa sistem tertanam, penggabungan dengan lingkungan target akan sangat kuat, sehingga tidak praktis untuk melakukan integrasi perangkat lunak di lingkungan host.

Perkembangan perangkat lunak yang besar akan membagi integrasi perangkat lunak menjadi beberapa tingkatan. Tingkat integrasi perangkat lunak yang lebih rendah dapat didasarkan terutama di lingkungan host, dengan tingkat integrasi perangkat lunak yang lebih tinggi menjadi lebih bergantung pada lingkungan target.

Catatan: Jika hanya perangkat lunak yang diuji maka itu disebut Pengujian Integrasi Perangkat Lunak Perangkat Lunak [SSIT] dan jika perangkat keras dan perangkat lunak sedang diuji, maka itu disebut Pengujian Integrasi Perangkat Lunak Perangkat Keras [HSIT].

Kriteria Masuk dan Keluar untuk Pengujian Integrasi

Biasanya saat melakukan Pengujian Integrasi, strategi ETVX (Kriteria Entri, Tugas, Validasi, dan Kriteria Keluar) digunakan.

Kriteria Masuk:

  • Penyelesaian Pengujian Unit

Masukan:

  • Data Kebutuhan Perangkat Lunak
  • Dokumen Desain Perangkat Lunak
  • Paket Verifikasi Perangkat Lunak
  • Dokumen Integrasi Perangkat Lunak

Kegiatan:

  • Berdasarkan persyaratan tingkat Tinggi dan Rendah membuat kasus dan prosedur uji
  • Gabungkan build modul tingkat rendah yang menerapkan fungsi umum
  • Kembangkan test harness
  • Uji build
  • Setelah pengujian selesai, build tersebut akan digabungkan dengan build lain dan diuji hingga sistem terintegrasi secara keseluruhan.
  • Jalankan ulang semua pengujian pada platform berbasis prosesor target, dan dapatkan hasilnya

Kriteria Keluar:

  • Berhasil menyelesaikan integrasi modul Perangkat Lunak pada Perangkat Keras target
  • Kinerja perangkat lunak yang benar sesuai dengan persyaratan yang ditentukan

Keluaran

  • Laporan pengujian integrasi
  • Kasus dan Prosedur Uji Perangkat Lunak [SVCP].

Pengujian Integrasi Perangkat Keras Perangkat Keras

Pengujian Integrasi Perangkat Lunak Perangkat Keras adalah proses pengujian Komponen Perangkat Lunak Komputer (CSC) untuk fungsionalitas tingkat tinggi pada lingkungan perangkat keras target. Tujuan dari pengujian integrasi perangkat keras / lunak adalah untuk menguji perilaku perangkat lunak yang dikembangkan yang terintegrasi pada komponen perangkat keras.

Pengujian Integrasi Perangkat Keras-Perangkat Lunak berbasis kebutuhan

Tujuan dari pengujian integrasi perangkat keras / perangkat lunak berbasis persyaratan adalah untuk memastikan bahwa perangkat lunak di komputer target akan memenuhi persyaratan tingkat tinggi. Kesalahan khas yang diungkapkan oleh metode pengujian ini meliputi:

  • Kesalahan antarmuka perangkat keras / perangkat lunak
  • Pelanggaran partisi perangkat lunak.
  • Ketidakmampuan untuk mendeteksi kegagalan dengan pengujian internal
  • Respon yang salah untuk kegagalan perangkat keras
  • Kesalahan karena pengurutan, beban masukan transien, dan transien daya masukan
  • Umpan balik mengulang perilaku yang salah
  • Kontrol yang salah atau tidak tepat atas perangkat keras manajemen memori
  • Masalah pertengkaran bus data
  • Pengoperasian mekanisme yang salah untuk memverifikasi kompatibilitas dan kebenaran perangkat lunak yang dapat dimuat di lapangan

Integrasi Perangkat Keras Perangkat Lunak berkaitan dengan verifikasi persyaratan tingkat tinggi. Semua pengujian di tingkat ini dilakukan pada perangkat keras target.

  • Pengujian kotak hitam adalah metodologi pengujian utama yang digunakan pada tingkat pengujian ini.
  • Tetapkan kasus uji hanya dari persyaratan tingkat tinggi
  • Tes harus dijalankan pada perangkat keras standar produksi (sesuai target)

Hal-hal yang perlu dipertimbangkan saat merancang kasus uji untuk Integrasi HW / SW

  • Akuisisi yang benar dari semua data oleh perangkat lunak
  • Penskalaan dan rentang data seperti yang diharapkan dari perangkat keras hingga perangkat lunak
  • Keluaran data yang benar dari perangkat lunak ke perangkat keras
  • Data dalam spesifikasi (kisaran normal)
  • Data di luar spesifikasi (kisaran abnormal)
  • Data batas
  • Menginterupsi pemrosesan
  • Pengaturan waktu
  • Penggunaan memori yang benar (pengalamatan, tumpang tindih, dll.)
  • Transisi negara

Catatan: Untuk pengujian interupsi, semua interupsi akan diverifikasi secara independen dari permintaan awal hingga servis penuh dan hingga penyelesaian. Kasus uji akan dirancang khusus untuk menguji interupsi secara memadai.

Pengujian Integrasi Perangkat Lunak ke Perangkat Lunak

Ini adalah pengujian Komponen Perangkat Lunak Komputer yang beroperasi di dalam komputer host / target

Lingkungan, saat mensimulasikan seluruh sistem [CSC lain], dan pada fungsionalitas tingkat tinggi.

Ini berfokus pada perilaku CSC dalam lingkungan host / target simulasi. Pendekatan yang digunakan untuk Integrasi Perangkat Lunak dapat berupa pendekatan inkremental (top-down, pendekatan bottom-up atau kombinasi keduanya).

Pendekatan Inkremental

Pengujian tambahan adalah cara pengujian integrasi. Dalam metode pengujian jenis ini, Anda terlebih dahulu menguji setiap modul perangkat lunak satu per satu, lalu melanjutkan pengujian dengan menambahkan modul lain ke modul tersebut, lalu modul lainnya, dan seterusnya.

Integrasi inkremental berbeda dengan pendekatan big bang. Program dibuat dan diuji dalam segmen kecil, di mana kesalahan lebih mudah diisolasi dan diperbaiki. Antarmuka lebih mungkin untuk diuji sepenuhnya, dan pendekatan pengujian sistematis dapat diterapkan.

Ada dua jenis pengujian inkremental

  • Pendekatan atas ke bawah
  • Pendekatan Bottom Up

Pendekatan atas ke bawah

Dalam jenis pendekatan ini, individu mulai dengan menguji hanya antarmuka pengguna, dengan fungsionalitas yang mendasari disimulasikan oleh rintisan, kemudian Anda bergerak ke bawah mengintegrasikan lapisan bawah dan bawah seperti yang ditunjukkan pada gambar di bawah.

  • Dimulai dengan modul kontrol utama, modul diintegrasikan dengan bergerak ke bawah melalui hierarki kontrol
  • Sub-modul ke modul kontrol utama dimasukkan ke dalam struktur baik secara luas-pertama atau secara mendalam-pertama.
  • Integrasi mendalam-pertama mengintegrasikan semua modul pada jalur kontrol utama struktur seperti yang ditampilkan dalam diagram berikut:

Proses integrasi modul dilakukan dengan cara berikut:

  1. Modul kontrol utama digunakan sebagai driver uji, dan stub diganti untuk semua modul yang secara langsung berada di bawah modul kontrol utama.
  2. Rintisan bawahan diganti satu per satu dengan modul aktual bergantung pada pendekatan yang dipilih (luasnya dulu atau kedalaman dulu).
  3. Tes dijalankan karena setiap modul terintegrasi.
  4. Setelah menyelesaikan setiap rangkaian pengujian, rintisan lain diganti dengan modul nyata setelah menyelesaikan setiap rangkaian pengujian
  5. Untuk memastikan bahwa kesalahan baru belum diperkenalkan, Pengujian Regresi dapat dilakukan.

Proses ini berlanjut dari langkah2 hingga seluruh struktur program dibangun. Strategi top-down terdengar relatif tidak rumit, tetapi dalam praktiknya, masalah logistik muncul.

Masalah yang paling umum terjadi saat pemrosesan pada tingkat rendah dalam hierarki diperlukan untuk menguji tingkat atas secara memadai.

Rintisan menggantikan modul tingkat rendah pada awal pengujian top-down dan, oleh karena itu, tidak ada data signifikan yang dapat mengalir ke atas dalam struktur program.

Tantangan yang mungkin dihadapi Penguji:

  • Tunda banyak tes sampai stub diganti dengan modul yang sebenarnya.
  • Kembangkan rintisan yang menjalankan fungsi terbatas yang mensimulasikan modul sebenarnya.
  • Integrasikan perangkat lunak dari bawah hierarki ke atas.

Catatan: Pendekatan pertama menyebabkan kita kehilangan kendali atas korespondensi antara tes tertentu dan penggabungan modul tertentu. Hal ini dapat mengakibatkan kesulitan dalam menentukan penyebab kesalahan yang cenderung melanggar sifat pendekatan top-down yang sangat terbatas.

Pendekatan kedua bisa diterapkan tetapi dapat menyebabkan overhead yang signifikan, karena rintisan menjadi semakin kompleks.

Pendekatan Bottom-up

Integrasi bottom-up memulai konstruksi dan pengujian dengan modul pada level terendah dalam struktur program. Dalam proses ini, modul diintegrasikan dari bawah ke atas.

Dalam pendekatan ini, pemrosesan yang diperlukan untuk modul yang berada di bawah level tertentu selalu tersedia dan kebutuhan akan rintisan dihilangkan.

Proses pengujian integrasi ini dilakukan dalam rangkaian empat langkah

  1. Modul tingkat rendah digabungkan ke dalam cluster yang menjalankan subfungsi perangkat lunak tertentu.
  2. Driver ditulis untuk mengoordinasikan masukan dan keluaran kasus uji.
  3. Cluster atau build diuji.
  4. Driver dihapus, dan cluster digabungkan ke atas dalam struktur program.

Saat integrasi bergerak ke atas, kebutuhan akan pelajaran test driver terpisah. Faktanya, jika dua tingkat teratas dari struktur program diintegrasikan dari atas ke bawah, jumlah penggerak dapat dikurangi secara substansial, dan integrasi cluster sangat disederhanakan. Integrasi mengikuti pola yang diilustrasikan di bawah ini. Saat integrasi bergerak ke atas, kebutuhan akan pelajaran test driver terpisah.

Catatan: Jika dua tingkat teratas dari struktur program terintegrasi Top-down, jumlah driver dapat dikurangi secara substansial, dan integrasi build sangat disederhanakan.

Pendekatan Big Bang

Dalam pendekatan ini, semua modul tidak terintegrasi sampai dan kecuali semua modul sudah siap. Setelah siap, semua modul diintegrasikan dan dieksekusi untuk mengetahui apakah semua modul terintegrasi berfungsi atau tidak.

Dalam pendekatan ini, sulit untuk mengetahui akar penyebab kegagalan karena mengintegrasikan semuanya sekaligus.

Selain itu, akan ada kemungkinan besar terjadinya bug kritis di lingkungan produksi.

Pendekatan ini diadopsi hanya jika pengujian integrasi harus dilakukan sekaligus.

Ringkasan:

  • Integrasi dilakukan untuk memverifikasi interaksi antara modul sistem perangkat lunak. Ini membantu mendeteksi cacat sejak dini
  • Pengujian integrasi dapat dilakukan untuk Hardware-Software atau Hardware-Hardware Integration
  • Pengujian integrasi dilakukan dengan dua metode
    • Pendekatan inkremental
    • Pendekatan Big Bang
  • Saat melakukan Pengujian Integrasi umumnya strategi ETVX (Kriteria Entri, Tugas, Validasi, dan Kriteria Keluar) digunakan.