Anda di halaman 1dari 7

TUGAS SOFTWARE QUALITY TESTING

Kelompok :

1. Moh Nurul Huda (A11.2016.09657)


2. Alfan Rihadatul „Aisy (A11.2016.09663)
3. Elok Iedfitra Haksoro (A11.2016.09880)

UNIVERSITAS DIAN NUSWATORO


Tahun 2018
1. Integration Testing

Integration Testing adalah sebuah fase didalam software testing dimana setiap beberapa
individu modul perangkat lunak dikombinasikan dan diuji sebagai sebuah grup. Testing
ini menguji modul-modul yang sudah diuji di fase sebelumnya, dikumpulkan menjadi
kelompok-kelompok yang lebuh besar, kemudian kelompok-kelompok tersebut diuji
berdasarkan Test Plan yang sudah didefinisikan, dan keluar sebagai Integrated System
yang sudah siap untuk dilakukan System Testing.

Source : Martyn A Ould & Charles Unwin (ed), Testing in Software Development, BCS
(1986)

Beberapa tipe Integration Testing antara lain:

 Big-bang

Tipe ini menyatukan modul-modul yang sudah dikembangkan untuk membentuk


sebuah sistem software yang komplit atau suatu bagian besar dari sebuah sistem lalu
kemudian dilakukan testing.

 Bottom up

Sebuah pendekatan Integration Testing dimana komponen-komponen pada level


bawah diuji terlebih dahulu, kemudian dimanfaatkan untuk menguji komponen dengan
level yang lebih tinggi.

 Top-down

Sebuah metode dimana modul-modul inti diuji dan cabang modul tersebut diuji
secara bertahap sampai akhir modul.

 Sandwich

Sebuah metode gabungan antara Top-down dan Bottom up testing.

Source : Binder, Robert V.: Testing Object-Oriented Systems: Models, Patterns, and
Tools. Addison Wesley 1999.
Contohnya, menguji suatu sistem login sebuah software apakah sudah sesuai seperti
hasil yang diharapkan atau belum.

2. Acceptance Testing

Acceptance Testing merupakan sebuah level didalam software testing dimana sebuah
sistem diuji penerimaannya. Tujuannya untuk mengevaluasi sistem apakah sudah
memenuhi kebutuhan dan dinilai apakah sudah siap untuk dikirimkan.

Acceptance Testing dibagi menjadi dua dilihat dari siapa yang melakukan testing
tersebut, yaitu:

a. Internal Acceptance Testing (Alpha Testing)

Dilakukan oleh anggota organisasi atau tim pengembang software tetapi yang
tidak terlibat langsung dengan projek (Pengembangan atau Pengujian). Biasanya orang-
orang dari Manajemen Produk, Sales, ataupun Customer Service.

b. External Acceptance Testing


o Customer Acceptance Testing
Dilakukan oleh klien organisasi yang mengembangkan software tersebut.
Mereka adalah orang yang meminta organisasi mengembangkan suatu
software.
o User Acceptance Testing (Beta Testing)
Dilakukan oleh pengguna akhir software. Mereka bisa klien sendiri atau
pelanggan dari klien tersebut.

Source : http://softwaretestingfundamentals.com/acceptance-testing/

Contoh, sebuah perusahaan meminta karyawan-karyawannya untuk mencoba dan


menilai secara langsung software yang dikembangkan dengan memberi kuisioner
dengan kategori penilaian yang ditentukan.
3. Stress/Volume Testing

Stress Testing adalah sebuah pengujian yang menentukan kekokohan dari sebuah
software dengan menguji diluar batas operasi normal. Stress Testing menekankan pada
kekokohan, availability, dan error handling dibawah muatan lebih berat dari yang
biasanya dianggap tingkah laku yang benar didalam keadaan normal. Contohnya,
sebuah web server bisa dilakukan Stress Testing menggunakan script, bot, atau denial of
service lainnya untuk memantau performa sebuah website dengan beban tinggi.

Contoh dari strees testing ini adalah ketika melakukan input krs secara bersamaan pada
jam yang sama yaitu jam 00.00 seringkali terjadi down dan susah diakses. 2 hal tersebut
menjadi hal yang perlu dilakukan stress testing untuk mengetahui seberapa besar
“kekuatan” web server tersebut . Agar dapat diketahui nya down karena di hack atau
karena overload ini mengakibatkan denial of service yang menyebabkan kerugian dari
sisi mahasiswa dan pihak universitas , karena memerlukan waktu akses yang lebih lama
dalam melakukan penginputan data.

4. Regression Testing

Regression Testing yaitu melakukan kembali functional dan non-functional testing


untuk memastikan bahwa software yang sudah dikembangkan dan diuji sebelumnya
masih bisa berjalan setelah ada perubahan. Jika tidak maka hal itu disebut regression.
Perubahan yang mungkin membutuhkan Regression Testing termasuk perbaikan bug,
peningkatan software, perubahan konfigurasi, dan bahkan pergantian komponen
elektronik.

Beberapa teknik Regression Testing antara lain:

 Retest All

Teknik ini memeriksa semua test-case pada program saat ini guna mengecek
keutuhannya. Walaupun membutuhkan lebih banyak biaya karena harus menguji ulang
semua test-case, teknik ini bisa memastikan tidak ada error yang disebabkan oleh kode
yang dimodifikasi.
 Regression Test Selection

