NPM : 43A87006160048
Testing dilakukan untuk memastikan / menjaga muti suatu produk. Testing juga bias berarti
sebuah proses analisa dan etitas software.
Pada testing ini bertujuan untuk mendeteksi adanya perbedaan antara kondisi software yang ada
dengan kondisi yang diinginkan, untuk melihat kerusakan suatu produk dan melakukan evaluasi
fitur-fitur dari member nama software. Prinsip-prinsip Testing Pelaksanaan suatu testing
tergantung terhadap obyek yang akan dilakukan testing, sehingga pelaksanaan dan model testing
sangat beragam. Meskipun begitu terdapat beberapa hal yang perlu diketahui dalam pelaksanaan
testing adalah sebagai berikut: a. Pelaksanaan testing yang komplit tidak mungkin. Testing
merupakan pekerjaan yang kreatif dan sulit. Alasan yang penting diadakan testing adalah untuk
mencegah terjadinya eror. Testing yang dilakukan biasanya berbasis pada resiko.
Testing harus direncanakan dan terjadwal. Testing membutuhkan independensi (perlu adanya
pihak ketiga yang terlibat).
Pengertian Software adalah Perangkat lunak atau software adalah definisi dan organisasi dari
sekumpulan. Design, coding, testing sampai pemeliharaan sistem. Pengertian dan tanggung
jawab seorang software quality assurance, software testing life cycle.
Integrasi Testing ke Dalam Siklus Hidup Software Secara umum, integrasi testing ke dalam
siklus hidup software, dapat dituliskan ke dalam bentuk tahapan dari siklus hidup software,
sebagai berikut: 1. Inisialisasi Proyek a. Mengembangkan strategi tes secara garis besar.
Menetapkan pendekatan dan usaha tes secara keseluruhan. Menetapkan kebutuhan testing.
Menetapkan penanggung jawab testing. Mendisain prosedur tes dan tes berbasis kebutuhan,
awal.
Melakukan tes dan validasi kebutuhan. Disain antara a. Menyiapkan rencana tes sistem dan
spesifikasi disain, awal. Menyelesaikan rencana acceptance test dan spesifikasi disain.
Pengembangan a. Menyelesaikan rencana tes sistem. Menyelesaikan prosedur tes dan tes
berbasis kode, final.
Menyelesaikan disain modul atau unit tests. Melakukan tes program. Integrasi dan melakukan tes
sub sistem. Melakukan system test. Implementasi a. Melakukan acceptance test. Tes perubahan
dan perbaikan.
Evaluasi efektifitas testing. Faktor penentu kasuksesan dari testing yang lainnya, adalah
penerapan teknik testing secara tepat yang diadopsi dan digunakan pada sepanjang siklus hidup.
Review merupakan alat bantu testing yang sangat bermanfaat untuk digunakan pada sepanjang
siklus hidup. Testing Dengan Review Pada awalnya review adalah alat bantu pengendalian
manajemen. Selama proyek berlangsung, manajemen memerlukan suatu penilaian dan
pengukuran kinerja proses yang telah berlangsung.
Jadi obyektifitas dari review adalah untuk mendapatkan informasi yang konsisten dan dapat
dipercaya, biasanya berupa status dan atau kualitas kerja. Terdapat banyak jenis dari review,
yaitu: kebutuhan, spesifikasi, disain, coding, prosedural, dokumentasi, konversi, instalasi,
implementasi, disain tes, prosedur tes dan rencana tes. Review hadir dalam dua bentuk, yaitu (1)
formal dan (2) tidak formal. Yang dipandang sebagai teknik testing adalah review dalam bentuk
formal, dimana partisipan bertanggung jawab untuk melakukan kalkulasi secara akurat dan
menghasilkan laporan dari apa yang telah mereka temukan bagi manajemen. Rencana review
secara minimum, harus terdiri dari: a. Siapa saja yang diharapkan akan hadir.
Informasi yang dibutuhkan sebelum memulai review. Kondisi awal yang harus dipenuhi sebelum
review dilakukan. Daftar kegiatan atau item atau indikasi lainnya yang bersangkutan dengan apa
yang akan dibahas. Kodisi akhir atau kriteria yang harus dipenuhi agar review dapat dinyatakan
selesai.
1. Testing dimulai pada level modul dan bekerja keluar ke arah integrasi pada sistem berbasiskan
komputer
2. Teknik testing yang berbeda sesuai dengan poin-poin yang berbeda pada waktunya
3. Testing diadakan oleh pembuat/pengembang software dan untuk proyek yang besar oleh group
testing yang independent
4. Testing dan Debugging adalah aktivitas yang berbeda tetapi debugging harus diakomodasikan
pada setiap strategi testing
Pengujian software adalah satu elemen dari sebuah topik yang lebih luas yang sering diartikan
• Verifikasi: menunjuk kepada kumpulan aktifitas yang memastikan bahwa software telah
• Validasi: menunjuk kepada sebuah kumpulan berbeda dari aktivitas yang memastikan
bahwa software yang telah dibangun dapat ditelusuri terhadap kebutuhan customer.
Definisi V&V meliputi banyak aktifitas SQA
(software quality assurance), termasuk review teknis formal, kualitas dan audit konfigurasi,
monitor performance. Terdapat beberapa tipe yang berbeda dalam pengujian software yang
meliputi studi kelayakan dan simulasi
1. Definisi software berkualitas adalah software yang bebas error dan bug secara obyektif,
tepat waktu dan dana, sesuai dengan kebutuhan atau keinginan dan maintainable.
2. Obyektifitas adalah suatu proses pembuktian yang terstruktur, terencana dan tercatat /
terdokumentasi dengan baik.
3. Pendekatan obyektif sangat diperlukan karena kualitas adalah suatu hal yang tidak nyata
dan subyektif (tergantung pada pelanggan dan hal-hal lain yang mempengaruhinya secara
keseluruhan).
4. Testing membuat kualitas dapat dilihat secara obyektif, karena testing merupakan
pengukuran dari kualitas software.
5. Testing = pengendalian kualitas (Quality Control – QC), dan QC mengukur kualitas
produk.
Faktor Kualitas secara Umum materi software testing
1. Testing harus dapat mengukur semua faktor-faktor yang berhubungan, dan tiap faktor
akan mempunyai tingkat kepentingan berbeda-beda antara satu aplikasi dengan aplikasi
yang lain.
2. Contohnya pada sistem bisnis yang umum komponen faktor kegunaan dan
maintainabilitas merupakan faktor-faktor kunci, dimana untuk program yang bersifat
teknik mungkin tidak menjadi faktor kunci.
3. Agar testing dapat sepenuhnya efektif, maka harus dijalankan untuk melakukan
pengukuran tiap faktor yang berhubungan, dan kualitas dapat menjadi nyata dan terlihat.
Kualitas Software Penting bagi Organisasi Software materi software testing
1. Dengan berorientasi pada kualitas, maka organisasi software akan dapat melakukan
proses analisa, evaluasi dan pengembangan yang berkesinambungan untuk mencapai
suatu proses pengembangan software yang semakin lama semakin efektif, efisien,
terukur, terkendali dan dapat diulang secara konsisten dalam menghasilkan suatu produk
(software) yang berkualitas, tepat waktu dan pendanaan.
2. Dimana hal ini akan memberikan suatu jaminan bagi pelanggan / klien untuk
mendapatkan produk seperti yang diharapkan, sehingga akan menambah kepercayaan
mereka akan kemampuan pengembang, hal ini sangat dibutuhkan bagi organisasi
software karena hubungan klien dan pengembangan adalah untuk jangka panjang dan
berkesinambungan (marital status).
Performance test adalah integration dan usability test yang menentukan apakah system or
subsystem dapat memenuhi kriteria kinerja berbasis waktu seperti response time atau throughput.
Response time menentukan batas waktu maksimum yang diijinkan dari respon software untuk
query dan update. Throughput menentukan jumlah minimum query dan transaksi yang harus
diproses per menit atau per jam.
2 System Testing
System test adalah integration test dari behavior seluruh sistem atau independent subsystem.
System testing biasanya dilakukan pertama kali oleh pengembang atau personil pengujian untuk
memastikan bahwa keseluruhan sistem tidak berfungsi dan bahwa sistem telah memenuhi
persyaratan pengguna (user requirement). System testing biasanya dilakukan di akhir setiap
iterasi untuk mengidentifikasi isu -- isu penting, seperti masalah performance yang perlu
ditangani di iterasi berikutnya. Biasanya test ini harus dilakukan sesering mungkin.
3. Unit Testing
Unit testing adalah proses metode pengujian individual, class, atau komponen sebelum mereka
terintegrasi dengan perangkat lunak lainnya. Tujuan dari unit testing adalah untuk
mengidentifikasi dan memperbaiki kesalahan sebanyak mungkin sebelum modul -- modul
digabungkan menjadi unit perangkat lunak yang lebih besar, seperti program, class dan
subsistem. Kesalahan menjadi lebih sulit dan mahal untuk ditemukan dan diperbaiki ketika
banyak unit telah digabungkan.
Unit testing memerlukan implementasi dari driver dan/atau stub. Stub adalah class atau method
dummy yang dapat dipanggil namun biasanya tidak melakukan apapun kecuali mengembalikan
tipe yang diperlukan. Modul driver adalah program yang menjalankan method atau fungsi dari
class yang akan ditest.
4. Integration Testing
Integration test adalah mengevaluasi behavior dari kelompok method atau class. Tujuan dari
integration test adalah untuk mengidentifikasi kesalahan yang tidak dapat dideteksi oleh unit
testing. Kesalahan tersebut mungkin disebabkan oleh beberapa masalah, diantaranya :
5. Usability Testing
Usability test adalah test untuk menentukan apakah method, class, subsistem, atau sistem telah
memenuhi persyaratan pengguna. Oleh karena banyaknya tipe persyaratan sistem baik yang
fungsional maupun non-fungsional, maka banyak tipe dari usability test yang harus dilakukan di
waktu yang berbeda. Umumnya usability test mengevaluasi persyaratan fungsional dan kualitas
dari user interface.
User berinteraksi dengan sistem untuk menentukan apakah fungsi telah seperti yang diharapkan
dan apakah user interface membuat sistem dapat mudah digunakan. Pengujian ini sering
dilakukan untuk mendapatkan feedback yang cepat dalam meningkatkan interface dan
mengkoreksi kesalahan dalam komponen perangkat lunak.
6. Smoke Testing
Smoke testing adalah system test yang biasanya dilakukan setiap hari atau beberapa kali per
minggu. Build and smoke test sangat penting karena menyediakan feedback yang cepat dalam
masalah yang signifikan.
7. Stress Testing
Stress Testing adalah pengujian yang biasanya dilakukan dalam membuat sebuah website,
dimana stress testing dilakukan untuk mengetahui sekuat apa server website kita menampung
visitor dalam website tersebut, dengan cara melakukan hit dummy ke website menggunakan
tools.
User acceptance test digunakan untuk menentukan apakah sistem yang dikembangkan telah
memenuhi kebutuhan pengguna. Dalam beberapa proyek, acceptance testing dilakukan pada
putaran terakhir proses pengujian yaitu sebelum sistem diserahkan kepada user.
Acceptance Testing biasanya dilakukan setelah rangkaian testing seperti Unit Testing,
Integration Testing, dan System Testing selesai dan menggunakan metode Black Box Testing,
dengan mengunakan dokumen test case untuk di presentasikan di akhir ke user / client.
1. Beye
BEYE (Binary Eye) adalah sebuah testing tools yang bekerja untuk melihat file binary
dilengkapi dengan editor yang berfungsi dalam binary, hexadecimal, dan mode diassembler.
pertama dibuat pada tahun 1994 oleh Nickols Kurshev. Alasan BEYE dibuat adalah karena pada
saat itu kinerja CPU belum secanggih zaman sekarang. Karenanya programmer yang pada saat
itu mayoritas menggunakan bahasa assembly menemukan banyak kesulitan seperti kinerja CPU
yang lambat, program error dan sulit ditemukan masalah yang sebenarnya. Semua masalah di
atas diperparah karena pada saat itu internet belum berkembang pesat sehingga sumber referensi
sangat terbatas. Ditambah lagi keterbatasan kompailer yang banyak kekurangannya.
DUMA adalah sebuah testing tools yang berfungsi sebagai memory debugger yang dapat
mendeteksi kesalahan pada kode program melalui memory error. Maksudnya ketika memory
error ini muncul, otomatis trigger DUMA akan memeriksa kesalahan yang terjadi sehingga
nantinya error dapat dideteksi.
• Program yang memberatkan memori buffer (DUMA menyediakan paling besar 2 page
pada setiap buffer)
• Mendeteksi kekurangan memori
• Memeriksa ketidak cocokan penggunaan fungsi pada program
HTTP Test Tools adalah sebuah testing tools yang digunakan untuk protocol HTTP yang
berbasiskan web server, web browsers, dan aplikasi web, atau ICAP. Testing tools ini dapat
mendeteksi eror pada software yang berbasiskan protokol HTTP. HTTP Test Tools mampu
untuk melakukan testing seperti:
JPF adalah sebuah testing tools yang dikembangkan oleh NASA (). JPF dibuat untuk melakukan
verifikasi terhadap eksekusi java bytecode programs. JPF menggunakan dasar dari Java Virtual
Machine yang digunakan sebagai pengecek software Negara oleh NASA. Secara sistematis JPF
dapat mendeteksi permasalahan seperti deadlock atau unhandled exceptions. Dibandingkan
dengan debugger JPF lebih dapat menunjukan kepada user kesalahan yang ada pada program
secara lebih mendetail.