Search

Equivalence Partitioning Technique
Partisi ekivalensi adalah teknik pengujian perangkat lunak di mana data masukan dibagi menjadi partisi dengan nilai yang valid dan tidak valid, dan semua partisi harus menunjukkan perilaku yang sama. Jika suatu kondisi suatu partisi benar, maka kondisi partisi lain yang setara juga harus benar, dan jika kondisi suatu partisi salah, maka kondisi partisi lain yang setara juga harus salah. Prinsip partisi ekivalensi adalah, kasus uji harus dirancang untuk mencakup setiap partisi setidaknya satu kali. Setiap nilai dari setiap partisi yang sama harus menunjukkan perilaku yang sama seperti yang lain.

Dalam menggunakan teknik pressman, dua kondisi pertama diuji, tetapi jika kita menggunakan metode latihan, ketiga kondisi tersebut terpenuhi. Kita tidak perlu menggunakan pendekatan latihan untuk semua aplikasi. Suatu saat kita akan menggunakan metode pressman juga. Namun, jika penerapannya lebih presisi, maka kita akan menggunakan metode latihan.

Jika kita ingin menggunakan metode latihan, sebaiknya ikuti aspek-aspek berikut ini:
- Itu harus spesifik untuk produk
- Ini harus spesifik pada kasus tertentu
- Jumlah pembagian tergantung pada presisi (pengurangan 2% dan 3%)


Contoh Teknik Equivalence Partitioning  : Download

Sumber : https://www.javatpoint.com/equivalence-partitioning-technique-in-black-box-testing



Boundary Value Analysis

Analisis nilai batas adalah salah satu teknik desain kasus yang banyak digunakan untuk pengujian black box. Ini digunakan untuk menguji nilai batas karena nilai masukan yang dekat dengan batas memiliki kemungkinan kesalahan yang lebih tinggi.

Setiap kali kita melakukan pengujian dengan analisis nilai batas, penguji berfokus pada, sambil memasukkan nilai batas, apakah perangkat lunak menghasilkan keluaran yang benar atau tidak.

Nilai batas adalah nilai yang memuat batas atas dan bawah suatu variabel. Asumsikan, usia adalah variabel dari fungsi apa pun, dan nilai minimumnya adalah 18 dan nilai maksimumnya adalah 30, 18 dan 30 akan dianggap sebagai nilai batas.

Asumsi dasar analisis nilai batas adalah, kasus uji yang dibuat menggunakan nilai batas kemungkinan besar akan menimbulkan kesalahan.

Ada 18 dan 30 yang merupakan nilai batas sehingga tester lebih memperhatikan nilai tersebut, namun bukan berarti nilai tengah seperti 19, 20, 21, 27, 29 diabaikan. Kasus uji dikembangkan untuk setiap nilai rentang.

Pengujian nilai batas dilakukan dengan membuat partisi valid dan invalid. Partisi yang tidak valid diuji karena pengujian keluaran dalam kondisi buruk juga penting.

Mari kita pahami melalui praktik:

Bayangkan, ada fungsi yang menerima angka antara 18 hingga 30, dimana 18 adalah nilai minimum dan 30 adalah nilai maksimum dari partisi yang valid, nilai lain dari partisi ini adalah 19, 20, 21, 22, 23, 24, 25 , 26, 27, 28 dan 29. Partisi yang tidak valid terdiri dari angka yang kurang dari 18 seperti 12, 14, 15, 16 dan 17, dan lebih dari 30 seperti 31, 32, 34, 36 dan 40. Penguji mengembangkan kasus uji untuk partisi yang valid dan tidak valid untuk menangkap perilaku sistem pada kondisi masukan yang berbeda.

Sistem perangkat lunak akan lulus pengujian jika menerima nomor yang valid dan memberikan keluaran yang diinginkan, jika tidak maka tidak berhasil. Dalam skenario lain, sistem perangkat lunak tidak boleh menerima nomor yang tidak valid, dan jika nomor yang dimasukkan tidak valid, maka sistem akan menampilkan pesan kesalahan.