Tidak seperti Retest All, teknik ini hanya menguji sebuah bagian dari pengujian
jika biaya pemilihan bagian tersebut lebih sedikit dari teknik Retest All.

 Test-case prioritization

Memprioritaskan test-case sehingga untuk menigkatkan tingkat deteksi


kesalahan uji coba test suite. Teknik ini menjadwalkan test-case dengan prioritas tinggi
akan diuji terlebih dahulu dari test-case yang berprioritas rendah.

 Hybrid

Teknik hybrid antara Regression Test Selection dan Test-case Prioritization.

Contoh : Dalam pengembangan software perubahan dalam software sering dilakukan


untuk meningkatkan kinerja dari software tersebut seperti update software . regresi
testing ini sangat berpengaruh untuk melakukan pengetesan apakah perubahan dapat
berjalan dengan lancar dan tidak mengganggu software yang telah berjalan sebelumnya .

Sources:

Basu, Anirban (2015). Software Quality Assurance, Testing and Metrics. PHI Learning.

Pezzè, Mauro; Young, Michal (2008). Software testing and analysis: process, principles,
and techniques.

Duggal, Gaurav; Suri, Bharti (2008-03-29). Understanding Regression Testing


Techniques. National Conference on Challenges and Opportunities. Mandi Gobindgarh,
Punjab, India.

National Research Council Committee on Aging Avionics in Military Aircraft: Aging


Avionics in Military Aircraft. The National Academies Press, 2001, page 2.

5. Functional testing

Functional testing adalah sebuah proses didalam software testing dimana sebuah
software diuji untuk memastikan bahwa software tersebut telah memenuhi semua
requirement (kebutuhan). Functional testing adalah sebuah cara untuk memeriksa
software untuk memastikan bahwa software sudah memenuhi semua fungsi yang
dibutuhkan yang telah dispesifikasikan sebelumnya pada functional requirement.

Pada dasarnya, Functional testing digunakan untuk memastikan bahwa sebuah software
memberikan output sesuai dengan kebutuhan end-user. Secara khusus, Functional
testing mengevaluasi dan membandingkan setiap fungsi pada software dengan
kebutuhannya. Software diuji dengan menyediakan input yang berkaitan sehingga
outputnya bisa dievaluasi apakah sudah sesuai atau berbeda dengan kebutuhan aslinya.
Functional testing juga memeriksa usability software, seperti memastikan bahwa fungsi
navigasi bekerja seperti yang diharapkan.

Cotoh dari fungsional testing yaitu ketika kita membuat/mengembangkan suatu


software kita ingin membandingkan dengan aplikasi lainnya , misal kita membuat
aplicasi e-commerce lalu kita membandingkan nya dengan aplikasi e-commerce lain
apakah aplikasi yang kita buat kebutuhan nya sudah seperti e-comerce lain atau belum

https://www.techopedia.com/definition/19509/functional-testing.

6. End-to-end testing

End-to-end testing adalah sebuah metode yang digunakan untuk menguji apakah alur
sebuah aplikasi berjalan seperti yang sudah didesain dari start sampai finish. Tujuannya
adalah untuk mengidentifikasi ketergantungan sistem dan memastikan bahwa informasi
yang benar dilewatkan antar bermacam-macam sistem dan komponen-komponennya.

End-to-end testing bertujuan untuk memastikan bahwa komponen-komponen yang


sudah terintegrasi dalam sebuah fungsi aplikasi bekerja sesuai harapan. Seluruh aplikasi
diuji didalam skenario dunia nyata (real-world) seperti berkomunikasi dengan database,
jaringan, hardware dan aplikasi lain.

Contoh, sebuah end-to-end testing sederhana dari aplikasi email bisa melibatkan:

 Login kedalam aplikasi


 Mengakses inbox (kotak masuk)
 Membuka dan menutup mailbox
 Membuat, meneruskan atau membalas email
 Memeriksa item terkirim
 Logout dari aplikasi

7. GUI Testing

GUI testing adalah sebuah proses pengujian GUI (Graphical User Interface) sebuah
software. GUI, singkatnya, adalah apa yang user lihat dari sebuah aplikasi. Jadi, yang
diuji didalam GUI testing yaitu layar dengan panel kendali seperti menu, button, ikon,
toolbar, kotak dialog, jendela, dll.

Contoh : melakukan testing pada software apakah panel kendali sudah sesuai dengan
apa yang diinginkan oleh customer apa belum , dan ada tidaknya kesalahan dalam panel
kendali panel .

Source: https://www.guru99.com/gui-testing.html

8. Security Testing

Security testing adalah sebuah pengujian yang bertujuan untuk menemukan kelemahan
dalam mekanisme keamanan sebuah sistem informasi yang melindungi data dan
mempertahankan fungsionalitas seperti yang diharapkan.

Contoh : Security testing ini dilakukan untuk mengetes ketahanan/kekuatan software


organisasi atau Badan pemerintahan dari celah bahaya yang bisa menyebabkan
hilangnya informasi atau bocor nya suatu informasi ke orang lain yang tidak berhak
mendapatkan informasi tersebut.

Source: https://www.us-cert.gov/security-publications/introduction-information-
security.

Anda mungkin juga menyukai