0% menganggap dokumen ini bermanfaat (0 suara)
10 tayangan22 halaman

Panduan Lengkap Software Testing

Dokumen ini membahas pentingnya pengujian perangkat lunak sebagai langkah kritis dalam pengembangan, dengan tujuan untuk mencegah kesalahan, meningkatkan kualitas, dan memenuhi kebutuhan pengguna. Berbagai jenis pengujian seperti fungsional, non-fungsional, unit, integrasi, dan penerimaan dijelaskan, bersama dengan tahapan dalam proses testing. Selain itu, pendekatan black box dan white box dalam pengujian juga diuraikan, menekankan perbedaan fokus antara pengujian internal dan eksternal.

Diunggah oleh

ffdemonz155
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
10 tayangan22 halaman

Panduan Lengkap Software Testing

Dokumen ini membahas pentingnya pengujian perangkat lunak sebagai langkah kritis dalam pengembangan, dengan tujuan untuk mencegah kesalahan, meningkatkan kualitas, dan memenuhi kebutuhan pengguna. Berbagai jenis pengujian seperti fungsional, non-fungsional, unit, integrasi, dan penerimaan dijelaskan, bersama dengan tahapan dalam proses testing. Selain itu, pendekatan black box dan white box dalam pengujian juga diuraikan, menekankan perbedaan fokus antara pengujian internal dan eksternal.

Diunggah oleh

ffdemonz155
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

Software Testing

APSI pertemuan 13
Tujuan Pertemuan
Mahasiswa mampu merancang desain uji coba untuk sistem
yang akan dibuat

Object-Oriented Analysis and Design for Information Systems.


DOI: [Link]
© 2014 Elsevier Inc. All rights reserved.
Rancang Bangun Aplikasi Simpan Pinjam Terintegrasi Pada
Koperasi Pegawai PT. Angkutan Sungai Danau dan
Penyeberangan (Persero) Cabang Surabaya; Fazril Rizki Tanto
Adji; 18.41010.0116
[Link]
7xNxC/view?usp=sharing
Software Testing
No matter how sophisticated the modeling and specification
techniques used to develop software are, no matter how disciplined
and competent the team is, there is a factor that makes software
testing always necessary: human error. It is a myth to think that
good developers working with state of-the-art tools are capable of
developing error-free software (Beizer, 1990).
Software Testing
• Pengujian perangkat lumak dianggap sebagai tugas tambahan
yang tidak penting. Sekarang, pengujian diakui sebagai langkah
kritis dalam pengembangan perangkat lunak.
• Pengujian menjadi bagian integral dari proses pengembangan,
bahkan menjadi disiplin tersendiri dalam metodologi seperti
Unified Process.
• Trend outsourcing pengujian muncul, di mana perusahaan
khusus (pabrik pengujian) dibentuk untuk menangani kegiatan
pengujian.
Layanan Pengujian Software
Perusahaan Besar dengan Layanan Pengujian Software:
Perusahaan Startup Lokal
Selain perusahaan-perusahaan besar, terdapat juga banyak
startup lokal yang fokus pada pengujian perangkat lunak,
terutama untuk startup lain.
• [Link]
• [Link]
element-for-start-up/
• [Link]