Jika perangkat lunak yang sedang diuji, mengikuti semua pedoman dan spesifikasi pengujian, maka perangkat lunak tersebut dikirim ke tim rilis, sebaliknya ke tim pengembangan untuk memperbaiki cacatnya.

Sumber : https://www.javatpoint.com/boundary-value-analysis-in-black-box-testing

Pengujian Black Box

Pengujian black box adalah teknik pengujian perangkat lunak yang menguji fungsionalitas perangkat lunak tanpa melihat struktur internal atau pengkodeannya. Sumber utama pengujian black box adalah spesifikasi persyaratan yang dinyatakan oleh pelanggan.

Dalam metode ini, penguji memilih suatu fungsi dan memberikan nilai masukan untuk memeriksa fungsionalitasnya, dan memeriksa apakah fungsi tersebut memberikan keluaran yang diharapkan atau tidak. Jika fungsi menghasilkan keluaran yang benar, maka fungsi tersebut lolos dalam pengujian, jika tidak maka gagal. Tim penguji melaporkan hasilnya kepada tim pengembangan dan kemudian menguji fungsi selanjutnya. Setelah selesai pengujian seluruh fungsi jika terdapat masalah yang parah, maka diberikan kembali kepada tim pengembang untuk diperbaiki.

Langkah-langkah umum pengujian kotak hitam
  • Pengujian black box didasarkan pada spesifikasi persyaratan, sehingga diperiksa terlebih dahulu.
  • Pada langkah kedua, penguji membuat skenario pengujian positif dan skenario pengujian negatif dengan memilih nilai masukan yang valid dan tidak valid untuk memeriksa apakah perangkat lunak memprosesnya dengan benar atau salah.
  • Pada langkah ketiga, penguji mengembangkan berbagai kasus uji seperti tabel keputusan, uji semua pasangan, pembagian ekuivalen, estimasi kesalahan, grafik sebab-akibat, dll.
  • Fase keempat mencakup pelaksanaan semua kasus uji.
  • Pada langkah kelima, penguji membandingkan keluaran yang diharapkan dengan keluaran sebenarnya.
  • Pada langkah keenam dan terakhir, jika ada cacat pada perangkat lunak, maka perangkat lunak tersebut diperbaiki dan diuji kembali.
Prosedur Pengujian
Prosedur pengujian pengujian black box adalah sejenis proses di mana penguji memiliki pengetahuan khusus tentang kerja perangkat lunak, dan mengembangkan kasus pengujian untuk memeriksa keakuratan fungsionalitas perangkat lunak.

Itu tidak memerlukan pengetahuan pemrograman perangkat lunak. Semua kasus uji dirancang dengan mempertimbangkan masukan dan keluaran suatu fungsi tertentu. Seorang penguji mengetahui keluaran pasti dari masukan tertentu, tetapi tidak mengetahui bagaimana hasil tersebut timbul. Ada berbagai teknik yang digunakan dalam pengujian black box untuk pengujian seperti teknik tabel keputusan, teknik analisis nilai batas, transisi keadaan, pengujian semua pasangan, teknik grafik sebab-akibat, teknik partisi ekuivalen, teknik tebakan kesalahan, teknik use case dan teknik cerita pengguna.

Uji kasus
Kasus uji dibuat dengan mempertimbangkan spesifikasi persyaratan. Kasus uji ini umumnya dibuat dari deskripsi kerja perangkat lunak termasuk persyaratan, parameter desain, dan spesifikasi lainnya. Untuk pengujian, perancang pengujian memilih skenario pengujian positif dengan mengambil nilai masukan yang valid dan skenario pengujian negatif dengan mengambil nilai masukan yang tidak valid untuk menentukan keluaran yang benar. Kasus uji terutama dirancang untuk pengujian fungsional tetapi juga dapat digunakan untuk pengujian non-fungsional. Kasus uji dirancang oleh tim pengujian, tidak ada keterlibatan tim pengembangan perangkat lunak.

Teknik yang Digunakan dalam Pengujian Black Box
Decision Table Technique
Decision Table Technique adalah pendekatan sistematis di mana berbagai kombinasi masukan dan perilaku sistem masing-masing ditangkap dalam bentuk tabel. Cocok untuk fungsi yang memiliki hubungan logis antara dua atau lebih dari dua masukan.

