Anda di halaman 1dari 10

TUGAS MAKALAH

SOFTWARE TESTING TOOLS

Nama: Windy Triana Sari

NPM : 43A87006160048

Kelas : S1/TI/6A Pagi

Sekolah Tinggi Manajemen Informatika Dan Komputer


Bani Saleh
Jl. Mayor M. Hasibuan No 68, margahayu , Bekasi Timur Telp. (021) 8800992
Pengertian Testing Testing adalah proses yang dibuat sedemikian rupauntuk
mengidentifikasikan adanya ketidak sesuaian suatu hasil sebuah system informasi dengan apa
yang diharapkan. Berdasarkan pengertian diatas maka testing mempunyai beberapa tujuan antara
lain: a. Testing dilakukan untuk memastikan mutu dari suatu produk yaitu menguji apakah
produk ( dalam hal ini system informasi) yang dihasilkan telah sesuai dengan mutu yang
dipersyaratkan.

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.

Menyelesaikan tes berdasarkan disain. Melakukan tes dan validasi 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

sebagai Verifikasi dan Validasi (V&V)

• Verifikasi: menunjuk kepada kumpulan aktifitas yang memastikan bahwa software telah

mengimplementasi sebuah fungsi spesifik.

• 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

Hubungan Testing dan Kualitas materi software testing

1. QA dan pengembangan produk adalah aktifitas yang berjalan secara paralel.


2. QA meliputi review dari metode pengembangan dan standar, review dari semua
dokumentasi (tidak hanya untuk standarisasi tapi juga verifikasi dan kejelasan isi). Secara
keseluruhan QA juga meliputi validasi kode.
3. Tugas dari QA adalah superset dari testing. Misinya adalah untuk membantu dalam
minimalisasi resiko kegagalan proyek.
4. Tiap individu QA harus memahami penyebab kegagalan proyek dan membantu tim untuk
mencegah, mendeteksi dan membenahi masalah.
5. Kadang tim testing direferensikan sebagai tim QA.

Hubungan Testing dan Kualitas (cont.) materi software testing

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).

Jenis Testing Software Tester / Software


1. Performance Testing

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.

Berikut adalah langkah yang harus dilakukan :

• Menentukan nilai dari parameter input


• Memanggil unit yang dites, melewatkannya dengan parameter input
• Menerima parameter kembalian dari unit yang dites dan mencetaknya, menampilkannya,
atau mengetes hasilnya terhadap hasil yang diharapkan.

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 :

• Interface incompatibility, misalnya sebuah method melewatkan parameter dengan tipe


data yang salah ke method lainnya
• Parameter values, misalnya sebuah method mengembalikan nilai yang tidak terduga
seperti nomor negatif untuk harga
• Run-time exceptions, misalnya method menyebabkan kesalahan seperti out of memory
atau file already in use karena ada konflik kebutuhan sumber daya
• Unexpected state interactions, misalnya state dari dua atau lebih objek yang berinteraksi
menyebabkan kesalahan yang kompleks seperti ketika method class Order menjalankan
satu kesalahan dari semua kemungkinan state objek Customer.
• Beberapa masalah di atas merupakan kesalahan paling umum yang sering ditemui dalam
integration testing, tetapi sebenarnya masih banyak masalah lainnya yang dapat menjadi
penyebab kesalahan (error).

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.

8. User Acceptence Test (UAT)

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.

Tools yang dapat di pakai untuk melakukan software testing

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.

Fitur-fitur yang dimiliki oleh BEYE adalah :


• Built-in AVR/Java/x86-i386-AMD64/ARM-XScale/PPC64 disassemblers.
• Saving and restoring parts of files.
• Support for a-out, arch, coff-386, ELF, MZ, jvmclass, LMF, LE and LX, NE, NLM-386,
PharLap, PE, RDOFF, SIS and SISX executable formats.
• Instruction high-lighting.
• A code navigator.
• A CPU performance utility
• A built-in 64-bit calculator
• Support for the formats: asf, avi, bmp, jpeg, mov, mp3, mpeg, realmedia, wav
multimedia.
• Console-Input viewer
• Pattern searching in different modes: disassembler, hexadecimal and binary.
• Russian code-page converter

2. DUMA ( Detect Unintended Memory Access)

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.

DUMA dibuat untuk memeriksa beberapa jenis kesalahan seperti :

• Program yang memberatkan memori buffer (DUMA menyediakan paling besar 2 page
pada setiap buffer)
• Mendeteksi kekurangan memori
• Memeriksa ketidak cocokan penggunaan fungsi pada program

3. HTTP Test Tools

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:

• Berperan sebagai client seperti web browser


• Berperan sebagai server
• Mengirim dan menerima data
• Data yang gagal dikirim atau menolak data yang tidak diinginkan
• Mengeksekusi skrip-skrip program dan membuat outputnya kedalam data stream
• Menyalurkan sebuah script kedalam sebuah data stream

4. Java Path Finders (JPF)

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.

Anda mungkin juga menyukai