Disusun Oleh :
Intgegration testing adalah tingkat pengujian perangkat lunak di mana unit individu digabungkan
dan diuji sebagai suatu kelompok. Tujuan dari level pengujian ini adalah untuk mengekspos
kesalahan dalam interaksi antar unit terintegrasi. Umumnya para penguji akan mengetes bagaimana
unit-unit tersebut bekerja dalam suatu kombinasi dan bukan lagi sebagai satu unit individual.
Pada tahapan Integration Testing, input berupa modul-modul yang sudah di uji sebelumnya dalam
tahapan unit testing lalu masuk proses ke dalam sub-integration testing yang kemudian akan
dihasilkan output tertentu. Output inilah yang nantinya akan diproses ke tahapan selanjutnya yaitu
system testing. Dalam Integration Testing, penguji software harus memastikan hasil dari beberapa
fungsi tersebut apakah telah berjalan sesuai dengan yang diharapkan dan juga mereka harus yakin
bahwa output hasil sesuai dengan yang diharapkan pula.
Pengujian integrasi: Pengujian dilakukan untuk mengekspos cacat pada antarmuka dan di
interaksi antara komponen atau sistem terintegrasi. Lihat juga integrasi omponent
pengujian, pengujian integrasi sistem .
Pengujian Integrasi adalah pengujian tingkat kedua yang dilakukan setelah Pengujian Unit dan
sebelum Pengujian Sistem .
- Big Bang Intergration Testing adalah pendekatan untuk Pengujian Integrasi di mana semua atau
sebagian besar unit digabungkan bersama dan diuji sekaligus.
Produk ini diuji sangat konsisten karena pengujian integrasi pada dasarnya dilakukan dalam
lingkungan yang hampir mirip dengan realitas
Rintisan dapat ditulis dengan waktu yang lebih kecil karena ketika dibandingkan dengan
driver kemudian bertopik lebih sederhana kepada penulis.
- Bottom Up Integration Testing adalah pendekatan untuk Pengujian Integrasi di mana unit tingkat
bawah diuji terlebih dahulu dan unit tingkat atas selangkah demi selangkah . Sistem akan diganti
oleh driver. Kelebihan dari bottom up integration testing adalah pengujian bisa lebih teliti dan
mudah melacak bug jika terjadi kegagalan sistem.
Kelebihan teknik bottom up integration testing :
- Sandwich / Hybrid adalah pendekatan untuk Pengujian Integrasi yang merupakan kombinasi dari
pendekatan Top Down dan Bottom Up.
2 . Acceptence Testing
Acceptence Testing adalah tingkat pengujian perangkat lunak di mana suatu sistem diuji untuk
dapat diterima. Tujuan dari tes ini adalah untuk menguji apakah sistem sudah sesuai dengan apa
yang tertuang dalam spesifikasi fungisonal sistem (validation). Test akan dilakukan oleh
pengembang dan hasil akan dinilai oleh pengguna,Terdiri dari dua tahapan: Sebelum pengiriman
dan setelah instalasi, Melibatkan semua aspek sistem: hardware, software aplikasi, environment
software, tempat, dan operators.
Biasanya, metode Black Box Testing digunakan dalam Acceptance Testing. Pengujian biasanya
tidak mengikuti prosedur yang ketat dan tidak ditulis tetapi agak bersifat ad-hoc.
Definisi oleh ISTQB :
Acceptence testing adalah Pengujian formal sehubungan dengan kebutuhan pengguna, persyaratan,
dan proses bisnis yang dilakukan untuk menentukan apakah suatu sistem memenuhi kriteria
penerimaan dan untuk memungkinkan pengguna, pelanggan atau entitas resmi lainnya untuk
menentukan apakah atau tidak untuk menerima sistem.
Acceptance testing adalah tingkatan keempat dan terakihr pengujian yang dilakukan setelah
pengujian sistem dan sebelum membuat sistem tersedia untuk penggunaan yang sebernarnya.
• Pengujian Penerimaan Internal (Juga dikenal sebagai Pengujian Alfa) dilakukan oleh
anggota organisasi yang mengembangkan perangkat lunak tetapi tidak terlibat langsung
dalam proyek (Pengembangan atau Pengujian). Biasanya, itu adalah anggota Manajemen
Produk, Penjualan dan / atau Dukungan Pelanggan.
• Pengujian Penerimaan Eksternal dilakukan oleh orang-orang yang bukan karyawan
organisasi yang mengembangkan perangkat lunak.
• Pengujian Penerimaan Pelanggan dilakukan oleh pelanggan dari organisasi yang
mengembangkan perangkat lunak. Mereka adalah orang-orang yang meminta organisasi
untuk mengembangkan perangkat lunak. [Ini dalam hal perangkat lunak tidak dimiliki oleh
organisasi yang mengembangkannya.]
• Pengujian Penerimaan Pengguna (Juga dikenal sebagai Pengujian Beta) dilakukan oleh
pengguna akhir perangkat lunak. Mereka bisa menjadi pelanggan sendiri atau pelanggan
pelanggan.
3. Volume Testing
Volume testing atau pengujian volume termasuk kedalam non-fungsional test, yang sering
digunakan secara bergantian. Dimana pengujian volume ini mengacu kepada pengujian aplikasi
perangkat lunak dengan sejumlah data. Jumlah data yang sudah didapatkan bisa di generic menjadi
ukuran database atau bisa juga menjadi file interface yang merupakan subject untuk pengujian
volume.
Contohnya :
• Seandainya ingin menguji aplikasi dengan ukuran database tertentu, maka kita akan
memperluas database ke ukuran tersebut dan kemudian menguji kinerja aplikasi yang ada
diatasnya
• ketika terdapat persyaratan untuk aplikasi untuk berinteraksi dengan file interface (dapat
berupa file seperti xml) interaksi ini mampu membaca dan / atau menulis ke / dari file.
Dimana kita akan membuat file sampel ukuran yang kita inginkan dan kemudian menguji
fungsionalitas aplikasi dengan file tersebut untuk mengetahui kinerja file tersebut.
Tujuan Volume testing : Mencari permasalahan dengan memaksimalkan jumlah data dan
menggunakan sistem kinerja yang sering digunakan untuk mengurangi besarnya data yang harus
dicari, diperintahkan dan lain-lain. Pengujian prosedur pada volume testing diantaranya sistem
sistem yang dijalankan dengan jumlah yang maksimum,dengan menggunakan table internal,
database, file, dan lain-lain dengan syarat hardisk yang maksimal . Data yang dibutuhkan dengan
panjang inputan eksternal yang maksimal, serta fungsi-fungsi penting dimana volume data dapat
menyebabkan suatu masalah.
Ada beberapa pertimbangan saat melakukan volume testing :
• Mengcopy data produksi
• Menggunakan data
• Mengetahui bahwa variasi data sangatlah penting
• Mengetahui Memori fragmentasi sangatlah penting
Pengujian volume harus memeriksa apakah ada permasalahan ketika menjalankan sistem yang
sedang di uji dengan jumlah data yang realistis, atau bahkan yang maksimal ataupun melebihi.
Pengujian volume diperlukan seperti pengujian fungsi seperti yang lainnya namun pengujian fungsi
lain biasanya tidak menggunakan data dalam jumlah besar, berbeda dengan pengujian volume
karena memerlukan data yang maksimal.
Bagian dari pengujian volume adalah untuk menjalankan sistem selama beberapa waktu tertentu
dengan banyak data. Hal ini dalam rangka untuk memeriksa apa yang terjadi pada buffer sementara
dan untuk memeriksa timeout karena waktu yang lama pada saat mengakses.
4.Regression Testing
Setiap kali developer mengupdate perangkat lunak mereka. Pasti sekecil apapun hal yang diupdate,
itu akan menimbulkan konsekuensi. Pengembang harus melakukan pengujian terhadap software
bauatannya. Salah satunya adalah regression testing. Regression testing adalah salah satu pengujian
dimana pengujian testing ini adalah bertujuan untuk menemukan bug yang tak sengaja menyebar ke
dalam software. Dengan menulis kembali skenario pengujian awal. Anda dapat meastikan bahwa
setiap prubahan baru dalam software belum menghasilkan regresi yang sebelumnya gagal diatasi.
Tes ni dapat dilakukan secara manual akan tetapi dalam beberapa kasus. Mengulang serangkaian
test adalah hal yang membuang waktu.
Saat anda melakukan pengujian regresi. Anda akan memeriksa apakah software berjalan sesuai
keinginan akan tetapi tidak menyebabkan masalah pada fungsi software sebelumnya
Dengan regression testing otomatis. Anda hanya bebrapa kali menklik mouse untyuk menetapkan
parameter pengujian dan memeriksa iterasi pada kode garis dasar software. Berbeda dengan manual
dimana testing dilakukan dengan cara mengulang test case sejumklah kasus uji setiap sebuah unit
yang diintregasikan.
Pemeliharaan perangkat lunak adalah aktivitas yang mencakup penyempurnaan, koreksi kesalahan,
pengoptimalan, dan penghapusan fitur yang ada. Modifikasi ini dapat menyebabkan sistem bekerja
dengan tidak benar. Oleh karena itu, Pengujian Regresi menjadi perlu. Pengujian Regresi dapat
dilakukan dengan menggunakan teknik-teknik berikut:
• Dengan berjalannya regresi berturut-turut, suite uji menjadi cukup besar. Karena
keterbatasan waktu dan anggaran, seluruh suite uji regresi tidak dapat dijalankan
• Meminimalkan test suite sambil mencapai cakupan Test maksimum tetap menjadi tantangan
• Penentuan frekuensi Uji Regresi, yaitu, setelah setiap modifikasi atau setiap pembaruan
build atau setelah sekumpulan perbaikan bug, merupakan tantangan.
5. Functional testing
Functional testing adalah jenis pengujian perangkat lunak di mana sistem diuji terhadap persyaratan
/ spesifikasi fungsional.Fungsi diuji dengan memberi mereka masukan dan memeriksa output.
Pengujian fungsional memastikan bahwa persyaratan dipenuhi dengan benar oleh aplikasi.
Contohnya seperti fungsi button save , delete, undo , redo , edit . Sang penguji harus dapat
membuktikan bahwa program tersebut benar benar berjalan sesuai yang diinginkan.
Contoh lainnya agar mudah dipahami adalah saat Anda diminta untuk memasukkan data di aplikasi
tertentu dan data yang harus di ketik adalah angka. Saat si penguji memasukkan huruf atau spesial
karakter lainnya, sistem software harus dapat mengeluarkan warning yang memberitahukan jika
data input tersebut sebenarnya salah.
Pengujian ini melibatkan pengujian black box di mana logika internal dari sistem yang sedang diuji
tidak diketahui oleh penguji.
Functional testing biasanya dilakukan selama level system testing dan acceptance testing.
Biasanya pengujian functional testing melibatakan langkah langkah berikut :
Tujuan utama dari pengujian Fungsional adalah memeriksa fungsionalitas sistem perangkat lunak.
Ini terutama berkonsentrasi pada :
Hasil dari testing ini adalah untuk menemukan keadaan software secara aktual yang diharapkan
para developer. Secara sederhananya, testing dilakukan untuk mengeksekusi sistem untuk
mengidentifikasi bug, error dari software sesuai dengan kebutuhan yang di inginkan.
Biasanya testing ini tidak dilakukan dalam satu pihak saja melainkan dari beberapa orang
profesional yang didalamnya mencangkup software tester , software developer , project leaeder dan
end user .
End to end testing adalah proses evaluasi terhadap lingkungan operasi yang meliputi jaringan,
database, aplikasi, dan lain sebagainya. Inting e2e testing akan berfokus pada elemen - elemen yang
ada dalam browser. Selain itu tujuan end to end testing bertujuan mengidentifikasi dependensi
sistem dan unuk memastikan bahwa informasi yang benar. Dilewatkan antara berbagai komoponen
sistem dan sistem algoroitmik yang benar.
Pengujian ini melibatkan dan memastikan bahwa komponen terintegrasi dan fungsiaplikasi seperti
yang diharapkan. Seluruh aplikasi diuji d=kedalam sebuah skema nyata seperti komunikasi dengan
basis data jaringa, perangkat linak, perangkat keras dan aplikasi terkait.
• Pengujian horisontal akhir ke akhir : Metode ini sangat mudah dan umum dilakukan metode
dapat dengan mudah diterapkan dalam aplikasi ERP. Ambil contoh dari aplikasi berbassis
web pemesanan online. Testing meliputi akun, status inventaris, serta detail pengiriman
produk.
• Pengujian ujung ke ujung vertikal : Dalam metode ini semua komponen diverifikasi dan dan
divaluasi langsung dari awal hingga selesai. Setiap komponen duji dari atas ke bawah. Misal
kode HTML yang untuk menjangkau server web. Dalam kasus seperti itu API diperlukan
untuk menghasilkan SQL terhadap database.
Pengujian white box dan black box keduanya terkait denganpengujian end to end testing. Ini adalah
kombinasi manfaat dari kedua pengujian itu, tergantung pada jenis perangkat lunak yang
dikembangkan. Pada tingkat yang berbeda. Pada dasarnya end to end test bersifat fungsional serta
pendekatan arsitektur untuk setiap software mauun program.
sistem perangkat lunak modern terdiri dari interkoneksi dengan beberapa sub-sistem.Ini telah
membuat sistem perangkat lunak modern menjadi sangat rumit.Sub-sistem ini yang kita bicarakan
dapat berada dalam organisasi yang sama atau dalam banyak kasus dapat juga dari organisasi yang
berbeda. Juga, sub-sistem ini bisa agak mirip atau berbeda dari sistem saat ini.Akibatnya, jika ada
kegagalan atau kesalahan dalam sub-sistem apa pun, itu dapat mempengaruhi seluruh sistem
Perangkat Lunak yang mengarah pada keruntuhannya.
1. Fungsi pengguna, bebrapa hal ini harus dilakukan untuk membangun fungsi pengguna:
• Menampilkan fitur dalam sistem
• Lacak tindakan serta data input dan output
• Temukan relasi
• Cari tahu sifat dari fungsi prngguna yang berbeda
2. Kententuan, Aktivitas berikut harus dilakukan sebagai bagian dari kondisi bangunan berdasarkan
fungsi pengguna:
3.Uji Kasus: Faktor-faktor berikut harus dipertimbangkan untuk membangun kasus uji:
• Untuk setiap skenario, satu atau lebih kasus uji harus dibuat untuk menguji setiap fungsi
fungsi pengguna.
• Setiap kondisi tunggal harus terdaftar sebagai kasus uji yang terpisah.
7. GUI Testing
GUI Testing adalah proses pengujian Antarmuka Pengguna Grafis sistem dari Aplikasi yang Diuji.
Pengujian GUI meliputi pemeriksaan layar dengan kontrol seperti menu, tombol, ikon, dan semua
jenis bar - bilah alat, bilah menu, kotak dialog dan jendela, dll.
GUI adalah apa yang dilihat pengguna. Katakanlah jika Anda mengunjungi dinus.ac.id apa yang
akan Anda lihat katakan halaman beranda itu adalah GUI (antarmuka pengguna grafis) dari situs
tersebut. Seorang pengguna tidak dapat melihat source codenya . Antarmuka terlihat oleh pengguna.
Terutama fokusnya adalah pada struktur desain, gambar yang mereka kerjakan dengan benar atau
tidak. Dalam melakukan testing kita juga harus melakukan di browser yang berbeda agar kita tahu
jika ada design yang tidak responsif dibrowser tersebut dan juga mengecek tombol tombol apakah
berfungsi dengan baik atau tidak.
Menurut kami itu sangat penting , Pengguna normal pertama-tama mengamati desain dan
penampilan Aplikasi / SoftwareI. Jika seorang pengguna tidak nyaman dengan Antarmuka dia tidak
akan pernah menggunakan Aplikasi itu Lagi. Oleh karena itu, GUI sangat penting untuk dilakukan
testing, dan pengujian yang tepat harus dilakukan untuk memastikan bahwa GUI bebas dari Bugs.
8. Security Testing
Security testing adalah varian Pengujian Perangkat Lunak yang memastikan, bahwa sistem dan
aplikasi dalam suatu organisasi, bebas dari celah yang dapat menyebabkan kerugian besar.
Pengujian keamanan sistem apa pun adalah tentang menemukan semua celah dan kelemahan yang
mungkin dari sistem yang dapat mengakibatkan hilangnya informasi di tangan karyawan atau orang
luar Organisasi.
Tujuan dari pengujian keamanan adalah untuk mengidentifikasi ancaman dalam sistem dan
mengukur potensi kerentanannya. Ini juga membantu dalam mendeteksi semua kemungkinan risiko
keamanan dalam sistem dan membantu pengembang dalam memperbaiki masalah ini melalui
coding.
Metodologi :
Dalam pengujian keamanan, metodologi yang berbeda diikuti, dan mereka adalah sebagai berikut:
• Tiger box : Peretasan ini biasanya dilakukan pada laptop yang memiliki koleksi OS dan alat
peretasan. Pengujian ini membantu penguji penetrasi dan penguji keamanan untuk
melakukan penilaian kerentanan dan serangan.
• Black box : Tester berwenang untuk melakukan pengujian pada semua hal tentang topologi
jaringan dan teknologinya.
• Grey Box : Informasi parsial diberikan kepada penguji tentang sistem, dan itu adalah
gabungan dari model white box dan black box.
Daftar Pustaka
http://sis.binus.ac.id/2016/12/16/big-bang-integration-testing/
https://spaceku.com/pengertian-integration-testing/
http://softwaretestingfundamentals.com/integration-testing/
https://www.tutorialspoint.com/software_testing_dictionary/hybrid_integration_testing.htm
http://softwaretestingfundamentals.com/acceptance-testing/
http://eri.staff.gunadarma.ac.id/Downloads/files/8864/SystemAcceptanceTesting.ppt
http://testinglink.in/topics/what-is-volume-testing
http://www.onestoptesting.com/volume-testing/
http://www.loadtest.com.au/types_of_tests/volume_tests.html
http://www.testingdiaries.com/volume-testing/
https://spaceku.com/pengertian-regression-testing/
https://www.guru99.com/regression-testing.html
https://spaceku.com/pengertian-functional-testing/
http://softwaretestingfundamentals.com/functional-testing/
https://www.guru99.com/functional-testing.html
https://www.softwaretestinghelp.com/what-is-end-to-end-testing/
https://www.techopedia.com/definition/7035/end-to-end-test
https://www.guru99.com/gui-testing.html
https://www.inflectra.com/rapise/highlights/gui-testing.aspx
https://www.guru99.com/what-is-security-testing.html