Boundary Value Technique
Boundary Value Technique digunakan untuk menguji nilai batas, nilai batas adalah nilai yang memuat batas atas dan batas bawah suatu variabel. Ini menguji, sambil memasukkan nilai batas apakah perangkat lunak menghasilkan keluaran yang benar atau tidak.

State Transition Technique
State Transition Technique digunakan untuk menangkap perilaku aplikasi perangkat lunak ketika nilai masukan berbeda diberikan ke fungsi yang sama. Hal ini berlaku untuk jenis aplikasi yang memberikan jumlah upaya tertentu untuk mengakses aplikasi tersebut.

All-pair Testing Technique
All-pair Testing Technique digunakan untuk menguji semua kemungkinan kombinasi nilai diskrit. Metode kombinasional ini digunakan untuk menguji aplikasi yang menggunakan input kotak centang, input tombol radio, kotak daftar, kotak teks, dll.

Cause-Effect Technique
Cause-Effect Technique menggarisbawahi hubungan antara hasil tertentu dan semua faktor yang mempengaruhi hasil. Teknik ini didasarkan pada kumpulan persyaratan.

Equivalence Partitioning Technique
Equivalence Partitioning Technique adalah teknik pengujian perangkat lunak di mana data masukan dibagi menjadi partisi dengan nilai yang valid dan tidak valid, dan semua partisi harus menunjukkan perilaku yang sama.

Error Guessing Technique
Error Guessing Technique adalah teknik yang tidak ada metode khusus untuk mengidentifikasi kesalahan. Hal ini didasarkan pada pengalaman analis pengujian, dimana penguji menggunakan pengalaman tersebut untuk menebak area masalah pada perangkat lunak.

Use Case Technique
Use Case Technique yang digunakan untuk mengidentifikasi kasus uji dari awal hingga akhir sistem sesuai penggunaan sistem. Dengan menggunakan teknik ini, tim penguji membuat skenario pengujian yang dapat menguji seluruh perangkat lunak berdasarkan fungsionalitas masing-masing fungsi dari awal hingga akhir.

Materi tambahan : Download
Sumber : https://www.javatpoint.com/black-box-testing
Pengujian White Box
Pengujian whitebox biasa dikenal sebagai glassbox testing, structural testing, clear box testing, open box testing dan transparent box testing. Metode ini berfokus menguji pengkodean internal dan infrastruktur perangkat lunak, yang fokus pada pemeriksaan masukan yang telah ditentukan sebelumnya terhadap keluaran yang diharapkan dan diinginkan. Ini didasarkan pada cara kerja aplikasi dan berkisar pada pengujian struktur internal. Dalam pengujian jenis ini diperlukan keterampilan pemrograman untuk merancang kasus uji. Tujuan utama dari pengujian white box adalah untuk fokus pada aliran input dan output melalui perangkat lunak dan memperkuat keamanan perangkat lunak.
Kotak bening atau kotak putih atau nama kotak transparan menunjukkan kemampuan untuk melihat menembus kulit terluar perangkat lunak ke dalam cara kerja bagian dalamnya. Dalam hal ini, pengembang akan menguji setiap baris kode program. Pengembang melakukan pengujian White-box kemudian mengirimkan aplikasi atau perangkat lunak tersebut ke tim pengujian, dimana mereka akan melakukan pengujian black box dan memverifikasi aplikasi beserta persyaratannya dan mengidentifikasi bug dan mengirimkannya ke pengembang.

Pengujian white box berisi berbagai pengujian, yaitu sebagai berikut:
  • Path testing
  • Loop testing
  • Condition testing
  • Testing based on the memory perspective
  • Test performance of the program
