Anda di halaman 1dari 7

Pertemuan 2

Dasar-Dasar Pengujian Perangkat Lunak


2.1 Prinsip Pengujian Perangkat Lunak (Nico Setiawan)
Pengujian adalah elemen yang paling penting dalam pengembangan perangkat lunak, bisa
menjadi aktivitas kompleks untuk menyusun dengan benar. Dengan cara yang mendukung
efisiensi maksismu yaitu seven principal of software tester atau biasa disebut dengan 7 prinsip
pengujian perangkat lunak,. Berikut penjelasan mengenai 7 prinsip pengujian perangkat
lunak :
a. Testing Shows Presence Of Defects atau Pengujian Menunjukkan Adanya Cacat
Dalam melakukan pengujian perangkat lunak proses yang dilakukan adalah mencari
cacat atau kesalahan pada perangkat lunak yang dikembangkan. Seorang tester harus
membuat perangkat lunak menjadi gagal, karena itu diperlukan supaya proses
pengujian perangkat lunak bisa menemukan kegagalan pada perangkat lunak tersebut
sebanyak-banyaknya.
b. Early Testing atau Pengujian Dilakukan Lebih Awal
Pengujian ini dimulai sedini mungkin dalam pengembangan perangkat lunak, sehingga
cacat bisa ditemukan pada tester diawal testing. Proses pengembangan perangkat lunak
sangat disarankan, karena menekankan biaya perbaikan. Selain itu juga akan
meningkatkan kinerja perangkat lunak itu sendiri. Sehingga proses pengujian
perangkat lunak dari awal sejak tahapan analisis akan membuat pengembangan dan
pengujian perangkat lunak akan semakin efektif dan efisien.
c. Exhaustive Testing Is Not Possible atau Mustahil Melakukan Pengujian Secara
Manyeluruh
Melakukan pengujian secara menyeluruh itu sangat tidak memeungkinkan, karena
membutuhkan waktu yang panjang sehingga akan berdampak pada waktu rilis program
dan biaya serta tenaga yang diperlukan dalam proses pengembangan perangkat lunak
tersebut. Oleh karena itu, pengujian perangkat lunak yang harus diutamakan adalah
mempertimbangkan resiko dan prioritas perangkat lunak yang dikembangkan.
d. Testing Is Context Dependent atau Pengujian Bergantung Pada Konteks
Proses pengujian perangkat lunak harus sesuai dengan konteks perangkat lunak. Dalam
melakukan pengujian terhadap perangkat lunak perbankan tentu tidak bisa
menggunakan cara pengujian untuk perangkat lunak penjualan. Sehingga proses
pengujian perangkat lunak harus benar-benar sesuai dengan konteks dari perangkat
lunak itu sendiri. Setiap perangkat lunak memiliki cara pengujian masing-masing tidak
bisa dipukul rata.
e. Defect Clustering atau Pengelompokan Cacat
Pengelompokan cacat sebuah perangkat lunak pada proses pengujian lebih diutamakan
melakukan pengujian pada modul atau fungsional program kecil, biasanya semikin
kecil modulnya maka cacat yang akan ditemukan akan semakin banyak.
f. Pesticide Paradox atau Paradoks Pestisida
Analogi yang tepat untuk menjelaskan tentang paradoks pestisida adalah sebagaimana
penamaannya. Jika selalu menggunakan pestisida yang sama dalam pengusiran hama
di kebun atau sawah, maka hama tersebut lama kelamaan akan menjadi kebal karena
sudah bisa menyesuaikan. Istilah pesticide Paradox dimana proses pengujian yang
dilakukan secara berulang pada akhirnya tidak akan menemukan cacat dari program,
karena mungkin pengembang perangkat lunak sudah mengetahui dari proses kesalahan
sebelumnya.
g. Absence Of Error Fallacy atau Tidak Adanya Bug
Pengujian perangkat lunak diperlukan untuk menghasilkan perangkat lunak yang
berkualitas. Salah satu indikator perangkat lunak berkualitas adalah dibuat sesuai
dengan kebutuhan penggunannya. Oleh karena itu, jika dalam pengujian tidak
ditemukan adalanya kecacatan makan itu perlu dicurigai apakah perngkat lunak
tersebut sudah sesuai dengan kebutuhan bisnis pengguna.