[Link]
Introduction to testing
• Testing Software adalah proses sistematis untuk mengevaluasi
suatu perangkat lunak untuk memastikan bahwa perangkat
lunak tersebut berfungsi sesuai dengan yang diharapkan,
memenuhi kebutuhan pengguna, dan bebas dari kesalahan
(bug).
• Tujuan utama dari testing adalah untuk memastikan kualitas
perangkat lunak sebelum dirilis.
Tujuan Software Testing
• Mencegah kesalahan: kesalahan atau bug dapat ditemukan dan
diperbaiki sebelum perangkat lunak digunakan oleh pengguna
akhir, sehingga menghindari masalah yang lebih besar di
kemudian hari.
• Meningkatkan kualitas: memastikan bahwa perangkat lunak
memenuhi standar kualitas yang telah ditetapkan, baik dari segi
fungsionalitas, kinerja, maupun usability.
• Memenuhi kebutuhan pengguna: memastikan bahwa
perangkat lunak memenuhi kebutuhan dan harapan pengguna.
• Mencegah kerugian: menemukan dan memperbaiki kesalahan
sejak dini, testing dapat mencegah kerugian finansial yang
mungkin terjadi akibat kegagalan perangkat lunak.
Jenis-jenis Testing Software
• Testing Fungsional: Memastikan bahwa setiap fitur dalam perangkat
lunak berfungsi sesuai dengan spesifikasi yang telah ditentukan.
• Testing Non-Fungsional: Menguji aspek perangkat lunak selain
fungsionalitas, seperti kinerja, usability, keamanan, dan reliabilitas.
• Testing Unit: Menguji unit terkecil dari perangkat lunak (misalnya,
sebuah fungsi atau modul).
• Testing Integrasi: Menguji bagaimana modul-modul yang berbeda
dalam perangkat lunak berinteraksi satu sama lain.
• Testing Sistem: Menguji perangkat lunak secara keseluruhan untuk
memastikan bahwa semua komponen bekerja dengan baik.
• Testing Penerimaan: Menguji perangkat lunak dari sudut pandang
pengguna akhir untuk memastikan bahwa perangkat lunak memenuhi
kebutuhan mereka.
Tahapan dalam Proses Testing
• Perencanaan: Menentukan tujuan testing, jenis testing yang akan
dilakukan, dan sumber daya yang dibutuhkan.
• Perancangan Kasus Uji: Membuat kasus uji yang akan digunakan
untuk menguji perangkat lunak.
• Pelaksanaan: Menjalankan kasus uji dan merekam hasil.
• Evaluasi: Membandingkan hasil testing dengan hasil yang diharapkan
dan mengidentifikasi kesalahan.
• Pelaporan: Membuat laporan hasil testing untuk mendokumentasikan
proses dan hasil testing.
Testing Fungsional
• Uji fungsional, yang mengevaluasi operasi hanya berdasarkan masukan dan
keluarannya.
• Berfokus pada verifikasi apakah setiap fitur atau fungsi dalam sebuah aplikasi
bekerja sesuai dengan spesifikasi yang telah ditentukan. Sederhananya,
memeriksa apakah setiap tombol, menu, form, dan fitur lainnya berfungsi
sebagaimana mestinya.
• Contoh:
 Memastikan tombol "Simpan" menyimpan data dengan benar ke
database.
 Memeriksa apakah fitur pencarian menampilkan hasil yang relevan.
 Menguji apakah formulir validasi data dengan benar.

[Link]
Testing Non-Fungsional
• Serangkaian pengujian
nonfungsional mungkin diperlukan
tergantung pada spesifikasi
tambahan dan persyaratan
nonfungsional sistem.
• Contoh pengujian nonfungsional
adalah kompatibilitas, kepatuhan,
ketahanan, beban, lokalisasi,
kinerja, pemulihan, ketahanan,
keamanan, skalabilitas, tekanan,
dan kegunaan.
[Link]
Testing Unit
• Pengujian unit pada dasarnya digunakan untuk memeriksa
perilaku kelas, termasuk metode dasar dan metode delegasi.
• Jika pembuatan kode otomatis digunakan, pengujian semacam
itu dapat ditekan, karena diasumsikan bahwa pembuat kode
otomatis tidak membuat kesalahan manusia.
• Pengujian unit merupakan pengujian yang paling mendasar dan
terdiri dari verifikasi apakah suatu komponen (unit) perangkat
lunak telah diimplementasikan dengan benar.
• Pengujian unit biasanya dilakukan oleh programmer dan bukan
oleh tim pengujian.
Testing Penerimaan
• Pengujian yang dijalankan oleh klien atau
di bawah pengawasan.
• Contoh:
 User acceptance testing (UAT):