Langkah-langkah umum pengujian kotak putih:
  • Rancang semua skenario pengujian, uji kasus, dan prioritaskan berdasarkan nomor prioritas tinggi.
  • Langkah ini melibatkan studi kode pada saat runtime untuk memeriksa pemanfaatan sumber daya, area kode yang tidak diakses, waktu yang dibutuhkan oleh berbagai metode dan operasi, dan seterusnya.
  • Pada langkah ini dilakukan pengujian subrutin internal. Subrutin internal seperti metode nonpublik, antarmuka mampu menangani semua jenis data dengan tepat atau tidak.
  • Langkah ini berfokus pada pengujian pernyataan kontrol seperti loop dan pernyataan kondisional untuk memeriksa efisiensi dan keakuratan input data yang berbeda.
  • Pada langkah terakhir pengujian white box mencakup pengujian keamanan untuk memeriksa semua kemungkinan celah keamanan dengan melihat bagaimana kode menangani keamanan.
Alasan pengujian kotak putih:
  • Ini mengidentifikasi lubang keamanan internal.
  • Untuk memeriksa cara input di dalam kode.
  • Periksa fungsionalitas loop bersyarat.
  • Untuk menguji fungsi, objek, dan pernyataan pada tingkat individu.
Keuntungan pengujian kotak putih:
  • Pengujian kotak putih mengoptimalkan kode sehingga kesalahan tersembunyi dapat diidentifikasi.
  • Kasus uji pengujian kotak putih dapat dengan mudah diotomatisasi.
  • Pengujian ini lebih menyeluruh dibandingkan pendekatan pengujian lainnya karena mencakup semua jalur kode.
  • Itu dapat dimulai pada fase SDLC bahkan tanpa GUI.
Kerugian dari pengujian kotak putih:
  • Pengujian kotak putih terlalu memakan waktu jika menyangkut aplikasi pemrograman skala besar.
  • Pengujian kotak putih jauh lebih mahal dan rumit.
  • Hal ini dapat menyebabkan kesalahan produksi karena tidak dirinci oleh pengembang.
  • Pengujian white box membutuhkan programmer profesional yang memiliki pengetahuan dan pemahaman mendalam tentang bahasa pemrograman dan implementasinya.
Sumber : https://www.javatpoint.com/software-testing-tutorial

Download materi pertemuan whitebox : Link
Kapan bisa melakukan System Testing ?
Ada empat tingkat pengujian perangkat lunak: pengujian unit, pengujian integrasi, pengujian sistem dan pengujian penerimaan, semuanya digunakan untuk tujuan pengujian. Unit Testing digunakan untuk menguji suatu perangkat lunak; Integration Testing digunakan untuk menguji sekelompok unit perangkat lunak, System Testing digunakan untuk menguji keseluruhan sistem dan Acceptance Testing digunakan untuk menguji penerimaan kebutuhan bisnis. Disini kita membahas pengujian sistem yang merupakan level pengujian tingkat ketiga.
Pengujian Sistem mencakup pengujian sistem perangkat lunak yang terintegrasi penuh. Umumnya sistem komputer dibuat dengan integrasi perangkat lunak (perangkat lunak apa pun hanya merupakan satu elemen dari sistem komputer). Perangkat lunak dikembangkan dalam unit-unit dan kemudian dihubungkan dengan perangkat lunak dan perangkat keras lain untuk membuat sistem komputer yang lengkap. Dengan kata lain, sistem komputer terdiri dari sekelompok perangkat lunak untuk melakukan berbagai tugas, tetapi hanya perangkat lunak yang tidak dapat melakukan tugas tersebut; untuk itu perangkat lunak harus dihubungkan dengan perangkat keras yang kompatibel. Pengujian sistem adalah serangkaian jenis pengujian yang berbeda dengan tujuan untuk melatih dan menguji kerja penuh sistem komputer perangkat lunak terintegrasi terhadap persyaratan.

Untuk memeriksa aliran end-to-end suatu aplikasi dikenal sebagai pengujian sistem. Dalam hal ini, menelusuri semua modul yang diperlukan dari suatu aplikasi dan memeriksa apakah fitur akhir berfungsi dengan baik, dan menguji produk secara keseluruhan sistem. Ini adalah pengujian end-to-end yang lingkungan pengujiannya mirip dengan lingkungan produksi.
Ada dua metode yang banyak digunakan untuk pengujian perangkat lunak, satu adalah pengujian kotak putih yang menggunakan pengkodean internal untuk merancang kasus pengujian dan yang lainnya adalah pengujian kotak hitam yang menggunakan GUI atau perspektif pengguna untuk mengembangkan kasus pengujian.