2.2 Testabilitas Perangkat Lunak (Amin Tohari)


Testabilitas perangkat lunak adalah kemampuan untuk menguji, mengevaluasi, dan memvalidasi
perangkat lunak dengan cara yang efektif dan efisien. Testabilitas mengacu pada seberapa mudah
atau sulitnya untuk menguji perangkat lunak, termasuk seberapa mudah untuk menemukan
kesalahan atau bug dalam kode.
Untuk meningkatkan testabilitas perangkat lunak, penting untuk mempertimbangkan beberapa
faktor, antara lain:
 Desain perangkat lunak yang jelas dan terstruktur dengan baik
 Menggunakan metode pengujian yang tepat dan terstruktur
 Menggunakan alat pengujian dan analisis yang memadai
 Menyediakan lingkungan pengujian yang sesuai dan terisolasi
Dengan meningkatkan testabilitas perangkat lunak, akan memudahkan dalam menemukan
kesalahan atau bug yang terdapat pada perangkat lunak tersebut dan memperbaikinya sebelum
dirilis ke pengguna. Hal ini dapat meningkatkan kualitas perangkat lunak dan mengurangi biaya
pengembangan dan perbaikan perangkat lunak di masa depan.
Berikut adalah beberapa contoh dari testabilitas perangkat lunak:
1. Kode yang mudah dipahami dan diuji: Perangkat lunak yang memiliki kode yang jelas
dan mudah dipahami akan lebih mudah diuji. Penggunaan standar kode dan dokumentasi
yang baik juga dapat membantu meningkatkan testabilitas.
2. Modularitas: Perangkat lunak yang dibangun dengan modularitas yang baik akan
memungkinkan pengujian yang lebih terfokus pada setiap bagian modul. Hal ini akan
mempermudah pengujian dan identifikasi bug yang terkait dengan modul tertentu.
3. Desain yang terstruktur: Desain perangkat lunak yang baik akan meningkatkan
testabilitas. Hal ini termasuk dalam hal desain yang terstruktur, membatasi kompleksitas
dan penggunaan paradigma desain yang tepat.
4. Lingkungan pengujian yang tepat: Lingkungan pengujian yang baik harus menyediakan
lingkungan yang terisolasi, bebas dari pengaruh faktor luar yang tidak terkontrol. Selain
itu, penggunaan alat pengujian yang tepat juga dapat membantu meningkatkan
testabilitas.
5. Penggunaan teknik pengujian yang tepat: Terdapat banyak teknik pengujian yang dapat
digunakan, seperti pengujian fungsional, pengujian regresi, pengujian integrasi, dan lain-
lain. Memilih teknik pengujian yang tepat dapat membantu meningkatkan efektivitas
pengujian dan identifikasi bug yang lebih efisien.
Dalam pengembangan perangkat lunak, testabilitas harus dipertimbangkan dengan serius agar
memungkinkan pengujian yang efektif dan efisien. Hal ini akan membantu memastikan bahwa
perangkat lunak memiliki kualitas yang baik sebelum dirilis ke pengguna.
2.3 Siklus Hidup Pengujian Perangkat Lunak (Aldo Fernando)
Siklus hidup pengujian perangkat lunak adalah proses berulang yang dilakukan untuk
memastikan bahwa perangkat lunak yang dikembangkan dapat berfungsi dengan baik dan
memenuhi persyaratan yang ditentukan. Siklus hidup pengujian perangkat lunak biasanya terdiri
dari beberapa tahapan atau fase yang saling terkait. Berikut ini adalah penjelasan lengkap dan
contoh dari setiap tahapan dalam siklus hidup pengujian perangkat lunak.
1. Perencanaan pengujian
Tahapan perencanaan pengujian bertujuan untuk menentukan rencana pengujian yang tepat untuk
memastikan bahwa pengujian dilakukan secara efektif dan efisien. Pada tahap ini, tim
pengembang perangkat lunak akan membuat rencana pengujian, yang mencakup ruang lingkup
pengujian, sumber daya yang dibutuhkan, jadwal pengujian, serta teknik pengujian yang akan
digunakan. Rencana pengujian yang baik harus mencakup semua aspek dari perangkat lunak
yang akan diuji.
Contoh: Seorang pengembang perangkat lunak membuat rencana pengujian untuk aplikasi web
baru. Rencana pengujian tersebut mencakup teknik pengujian seperti pengujian fungsional dan
pengujian regresi, serta jadwal pengujian yang akan dilakukan pada setiap modul aplikasi.
2. Analisis kebutuhan pengujian
Tahapan analisis kebutuhan pengujian bertujuan untuk mengevaluasi persyaratan pengujian yang
diperlukan untuk memastikan bahwa perangkat lunak sesuai dengan kebutuhan pengguna. Pada
tahap ini, tim pengembang akan meninjau persyaratan fungsional dan non-fungsional yang terkait
dengan perangkat lunak.
Contoh: Seorang pengembang perangkat lunak melakukan analisis kebutuhan pengujian untuk
aplikasi mobile baru. Dia mengevaluasi persyaratan pengujian, seperti responsivitas aplikasi pada
perangkat mobile yang berbeda dan kecepatan koneksi internet yang berbeda.
3. Desain pengujian
Tahapan desain pengujian bertujuan untuk merancang skenario pengujian yang spesifik dan detail
yang akan dijalankan pada perangkat lunak. Pada tahap ini, tim pengembang akan merancang
kasus pengujian yang meliputi input dan output yang diharapkan, kondisi pengujian, dan
prosedur pengujian.
Contoh: Seorang pengembang perangkat lunak merancang skenario pengujian untuk memeriksa
fungsi login pada aplikasi web baru. Skenario pengujian tersebut mencakup input yang digunakan
untuk login, kondisi pengujian yang mencakup username dan password yang salah, serta
prosedur pengujian untuk mengidentifikasi bug atau kesalahan.
4. Pelaksanaan pengujian
Tahapan pelaksanaan pengujian adalah tahap di mana skenario pengujian dijalankan pada
perangkat lunak. Pada tahap ini, tim pengembang akan menjalankan skenario pengujian yang
dirancang pada tahap sebelumnya, dan mencatat hasil pengujian.
Contoh: Seorang pengembang perangkat
beberapa saran dalam pengerjaan siklus hidup pengujian perangkat lunak:
1. Perencanaan yang Matang Perencanaan yang matang sangat penting untuk memastikan
kesuksesan dalam melaksanakan siklus hidup pengujian perangkat lunak. Pastikan Anda
telah melakukan perencanaan yang matang dan mempersiapkan segala sesuatunya
sebelum memulai tahap pengujian.
2. Keterlibatan Tim yang Baik Siklus hidup pengujian perangkat lunak melibatkan banyak
orang dan tim. Pastikan setiap anggota tim terlibat dengan baik dan memiliki pemahaman
yang jelas tentang tujuan dan alur kerja pengujian.
3. Penggunaan Alat Pengujian yang Tepat Pilih alat pengujian perangkat lunak yang tepat
dan sesuai dengan kebutuhan Anda. Pastikan Anda telah mempelajari dan memahami cara
menggunakan alat tersebut dengan baik.
4. Pelaporan Hasil yang Akurat Pelaporan hasil pengujian perangkat lunak yang akurat dan
lengkap sangat penting untuk memberikan masukan yang baik untuk pengembangan
perangkat lunak selanjutnya. Pastikan laporan hasil pengujian yang dibuat akurat dan
terperinci.
5. Evaluasi dan Pembaruan Evaluasi dan pembaruan siklus hidup pengujian perangkat lunak
sangat penting untuk memastikan kesuksesan dalam pengujian perangkat lunak. Pastikan
evaluasi dilakukan secara berkala dan melakukan pembaruan pada siklus hidup pengujian
jika diperlukan.
Dengan mengikuti saran-saran tersebut, diharapkan dapat membantu Anda dalam melaksanakan
siklus hidup pengujian perangkat lunak secara efektif dan efisien.
2.4 Tingkatan Pengujian (Muhamad Faturahman)
Tingkatan pengujian (testing levels) adalah tingkatan atau level pengujian pada perangkat lunak
yang dilakukan untuk memastikan kualitas perangkat lunak. Pada umumnya, terdapat tiga
tingkatan pengujian yang dilakukan pada perangkat lunak, yaitu unit testing, integration testing,
dan system testing. Berikut adalah penjelasan lengkap dan contoh dari setiap tingkatan pengujian.
1. Unit Testing
Unit testing merupakan pengujian pada setiap bagian kecil (unit) perangkat lunak secara terpisah.
Tujuan dari unit testing adalah untuk memastikan bahwa setiap unit perangkat lunak berfungsi
dengan benar dan sesuai dengan spesifikasi. Unit testing biasanya dilakukan oleh pengembang
perangkat lunak yang bertanggung jawab atas unit tersebut.
Contoh: Seorang pengembang perangkat lunak melakukan unit testing pada fungsi kalkulator.
Dia akan menguji setiap fungsi seperti penambahan, pengurangan, perkalian, dan pembagian
untuk memastikan setiap fungsi berfungsi dengan benar.
2. Integration Testing
Integration testing merupakan pengujian untuk menguji interaksi antarunit pada perangkat lunak.
Tujuan dari integration testing adalah untuk memastikan bahwa setiap unit perangkat lunak
berfungsi dengan baik saat diintegrasikan dengan unit lainnya. Integration testing biasanya
dilakukan oleh sekelompok pengembang yang bertanggung jawab atas integrasi unit.
Contoh: Setelah melakukan unit testing pada fungsi kalkulator, pengembang perangkat lunak
akan melakukan integration testing untuk memastikan setiap fungsi kalkulator berfungsi dengan
baik saat diintegrasikan. Sebagai contoh, pengembang akan menguji apakah fungsi penambahan
berfungsi dengan baik saat diintegrasikan dengan fungsi perkalian.
3. System Testing
System testing merupakan pengujian pada seluruh perangkat lunak secara keseluruhan. Tujuan
dari system testing adalah untuk memastikan bahwa perangkat lunak berfungsi dengan baik dan
sesuai dengan spesifikasi. System testing biasanya dilakukan oleh tim pengujian yang terpisah
dari pengembang perangkat lunak.
Contoh: Setelah melakukan integration testing pada fungsi kalkulator, tim pengujian akan
melakukan system testing untuk memastikan bahwa kalkulator berfungsi dengan baik dan sesuai
dengan spesifikasi. Mereka akan menguji setiap fungsi kalkulator dan memeriksa apakah
kalkulator dapat menghasilkan output yang benar.
Selain ketiga tingkatan pengujian di atas, terdapat juga tingkatan pengujian lainnya seperti
acceptance testing dan regression testing. Acceptance testing dilakukan untuk memastikan bahwa
perangkat lunak sesuai dengan kebutuhan dan persyaratan pengguna, sementara regression testing
dilakukan untuk memastikan bahwa perangkat lunak tidak mengalami kerusakan atau bug setelah
dilakukan perubahan atau penambahan fitur.
2.5 Sofware Tester (Bersama)
Software tester adalah seorang profesional yang bertanggung jawab untuk melakukan pengujian
perangkat lunak untuk memastikan kualitas perangkat lunak tersebut. Tugas utama software
tester adalah untuk mengidentifikasi bug, kerusakan, atau masalah lainnya pada perangkat lunak
dan memberikan laporan kepada pengembang perangkat lunak untuk diperbaiki.
Seorang software tester harus memahami konsep dasar pengujian perangkat lunak, proses
pengujian, dan metodologi pengujian perangkat lunak. Selain itu, ia juga harus menguasai
berbagai alat dan teknologi yang digunakan dalam pengujian perangkat lunak.
Contoh tugas seorang software tester meliputi:
 Membuat rencana pengujian perangkat lunak
 Membuat dan mengeksekusi skrip pengujian
 Melakukan pengujian fungsional, pengujian integrasi, pengujian sistem, dan pengujian