Pengguna akhir menguji aplikasi
untuk memastikan bahwa aplikasi
memenuhi kebutuhan bisnis.
 Alpha testing: Pengujian internal oleh
tim pengembangan.
 Beta testing: Pengujian oleh
pengguna eksternal sebelum
peluncuran resmi.

[Link]
Black Box dan White Box Testing

• Black Box dan White Box testing


merupakan dua pendekatan dasar dalam
pengujian perangkat lunak yang memiliki
fokus yang berbeda.

[Link]
Black Box dan White Box Testing
Pengujian biasanya dilakukan pada beberapa tahap dalam siklus ini:
• Pengembangan:
 White Box Testing: Biasanya dilakukan oleh developer selama fase
coding. Pengujian ini dilakukan untuk memastikan logika internal kode
berfungsi dengan benar.
• Pengujian:
 Black Box Testing: Dilakukan setelah pengembangan selesai atau saat
fitur baru ditambahkan. Tes ini berfokus pada fungsionalitas eksternal
aplikasi dari perspektif pengguna.
 Jenis pengujian lainnya: Integrasi, sistem, penerimaan, dll., yang bisa
menggabungkan elemen black box dan white box.
• Implementasi: Setelah semua pengujian dianggap berhasil, perangkat
lunak siap untuk diimplementasikan.
Black Box dan White Box Testing
• White Box Testing: Lebih fokus pada internal sistem, dilakukan oleh developer
selama pengembangan, dan seringkali menggunakan teknik seperti code coverage.
• White Box Testing:
 Saat ingin memastikan logika internal kode benar.
 Untuk menguji kondisi percabangan, loop, dan struktur data.
 Untuk mengoptimalkan kode.

• Black Box Testing: Lebih fokus pada eksternal sistem, dilakukan oleh penguji atau
pengguna, dan seringkali menggunakan teknik seperti equivalence partitioning
dan boundary value analysis.
• Black Box Testing:
 Saat ingin memastikan aplikasi memenuhi persyaratan fungsional.
 Untuk menemukan bug yang tidak terdeteksi oleh white box testing.
 Untuk menguji usability dari perspektif pengguna
Black Box dan White Box Testing
• Black Box Testing seringkali dikaitkan dengan pengujian
fungsional.
• Keduanya fokus pada perilaku eksternal sistem dan tidak peduli
dengan implementasi internal.
• White Box Testing seringkali dikaitkan dengan pengujian unit.
• Keduanya melibatkan pemeriksaan detail kode dan logika
internal.
• Black Box Testing tidak selalu terbatas pada pengujian
fungsional. Bisa juga digunakan untuk menguji kinerja, usability,
dan aspek lainnya.
• White Box Testing tidak selalu terbatas pada pengujian unit. Bisa
juga digunakan untuk menguji integrasi antara modul-modul.
[Link]
Dokumen Skenario Pengujian
• Dokumen ini biasanya berisi detail tentang tujuan pengujian, fitur yang akan
diuji, kasus uji yang akan dilakukan, dan hasil yang diharapkan.
• Elemen Penting dalam Dokumen Skenario Pengujian:
 Identifikasi yang jelas: Setiap kasus uji harus memiliki identifikasi unik.
 Deskripsi kasus uji: Jelaskan dengan jelas tindakan yang akan dilakukan
dan data yang akan digunakan.
 Hasil yang diharapkan: Tentukan hasil yang benar untuk setiap kasus
uji.
 Kondisi pra-syarat: Jika ada kondisi khusus yang harus dipenuhi
sebelum menjalankan kasus uji, sebutkan di sini.
 Prioritas: Tentukan prioritas setiap kasus uji (tinggi, sedang, rendah).

Anda mungkin juga menyukai