Pengujian sistem termasuk dalam pengujian Black box karena mencakup pengujian kerja eksternal perangkat lunak. Pengujian mengikuti perspektif pengguna untuk mengidentifikasi cacat kecil. Pengujian Sistem mencakup langkah-langkah berikut :
  • Verifikasi fungsi masukan aplikasi untuk menguji apakah menghasilkan keluaran yang diharapkan atau tidak.
  • Pengujian perangkat lunak terintegrasi dengan menyertakan periferal eksternal untuk memeriksa interaksi berbagai komponen satu sama lain.
  • Pengujian keseluruhan sistem untuk pengujian End to End.
  • Pengujian perilaku aplikasi melalui pengalaman pengguna

Jenis System Testing

Pengujian sistem dibagi menjadi lebih dari 50 jenis, namun perusahaan pengujian perangkat lunak biasanya menggunakan beberapa di antaranya, seperti di bawah ini:
Regression Testing
Pengujian regresi dilakukan dalam pengujian sistem untuk mengonfirmasi dan mengidentifikasi apakah ada cacat pada sistem karena modifikasi pada bagian lain dari sistem. Hal ini memastikan, setiap perubahan yang dilakukan selama proses pengembangan tidak menimbulkan cacat baru dan juga memberikan jaminan; cacat lama tidak akan ada pada penambahan perangkat lunak baru seiring berjalannya waktu.

Load Testing
Pengujian beban dilakukan dalam pengujian sistem untuk memperjelas apakah sistem dapat bekerja di bawah beban waktu nyata atau tidak.

Functional Testing
Pengujian fungsional suatu sistem dilakukan untuk mengetahui apakah ada fungsi yang hilang dalam sistem. Penguji membuat daftar fungsi-fungsi penting yang harus ada dalam sistem dan dapat ditambahkan selama pengujian fungsional dan harus meningkatkan kualitas sistem.

Recovery Testing
Pengujian pemulihan suatu sistem dilakukan di bawah pengujian sistem untuk memastikan keandalan, kepercayaan, akuntabilitas sistem dan semuanya terletak pada keterampilan memulihkan sistem. 
Seharusnya dapat berhasil memulihkan dari semua kemungkinan kerusakan sistem. Dalam pengujian ini, akan menguji aplikasi untuk memeriksa seberapa baik aplikasi tersebut pulih dari kerusakan atau bencana.

Migration Testing
Pengujian migrasi dilakukan untuk memastikan bahwa jika sistem perlu dimodifikasi pada infrastruktur baru maka sistem tersebut harus dimodifikasi tanpa masalah apa pun.

Usability Testing
Tujuan dari pengujian ini untuk memastikan bahwa sistem sudah familiar dengan pengguna dan memenuhi tujuannya untuk apa yang seharusnya dilakukan.

Software and Hardware Testing
Pengujian sistem ini bertujuan untuk memeriksa kompatibilitas perangkat keras dan perangkat lunak. Konfigurasi perangkat keras harus kompatibel dengan perangkat lunak untuk menjalankannya tanpa masalah apa pun. Kompatibilitas memberikan fleksibilitas dengan menyediakan interaksi antara perangkat keras dan perangkat lunak.


Mengapa Pengujian Sistem Penting?

  • Pengujian Sistem memberikan jaminan seratus persen atas kinerja sistem karena mencakup fungsi sistem secara menyeluruh.
  • Ini mencakup pengujian arsitektur perangkat lunak Sistem dan kebutuhan bisnis.
  • Ini membantu dalam mengurangi masalah langsung dan bug bahkan setelah produksi.
  • Pengujian sistem menggunakan sistem yang ada dan sistem baru untuk memasukkan data yang sama pada keduanya dan kemudian membandingkan perbedaan fungsionalitas dari fungsi yang ditambahkan dan yang sudah ada sehingga, pengguna dapat memahami manfaat dari fungsi tambahan yang baru pada sistem.