penerimaan
 Menulis laporan hasil pengujian dan memberikan masukan untuk pengembang perangkat
lunak
 Mengelola proses pengujian dan mengidentifikasi risiko pengujian
Sumber informasi untuk belajar menjadi software tester antara lain:
 Buku: Beberapa buku yang dapat membantu belajar tentang pengujian perangkat lunak
adalah "Software Testing" oleh Ron Patton, "Effective Software Testing" oleh Elfriede
Dustin, "Software Testing Techniques" oleh Boris Beizer, dan "Testing Computer
Software" oleh Cem Kaner, Jack Falk, dan Hung Q. Nguyen.
 Online Course: Terdapat banyak kursus online yang tersedia untuk mempelajari pengujian
perangkat lunak seperti Coursera, Udemy, dan LinkedIn Learning.
 Forum online: Ada beberapa forum online seperti Stack Overflow dan Software Testing
Club yang dapat membantu dalam mempelajari dan memahami konsep pengujian
perangkat lunak.
 Sumber daya online: Ada beberapa sumber daya online seperti Software Testing Help,
Ministry of Testing, dan Testing Excellence yang menyediakan artikel, tutorial, dan
informasi terbaru tentang pengujian perangkat lunak.
beberapa langkah yang harus diperhatikan dalam software tester:

 Pahami Spesifikasi Perangkat Lunak