Sumber : https://www.javatpoint.com/software-testing-tutorial
Apa itu Integration Testing ?

    Pengujian integrasi adalah proses pengujian perangkat lunak tingkat kedua setelah pengujian unit. Dalam pengujian ini, unit atau komponen individu perangkat lunak diuji secara berkelompok. Fokus dari tingkat pengujian integrasi adalah untuk mengungkap defects pada saat interaksi antara komponen atau unit yang terintegrasi.

    Pengujian unit menggunakan modul untuk tujuan pengujian, dan modul-modul ini digabungkan dan diuji dalam pengujian integrasi. Perangkat Lunak ini dikembangkan dengan sejumlah modul perangkat lunak yang dikodekan oleh programmers yang berbeda. Tujuan pengujian integrasi adalah untuk memeriksa kebenaran komunikasi antar semua modul.

    Setelah semua komponen atau modul bekerja secara independen, maka kita perlu memeriksa aliran data antar modul dependen yang disebut pengujian integrasi. Mari kita lihat salah satu contoh aplikasi perbankan, seperti yang bisa kita lihat pada gambar jumlah transfer di bawah ini.

  • Pertama, kita akan login sebagai pengguna P untuk mentransfer jumlah dan mengirim jumlah Rp. 200.000, pesan konfirmasi akan ditampilkan di layar sebagai jumlah yang berhasil ditransfer. Sekarang logout sebagai P dan login sebagai pengguna Q dan buka halaman jumlah saldo dan periksa saldo di akun itu = Saldo saat ini + Saldo Diterima. Oleh karena itu, uji integrasi berhasil.
  • Kami juga memeriksa apakah jumlah saldo telah berkurang sebesar Rp. 200.000 di akun pengguna P.
  • Klik transaksi, di P dan Q akan muncul pesan mengenai data dan waktu transfer jumlah.

Pedoman Pengujian Integrasi

  • Kami melakukan pengujian integrasi hanya setelah pengujian fungsional selesai pada setiap modul aplikasi.
  • Kami selalu melakukan pengujian integrasi dengan memilih modul demi modul sehingga diikuti urutan yang tepat, dan kami juga tidak melewatkan skenario integrasi apa pun.
  • Pertama, tentukan strategi kasus uji yang dapat digunakan untuk menyiapkan kasus uji yang dapat dieksekusi berdasarkan data pengujian.
  • Periksa struktur dan arsitektur aplikasi dan identifikasi modul penting untuk mengujinya terlebih dahulu dan juga identifikasi semua skenario yang mungkin.
  • Rancang kasus uji untuk memverifikasi setiap antarmuka secara detail.
  • Pilih data masukan untuk eksekusi kasus uji. Data masukan memainkan peran penting dalam pengujian.
  • Jika kami menemukan bug, komunikasikan laporan bug tersebut kepada pengembang dan perbaiki cacat serta pengujian ulang.
  • Lakukan pengujian integrasi positif dan negatif.
Pengujian positif menyiratkan bahwa jika total saldo adalah Rp. 15.000 dan kami mentransfer Rp. 1.500 dan memeriksa apakah jumlah transfer berfungsi dengan baik. Jika ya, maka ujiannya akan lulus.
Pengujian negatif artinya jika total saldo Rp. 15.000 dan kami mentransfer Rp. 20.000 dan memeriksa apakah transfer jumlah terjadi atau tidak, jika tidak terjadi maka tes lulus. Jika terjadi, berarti ada bug pada kode tersebut, dan kami akan mengirimkannya ke tim pengembangan untuk diperbaiki bug tersebut.

Aplikasi apa pun di dunia ini akan melakukan pengujian fungsional secara wajib, sedangkan pengujian integrasi akan dilakukan hanya jika modul-modulnya saling bergantung satu sama lain. Setiap skenario integrasi wajib memiliki sumber→ data→tujuan. Skenario apa pun dapat disebut sebagai skenario integrasi hanya jika data disimpan di tujuan. Pada aplikasi Gmail, Sumber bisa berupa Tulis, Data bisa berupa Email dan Tujuan bisa berupa Kotak Masuk.

Catatan :
  • Ada beberapa fitur, kami mungkin hanya melakukan pengujian fungsional, dan ada beberapa fitur di mana kami melakukan pengujian fungsional dan integrasi berdasarkan persyaratan fitur tersebut.
  • Memprioritaskan itu penting, dan kita harus melakukannya di semua tahapan, yang berarti kita akan membuka aplikasi dan memilih fitur mana yang perlu diuji terlebih dahulu. Lalu masuk ke fitur tersebut dan pilih komponen mana yang harus diuji terlebih dahulu. Buka komponen tersebut dan tentukan nilai apa yang akan dimasukkan terlebih dahulu.
  • Dan jangan menerapkan aturan yang sama di mana pun karena logika pengujian bervariasi dari satu fitur ke fitur lainnya.
  • Saat melakukan pengujian, kita harus menguji satu fitur secara keseluruhan dan kemudian melanjutkan ke fungsi lainnya.
  • Di antara kedua fitur tersebut, kita harus melakukan hanya pengujian integrasi positif atau pengujian integrasi positif dan negatif, dan ini juga bergantung pada kebutuhan fitur.

Alasan Dibalik Pengujian Integrasi

Meskipun semua modul aplikasi perangkat lunak telah diuji pada unit pengujian, kesalahan masih tetap ada karena alasan berikut:
  • Setiap modul dirancang oleh pengembang perangkat lunak individual yang logika pemrogramannya mungkin berbeda dari pengembang modul lain; pengujian integrasi menjadi penting untuk menentukan kerja modul perangkat lunak.
  • Untuk memeriksa interaksi modul perangkat lunak dengan database apakah salah atau tidak. 
  • Persyaratan dapat diubah atau ditingkatkan pada saat pengembangan modul. Persyaratan baru ini mungkin tidak diuji pada tingkat pengujian unit sehingga pengujian integrasi menjadi wajib.
  • Ketidakcocokan antar modul perangkat lunak dapat menimbulkan kesalahan.
  • Untuk menguji kompatibilitas perangkat keras dengan perangkat lunak.
  • Jika penanganan pengecualian antar modul tidak memadai, hal ini dapat menimbulkan bug.

Jenis Pengujian Integrasi


Incremental Integration Testing
Dalam jenis pengujian ini, terdapat hubungan yang kuat antara modul dependen. Misalkan kita mengambil dua atau lebih modul dan memverifikasi bahwa aliran data di antara keduanya berfungsi dengan baik. Jika ya, tambahkan lebih banyak modul dan uji lagi. Contohnya, misalkan kita memiliki Aplikasi Flipkart, kita akan melakukan pengujian integrasi tambahan, dan alur aplikasinya akan seperti ini: Flipkart→ Login→ Home → Search→ Add cart→Payment → Logout

Top-Down Integration Testing
Strategi pengujian top-down berkaitan dengan proses di mana modul tingkat yang lebih tinggi diuji dengan modul tingkat yang lebih rendah hingga pengujian semua modul berhasil diselesaikan. Cacat desain utama dapat dideteksi dan diperbaiki sejak dini karena modul penting diuji terlebih dahulu. Dalam metode jenis ini, kita akan menambahkan modul secara bertahap atau satu per satu dan memeriksa aliran data dalam urutan yang sama.
Bottom-Up Integration Testing
Strategi pengujian dari bawah ke atas berkaitan dengan proses di mana modul tingkat yang lebih rendah diuji dengan modul tingkat yang lebih tinggi hingga pengujian semua modul berhasil diselesaikan. Modul penting tingkat atas akhirnya diuji, sehingga mungkin menyebabkan kerusakan. Atau kita dapat mengatakan bahwa kita akan menambahkan modul dari bawah ke atas dan memeriksa aliran data dalam urutan yang sama.

Non-Incremental Integration Testing
Kami akan menggunakan metode ini, ketika aliran data sangat kompleks dan ketika sulit untuk menemukan siapa yang merupakan Parent dan siapa yang merupakan Child. Dan dalam kasus seperti itu, kami akan membuat data di modul mana pun dan di semua modul lain yang ada dan memeriksa apakah datanya ada. Oleh karena itu, metode ini juga dikenal sebagai metode Big Bang.

Sumber : https://www.javatpoint.com/software-testing-tutorial

Materi