Sebagai software tester, pastikan Anda memahami spesifikasi perangkat lunak yang akan
diuji. Hal ini akan membantu Anda untuk mempersiapkan skenario pengujian yang tepat
dan efektif.
 Buat Rencana Pengujian yang Tepat
Buatlah rencana pengujian yang tepat dan terperinci, yang mencakup langkah-langkah
dan skenario pengujian yang spesifik. Pastikan rencana tersebut sudah disetujui oleh tim
pengembang sebelum memulai tahap pengujian
 Gunakan Metode dan Teknik Pengujian yang Tepat
Pilihlah metode dan teknik pengujian yang tepat sesuai dengan kebutuhan pengujian.
Contohnya, pengujian fungsional, pengujian performa, dan pengujian keamanan.
 Gunakan Alat Pengujian yang Tepat
Gunakan alat pengujian yang tepat dan sesuai dengan kebutuhan pengujian. Pastikan
Anda telah mempelajari cara menggunakan alat tersebut dengan baik.
 Evaluasi Hasil Pengujian dengan Cermat
Evaluasi hasil pengujian dengan cermat dan perhatikan setiap masalah dan kekurangan
yang ditemukan. Berikan laporan pengujian yang lengkap dan akurat ke tim pengembang
untuk diperbaiki.
 Terus Belajar dan Meningkatkan Keterampilan
Sebagai software tester, Anda harus terus belajar dan meningkatkan keterampilan Anda
dalam pengujian perangkat lunak. Ikuti pelatihan atau kursus untuk memperoleh
pengetahuan dan keterampilan baru dalam bidang pengujian perangkat lunak.
Dengan mengikuti langkah langkah tersebut, diharapkan Anda dapat melaksanakan tugas
sebagai software tester dengan baik dan menghasilkan perangkat lunak yang berkualitas.

Daftar Pustaka
Kosasih, Yoga, and Andhik Budi Cahyono. "Automation Testing Tool Dalam Pengujian Aplikasi
The Point Of Sale." AUTOMATA 2.1 (2021).
Kosasih, Y., & Cahyono, A. B. (2021). Automation Testing Tool Dalam Pengujian Aplikasi The
Point Of Sale. AUTOMATA, 2(1).
Beizer, B. (1990). Software Testing Techniques (2nd ed.). New York: Van Nostrand Reinhold.
Software Testing Help. (2021). Software Testing Life Cycle (STLC) - Complete Guide.
Software Testing Help. (2021). Levels of Testing - Different Stages of Software Testing
Software Testing Help. (2021). Software Testing Career Path: A Comprehensive Guide

Anda mungkin juga menyukai