Anda di halaman 1dari 30

JAMINAN KUALITAS PERANGKAT LUNAK

Software Quality Assurance

Oleh:

Kelompok 8

Agung Dwi Putra Heriyanto (1461800149)

Muhammad Rizky (1461800150)

Billal Maulana Ashror (1461800165)

Program Studi Teknik Informatika

Universitas 17 Agustus 1945 Surabaya

2021
Kata Pengantar

Puji syukur atas kehadirat Allah SWT yang telah memberikan rahmat dan
hidayah-Nya sehingga kami dapat menyelesaikan makalah yang berjudul “Software
Quality Assurance” ini tepat pada waktunya. Adapun tujuan dari penulisan makalah ini
adalah memenuhi tugas dari Andrey Kartika Widhy Hapantenda,S.Kom.,M.Kom pada
mata kuliah Jaminan Kualitas Perangkat Lunak. Kami berharap semoga makalah ini
dapat menambah pengetahuan dan bermanfaat bagi pembaca.
Kami sampaikan terima kasih kepada dosen mata kuliah Bahasa Indonesia yang
telah memberikan bimbingan serta arahan selama proses perkuliahan. Tak lupa kami
sampaikan terima kasih kepada semua pihak yang telah memberikan bantuan berupa
waktu dan pengetahuannya sehingga dapat menyelesaikan makalah ini. Kami
menyadari bahwa masih banyak kekurangan dan jauh dari kata sempurna baik segi
penyususan, bahasa, maupun penulisannya. Oleh karena itu, kami sangat
mengharapkan kritik dan saran yang membangun dari semua pembaca demi terciptanya
makalah yang lebih baik untuk masa mendatang.

i
Daftar Isi

Kata Pengantar......................................................................................................... i

Daftar Isi .................................................................................................................. ii

BAB I ....................................................................................................................... 1

PENDAHULUAN .................................................................................................... 1
1.1Latar Belakang ................................................................................................. 1
1.2. Tujuan ............................................................................................................ 1
1.3Manfaat ............................................................................................................ 2

BAB II ...................................................................................................................... 3

PEMBAHASAN ...................................................................................................... 3
Aktivitas Software Quality Assurance .................................................................... 4
Metode - Metode SQA dan Penjelasan ................................................................... 8
Software Quality Assurance Tools (SQA Tools) ................................................... 12

BAB III .................................................................................................................. 26

PENUTUP.............................................................................................................. 26
Kesimpulan ......................................................................................................... 26

Daftar Pustaka ....................................................................................................... 27

ii
BABI

PENDAHULUAN

1.1 Latar Belakang


Dengan semakin berkembangnya jaman dan teknologi, perangkat lunak telah
menjadi bagian dari kehidupan sehari-hari baik untuk keperluan pribadi, bisnis,
pendidikan maupun pemerintahan. Dengan semakin miningkatnya kebutuhan akan
software, web ataupun mobile application maka dibutuhkan pula tenaga kompeten
dalam bidang yang di tuju. Kemampuan tiap individu juga sangatlah berbeda
bergantung pada tempat dimana mereka menempuh pengetahuannya.

Untuk memberikan kelayakan pada sebuah sistem, maka diperlukan standar


kompetensi yang sesuai. Dengan melihat kemampaun individu maka dapat mengetahui
sebaik apa sistem itu akan berjalan. Selain dengan melihat penilaian individual,
terdapat juga individu ataupun kelompok yang bertugas dalam menjamin kelayakan
sebuah sistem perangkat lunak tersebut (SQA). Software Quality Assurance adalah
mereka-mereka yang bertanggung jawab untuk menjaga agar perangkat lunak yang
dihasilkan memiliki kualitas tertentu sesuai dengan kebutuhan yang ditargetkan.

1.2 Tujuan
Tujuan dari makalah ini adalah sebagai berikut :
1. Menjelaskan mengenai seperti apa itu Software Quality Assurance.
2. Menjelaskan metode – metode yang digunakan oleh Software Quality
Assurance.
3. Menjelaskan tools yang digunakan selama mereka melaksanakan
kewajibannya.

1
1.3 Manfaat
Manfaat dari makalah ini adalah sebagai berikut :
1. Memberitahukan bagaimana dan seperti apa itu Software Quality Assurance.
2. Dapat memberitahukan kepada pembaca metode apa yang digunakan oleh
Software Quality Assurance.
3. Memberitahukan tools yang dibutuhkan sesuai dengan perangkat lunak yang
sedang diuji oleh Software Quality Assurance.

2
BAB II

PEMBAHASAN

Software Quality adalah kesesuaian yang diharapkan pada semua software yang
dibangun dalam hal fungsi software yang diutarakan dan untuk kerja software, standar
pembangunan software yang terdokumentasi dan karakteristik yang ditunjukkan oleh
software. Definisi ini menekankan pada 3 hal yaitu :
1. Kebutuhan software adalah fondasi untuk pembangunan software, jika
software tidak sesuai dengan kebutuhan yang ditentukan maka kualitaspun
kurang.

2. Jika menggunakan suatu standar untuk pembangunan software maka jika


software tidak memenuhi standar tersebut maka dianggap kurang berkualitas.

3. Sering kali ada kualitas yang secara langsung diutarakan seperti kemudahan
penggunaan dan pemeliharaan yang baik. Kualitas software dipertanyakan
jika tidak memenuhi kebutuhan ini.

Software Quality Assurance adalah kegiatan penting dalam sebuah perangkat


lunak yang diterapkan pada setiap langkah dalam proses perangkat lunak. Proses ini,
biasanya dilaksanakan oleh seorang QA Tester atau QA Engineer yang bertanggung
jawab terhadap perencanaan jaminan kualitas, kesalahan, penyimpanan rekaman,
analisis, dan pelaporan. Sehingga dapat mencapai standar yang diperlukan untuk
pemeliharaan, keandalan, portabilitas, dan sebagainya. Tugas utama QA Tester adalah
melaksanakan pengujian terhadap perangkat atau emulator, membuat alur pengujian,
serta membuat laporan hasil pengujian. Sementara QA Engineer bertugas untuk
membuat program pengujian otomatis, membuat laporan pengujian, memberikan

3
masukan atas aplikasi yang diuji, serta berkomunikasi dengan pihak-pihak yang
berkepentingan seperti, UI/UX, Back-End, Front-End, atau Product Manager (PM).

Aktivitas Software Quality Assurance


Standards (Standar)
Standar dari perangkat lunak memainkan peran yang sangat penting dalam Software
Quality Management. Dalam banyak kasus, standar ditentukan oleh konsumen atau
pembuat kebijakan. Dengan mengetahui standar perangkat lunak, maka alat dan
metode untuk mendukung penggunaan standar ini dapat dipilih.

Reviews and Audits (Ulasan dan Audit)


Technical Reviews adalah kegiatan kontrol kualitas yang dilakukan oleh software
engineers. Dalam hal ini harus memeriksa konsistensi dan kelengkapan dokumen atau
kode yang diulas dan memastikan bahwa standar kualitas telah diikuti. Audit adalah
tinjauan yang dilakukan oleh personel SQA dengan maksud untuk memastikan bahwa
pedoman kualitas diikuti untuk pekerjaan rekayasa perangkat lunak.

Testing (Pengujian)
Software Testing adalah fungsi kontrol kualitas yang memiliki satu tujuan utama, yaitu
untuk menemukan kesalahan. Tugas SQA adalah memastikan bahwa pengujian
direncanakan dengan baik dan dilakukan secara efisien sehingga memiliki
kemungkinan tertinggi untuk mencapai tujuan utamanya. Pengujian software biasanya
mengkombinasikan strategi beberapa tahapan/langkah dengan sejumlah desain metode
uji kasus yang membantu memastikan pendeteksian kesalahan yang efektif.

Error Collection and Analysis (Pengumpulan dan Analisis Kesalahan)


SQA mengumpulkan dan menganalisis data kesalahan dan cacat untuk lebih
memahami bagaimana kesalahan diperkenalkan dan kegiatan rekayasa perangkat lunak
apa yang cocok untuk menghilangkannya.

4
Change Management (Perubahan Manajemen)
Perubahan adalah aspek yang sering menganggu dari setiap proyek perangkat lunak.
Jika tidak dikelola dengan baik, perubahan dapat menyebabkan kebingungan dan
mengarah pada kualitas perangkat lunak yang buruk. Proses pengawasan perubahan
memberikan kontribusi secara langsung terhadap kualitas software dengan permintaan
perubahan yang diformalkan. Pengawasan perubahan diaplikasikan selama
pengembangan software dan setelahnya, atau selama tahapan pemeliharaan software.

Education (Edukasi)
Setiap software organization ingin meningkatkan software engineering practices.
Kontributor utama dalam peningkatan adalah pendidikan software engineers, manajer
dan stakeholder lainnya.

Record Keeping and Reporting (Penyimpanan Catatan dan Laporan)


Hasil dari review, audit, pengawasan perubahan, ujicoba, dan aktivitas SQA lainnya
harus menjadi bagian dari record history untuk proyek dan harus disebarkan untuk staff
pengembangan untuk pengetahuan.

Vendor Management (Manajemen Vendor)


Tugas organisasi SQA adalah untuk memastikan bahwa perangkat lunak yang
dihasilkan berkualitas tinggi dengan menyarankan praktik kualitas khusus yang harus
diikuti oleh vendor, dan memasukkan mandat kualitas sebagai bagian dari kontrak
apapun dengan vendor eksternal.

Security Management (Manajemen Keamanan)


Dengan meningkatnya CyberCrime dan paraturan pemerintah baru tentang privasi,
setiap organisasi perangkat lunak harus melembagakan kebijakan yang melindungi
data di semua tingkatan, membangun perlindungan firewall untuk Web, dan
memastikan bahwa perangkat lunak belum dirusak secara internal.

5
Safety(Keamanan)
SQA bertanggung jawab untuk menilai dampak kegagalan perangkat lunak untuk
memulai langkah-langkah yang diperlukan untuk mengurangi resiko.

Risk Management (Manajemen Risiko)


Analisis dan mitigasi risiko menjadi perhatian para software engineers, organisasi SQA
memastikan bahwa kegiatan manajemen risiko dilakukan dengan benar dan bahwa
rencana kontinjensi terkait risiko telah ditetapkan.

Measurement (Pengukuran)
Merupakan aktivitas yang melengkapi setiap bidang pengembangan. Tujuan utama dari
SQA adalah untuk menelusuri kualitas software dan memperkirakan pengaruh dari
perubahan secara metodologi maupun prosedur pada peningkatan kualitas software.

Menurut McCall terdapat 3 aspek penting dari suatu produk software, yaitu :
karakteristik operasional, kemampuan perubahan ketika software sudah berjalan, dan
kemampuan beradaptasi terhadap lingkungan baru. Selain itu McCall menyediakan
beberapa deskripsi yaitu :
1. Correctness (Kebenaran), tingkat pemenuhan program terhadap kebutuhan
yang dispesifikasikan dan memenuhi tujuan/misi pengguna.
2. Reliability (Keandalan), tingkat kemampuan program yang diharapkan dapat
menampilkan fungsi yang dimaksud dengan presisi yang ditetapkan.
3. Efficiency (Efisiensi), jumlah sumberdaya yang diproses dan kode yang
diperlukan oleh program untuk melaksanakan fungsinya.
4. Integrity (Integritas), tingkat kemampuan pengawasan akses terhadap data
atau software oleh orang-orang tertentu.
5. Usability, usaha yang diperlukan untuk mempelajari, mengoperasikan,
menyiapkan masukan dan mengartikan keluaran program.
6. Maintainability, usaha yang diperlukan untuk menetapkan dan memperbaiki
kesalahan dalam program.
6
7. Flexibility, usaha yang diperlukan untuk memodifikasi program operasional.
8. Testability, usaha yang diperlukan untuk menguji program untuk memastikan
bahwa program melaksanakan fungsi yang telah ditetapkan.
9. Portability, usaha yang diperlukan untuk memindahkan program dari
hardware/lingkungan sistem software tertentu ke lainnya.
10. Reusability, tingkat kemampuan program/bagian dari program yang dapat
dipakai ulang dalam aplikasi lainnya, berkaitan dengan paket dan lingkup dari
fungsi yang dilakukan oleh program.
11. Interoperability, usaha yang diperlukan untuk menggabungkan satu sistem
dengan sistem lainnya.

Terdapat beberapa ukuran (metric) yang didefinisikan dan penilaiannya diukur secara
objektif. Pengukuran biasanya dalam bentuk checklist dengan menggunakan skala
0-10. McCall menetapkan beberapa pengukuran yang dapat digunakan, diantaranya :
1. Auditability, kemudahan yaitu penyesuaian terhadap standar yang dapat
diperiksa.
2. Accuracy, ketepatan perhitungan dan kontrol.
3. Communication commonality, tingkatan dimana interface standar, protokol
dan bandwidth digunakan.
4. Completeness, tingkatan dimana implementasi lengkap dari fungsi yang
dibutuhkan telah tercapai.
5. Conciseness, kepadatan program dalam jumlah baris kode.
6. Consistency, penggunaan rancangan dan teknik dokumentasi dalam satu
bentuk diseluruh proyek pengembangan software.
7. Data commonality, penggunaan struktur dan tipe data standar diseluruh
program.
8. Error tolerance, kerusakan yang muncul ketika program menemukan
kesalahan/kegagalan.
9. Execution efficiency, performa run-time suatu program.
10. Expandability, tingkatan dimana rancangan arsitektural, data atau prosedur
7
dapat dikembangkan.
11. Generality, lingkup aplikasi potensial dari suatu komponen program.
12. Hardware independece, tingkatan dimana software dipisahkan dari hardware
yang mengoperasikannya.
13. Instrumentation, tingkatan dimana pengawasan program memiliki operasi
tersendiri dan mengidentifikasikesalahan yang terjadi.
14. Modularity, kemandirian fungsional dari suatu komponen program.
15. Operability, kemudahan pengoperasian program.
16. Security, ketersediaan mekanisme yang mengontrol atau menproteksi program
dan data.
17. Self-documentation, tingkatan dimana kode sumber menyediakan dokumentasi
yang berarti.
18. Simplicity, tingkatan dimana program dapat dimengerti tanpa kesulitan.
19. Software system independence, tingkatan dimana program mandiri terhadap
feature bahasa pemrograman nonstandar, karakteristik sistem operasi, dan
batasan-batasan lingkungan lainnya.
20. Traceability, kemampuan penelusuran ulang representasi rancangan atau
komponen program yang sesungguhnya dengan kebutuhan awal
(requirements).
21. Training, tingkatan dimana software membantu dalam user yang baru dalam
penerapan sistem.

Metode - Metode SQA dan Penjelasan

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.

8
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

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

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

11
Software Quality Assurance Tools (SQA Tools)
1. Security Testing Tools
i. NetSparker, adalah alat pengujian keamanan yang secara otomatis
memindai situs web, aplikasi web, dan layanan web untuk mencari
kerentanan. Salah satu pemindai yang secara otomatis mengidentifikasi
dan memverifikasi kerentanan dengan bukti konsep. Fitur yang tersedia
adalah :
1. Solusi keamanan web gratis yang terjangkau dan terawat.
2. Pemindai kerentanan web online yang dapat dikonfigurasi.
3. Dapat dengan mudah mengintegrasikan pemindaian keamanan
web di SDLC.
4. Mendukung kolaborasi tingkat perusahaan.
ii. OWASP (Open Web Application Security Project), adalah alat yang
membantu organisasi mengembangkan, membeli, dan memelihara web
dan perangkat lunak yang dapat diandalkan dan dipercaya. Fitur yang
tersedia adalah :
1. Verifikasi untuk keamanan sering dan sejak dini.
2. Validasi semua jenis input.
3. Menerapkan kontrol identitas dan otentikasi.
4. Terapkan semua kontrol akses yang sesuai.
iii. Acunetix Vulnerability, adalah alat penguji keamanan terkemuka. Ia
dapat menemukan berbagai jenis kerentanan keamanan daripada
pemindai lain dan menampilkan jumlah positif palsu paling sedikit.
Fitur yang tersedia adalah :
1. Pengujian skrip lintas situs paling canggih dan injeksi SQL yang
mendalam.
2. Pemindaian komprehensif aplikasi halaman tunggal dan situs
web berbasis JavaScript
3. Deteksi kerentanan XSS berbasis DOM

12
2. API Testing Tools
i. SoapUI, adalah salah satu alat pengujian terbaik yang merupakan alat
open source linntas platform untuk pengujian fungsional SOAP dan
REST, ditulis menggunakan bahasa Java. Terutama digunakan untuk
melakukan pengujian fungsional dan beban pada API. Fitur yang
tersedia adalah :
1. GUI perangkat lunak mudah ditangani dan menggunakan fitur
pengujian.
2. Kerentanan membantu mengamankan situs web dari peretasan
dan virus.
3. Analisis rinci dapat dilakukan dengan menggunakan fitur
pelaporannya.
4. Fitur SQL Injection menyediakan beberapa kueri dan metode
SQL standar untuk mengidentifikasi area lemah aplikasi.

ii. SOAPSonar, adalah alat pengujian API yang berfokus pada


pengurangan waktu dan kompleksitas untk mengembangkan dan
memelihara kasus. Mendukung pengujian setiap layanan individu
secara independen dari aplikasi klien, namun mengelompokkan alur
kerja pengujian untuk otomatisasi. Selain itu, pembuatan dan
pelaksanaan kasus uji ini tidak memerlukan keahlian pemrograman atau
skrip. Fitur yang tersedia adalah :
1. SOAP, XML, dan validasi layanan REST.
2. Pengujian fungsional dengan Succes Rule Framework
Performance Profiling dan Concurrent Client Load Testing.
3. Pengujian keamanan layanan web dengan mediasi risiko.
iii. WebInject, adalah alat pengujian API terbaik untuk pengujian otomatis
aplikasi web dan layanan web. Selain itu dapat menguji komponen
sistem individu yang memiliki antarmuka HTTP dan dapat digunakan
13
untuk melakukan uji fungsional, regresi dan penerimaan otomatis. Fitur
yang tersedia adalah :
1. Waktu respon HTTP dapat dipantau secara real-time pada saat
eksekusi.
2. Kombinasi pengujian GUI seluler dan desktop dengan pengujian
web.
3. Statistik pengaturan waktu dihitung dan ditampilkan selama
runtime.
iv. Tricentis, adalah alat pengujian API yang membantu mengelola kasus
pengujian mengurangi waktu pengujian, upaya manual, dan biaya
dengan membangun dan menjalankan kasus pengujian. Fitur yang
tersedia adalah :
1. Menawarkan pengujian SAP.
2. Kemampuan otomatisasi pengujian SAP yang matang dan kuat.
3. Integrasi manajer solusi.

3. Mobile Testing Tools


i. Appium, adalah salah satu alat pengujian open source untuk otomatisasi
aplikasi seluler. Ini memungkinkan pengguna untuk menguji semua
janis aplikasi asli, seluler, web, dan hybrid. Selain itu juga mendukung
pengujian otomatis pada emulator dan simulator. Fitur yang tersedia
adalah :
1. Menguji aplikasi yang sama dengan yang akan masuk ke pasar.
2. Aplikasi sederhana yang membutuhkan sedikit memori untuk
proses pengujian.
3. Menguji aplikasi Native tidak memerlukan SDK, melainkan
menawarkan API otomatis standar yang dapat digunakan untuk
semua jenis platform.
ii. Espresso, adalah alat pengujian seluler untuk perusahaan. Sebagai alat
open source yang sangat mudah digunakan, dan dapat meluas dalam
14
lingkungan kerja itu. Alat ini memungkinkan pembuatan pengjian UI
untuk aplikasi seluler tanpa menulis satu baris pun kode pengujian. Fitur
yang tersedia adalah :
1. Alur kerja espresso mudah digunakan.
2. Lebih sedikit ketidakstabilan.
3. Pengujian seluler memiliki umpan balik yang cepat dan
konsisten untuk pengembang.
4. Mengembangkan otomatisasi pengujian Espresso cukup mudah.
iii. Robotium, adalah alat otomatisasi pengujian open source yang terutama
digunakan untuk pengujian UI Android yang mendukung aplikasi asli
dan hibrida. Dimungkinkan untuk melakukan pengujian sistem,
pengujian fungsional, dan pengujian penerimaan pengguna melalui
aplikasi berbasis Android dengan bantuan alat ini. Fitur yang tersedia
adalah :
1. Rekaman kasus pengujian UI Android dalam hitungan menit
2. Memberikan dukungan untuk catatan dari emulator dan
perangkat sebenarnya.
3. Secara otomatis mendeteksi ID sumber daya
4. Dukungan lengkap untuk aplikasi Android asli dan hibrid
iv. Experitest, adalah alat jaminan kualitas untuk pengembangan seluler.
Alat tersebut mencakup pengujian manual, pengujian performa, dan
pengujian beban untuk aplikasi seluler. Alat pengujian ini mendukung
semua OS seluler, iOS, Android, . Fitur yang tersedia adalah :
1. Rekaman kasus pengujian UI Android dalam hitungan menit
2. Memberikan dukungan

4. Defect Tracking Tools


i. Mantishub, adalah alat pelacak kecacatan yang open source untuk
memberikan keseimbangan yang baik antara kesederhanaan dan
kekuatan. Pengguna dapat dengan mudah memulai dengan alat ini untuk
15
mengelola rekan tim dan klien mereka secara efektif. Fitur yang tersedia
adalah :
1. Meningkatkan alur kerja dan efisiensi organisasi.
2. Dukungan untuk pelacakan masalah internal.
3. Memungkinkan sistem masuk menggunakan Bitbucket dan
GitHub.
4. MantisHub memiliki fitur pelacakan waktu sendiri yang berguna
untuk melaporkan secara efektif.

ii. The FogBugz, alat pelacak yang dapat digunakan untuk melacak status
kerusakan dan perubahan dalam proyek perangkat lunak yang sedang
berlangsung, seperti pengembangan dan penerapan aplikasi. Secara
khusus dapat membantuk organisasi untuk melacak bug untuk banyak
proyek. Fitur yang tersedia adalah :
1. Memberikan fleksibilitas untuk mencari informasi dalam waktu
singkat.
2. Memberikan dukungan untuk manajemen proyek Agile.
3. Pemberitahuan dan email untuk membuat anggota tim
diperbarui tentang perubahan pada proyek dan kasus.
iii. Bugzilla, salah satu sistem pelacak kecacatan sistem terbaik. Alat ini
memungkinkan individu atau kelompok pengembang untuk melacak
bug yang luar biasa di sistem mereka. Bugzilla adalah perangkat lunak
open source terbaik yang digunakan di pasar oleh organisasi skala kecil
maupun skala besar. Fitur yang tersedia adalah :
1. Struktur basis data yang dioptimalkan untuk meningkatkan
kinerja dan skalabilitas.
2. Alat kueri tingkat lanjut yang mengingat pencarian yang
disesuaikan dari pengguna.
3. Profil pengguna dapat diedit dan preferesi email yang
komprehensif.
16
4. Mekanisme ekstensi untuk instalasi yang dapat dikustomisasi.
iv. BugNet, adalah alat penemu bug yang open source dan lintas platform
yang ditulis menggunakan platform ASP.NET, dan membutuhkan
database MySQL sebagai alat backend. Tujuan utama alat pelacak
kerusakan ini adalah untuk membuat basis kode sederhana dan mudah
digunakan. Fitur yang tersedia adalah :
1. Aplikasi berbasis web yang open source di bawah lisensi GPL.
2. Alat BugNET membuatnya mudah untuk mengajukan,
mengelola, dan melaportkan bug.
3. Alat ini mendukung banyak basis data.
4. Menawarkan navigasi yang mudah dan administrasi yang
mudah.
v. RedMine, adalah alat pelacak kerusakan penting lainnya. Versi dasar
alat ini adalah sumber terbuka dan bekerja pada mesin apapun yang
mendukung Ruby. Membutuhkan lebih banyak waktu untuk proses
penginstalan, akan tetapi setelah dipasang akan berjalan dengan lancat.
Fitur yang tersedia adalah :
1. Membagikan masalah melalui email.
2. Menawarkan dukungan untuk beberapa database.
3. Sistem pelacakan masalah yang fleksibel.

5. Load Testing Tools


i. Webload, adalah alat pengujian yang sangat baik yang menawarkan
banyak kemampuan pembuatan skrip yang kuat, yang berguna untuk
menguji skenario yang kompleks. Alat ini mendukung ratusan teknologi
dari Selenium hingga seluler, aplikasi perusahaan hingga protokol web.
Fitur yang tersedia adalah :
1. Membangun skenario uji beban lebih mudah dan efisien
2. Membantu Anda mengidentifikasi kemacetan kinerja di sistem
dengan lebih dari 80 jenis laporan dan grafik.
17
3. Pengujian kinerja dapat dijalankan dari cloud dengan
menghasilkan beban dari Amazon EC2.
ii. Loadrunner, adalah alat pengujian yang untuk Windows dan Linux,
yang memungkinkan pengujian aplikasi web secara efisien. Ini
membantuk alat pengujian untuk menentukan kinerja dan hasil aplikasi
web di bawah beban berat. Fitur yang tersedia adalah :
1. Menawarkan dukungan untuk berbagai jenis aplikasi.
2. Alat ini dapat bekerja di beberapa lingkungan perusahaan.
3. Semua Vusers dapat dikontrol hanya dengan satu dasbor.
4. LoadRunner menyediakan dukungan untuk beberapa jenis
protokol.
5. Pemantauan dan analisis sangat ramah pengguna dan mudah
dipahami.
iii. LoadImpact, adalah sistem pengujian beban berbasis cloud terbaik yang
banyak digunakan oleh perusahaan di seluruh dunia untuk
mengembangkan situs web, aplikasi seluler, aplikasi berbasis web, dan
API mereka dengan melakukan semua jenis pengujian. Fitur yang
tersedia adalah :
1. Mensimulasikan lalu lintas persis dengan yang terjadi
dikehidupan nyata.
2. Tidak ada cache tersembunti atau perilaku pengguna yang tidak
nyata.
3. Dapat menghasilkan beban dari 10 lokasi berbeda secara
bersamaan.
4. Memungkinkan untuk merekam sesi HTTP menggunakan
perekam proxy dan memungkinkan untuk melakukan tindakan
yang sama selama pengujian.
iv. BlazeMeter, pengujian beban yang memastikan pengiriman perangkat
lunak berkinerja tinggi untuk menjalankan pengujian kinerja dengan
cepat untuk aplikasi seluler, situs web, atau API untuk memeriksa
18
kinerja di setiap tahap pengembangannya. Fitur yang tersedia adalah :
1. Memungkinkan untuk menguji situs web dan mengintegrasikan
hasil multi-lokasi geografis ke dalam laporan tunggal.
2. Ambil data situs dari akun Google Analytics dan
mengintegrasikannya ke dalam pengaturan pengujian baru.
3. Gunakan kredensial VPN untuk mengintegrasikan serangkaian
server beban ke dalam jaringan pribadi.

6. Cross-browser Testing Tools


i. Browsera, salah satu perangkat lunak pengujian browser terbaik yang
memungkinkan pengujian situs web dan elemennya di beberapa
browser. Alat ini juga digunakan untuk menguji situs web dan semua
halaman web untuk kesalahan skrip dan tata letak.
1. Browsera dapat dengan cepat mendeteksi masalah tata letak
lintas browser secara otomatis dengan membandingkan keluaran
setiap browser.
2. Kesalahan JavaScript dari setiap browser dikumpulkan dan
dilaportkan setelah setiap pengujian.
3. Dengan fitur crawling, mudah untuk menguji semua halaman
web dari satu situs.
ii. CrossBrowser Testing, membantu memastikan bahwa situs web atau
aplikasi web berfungsi dengan benar di berbagai browser web. Dengan
bantuan alat ini, dimungkinkan untuk menjalankan tes otomatis paralel,
membandingkan tangkapan layar, dan mendebug desktop dan seluler
browser dari jarak jauh. Fitur tersedia adalah :
1. Alat penguji QA yang dapat menjalankan banyaj tes pada
beberapa perangkat sekaligus.
2. Mudah untuk menjalankan pengujian otomatis terhadap IOS,
Android, & browser desktop lainnya.
3. Memungkinkan untuk menjalankan kerangka pengujian seperti
19
WebDrive.IO, dan Nightwatch untuk kualitas dan kecepatan
yang superior.
iii. Ghostlab, aplikasi pengujian berbasis Mac yang memungkinkah
pengujian desain responsif di berbagai perangkat dan browser. Ini
adalah alat untuk pengujian browser tersinkronisasi. Ini menyinkronkan
gulungan, klik, memuat ulang dan masukan formulir di semua klien
yang terhubung untuk menguji pengalaman pengguna penuh. Fitur yang
tersedia adalah :
1. Tidak diperlukan pengaturan untuk instalasi.
2. Alat pengujian seluler ini dapat menyinkronkan click, events
dan scroll.
3. Memberikan dukungan untuk debugging jarak jauh untuk semua
jenis browser.
iv. Browserhots, adalah alat pengujian lintas browser yang memungkinkan
pengujian situs web yang berjalan di Windows, MacOS, Android atau
IOS. Ini menyediakan tangkapan layar dari situs web di 200 browser.
Alat ini menyediakan tangkapan layar situs web dalam lingkungan
pengujian yang berguna untuk menemukan semua kesalahan utama
HTML atau CSS. Fitur yang tersedia adalah :
1. Alat yang sepenuhnya gratis, dan menyediakan untuk dukungan
200 versi browser yang berbeda untuk menangkap screenshot.
2. Didukung browser mulai dari Arora, Chrome, Dillo, Firefox,
Iceweasel, Konqueror, Links, SeaMonkey, dan Safari. Ini
memungkinkan untuk menonaktifkan JavaScript.
7. Test Management
i. TestRail, adalah alat yang digunakan untuk pengelolaan pengujian
berbasis web yang skalabel dan dapat disesuaikan. Fitur yang tersedia
adalah :
1. Kelola kasus, rencana, dan proses pengujian manual dan
otomatis secara efisien
20
2. Real Time untuk pengujian kemajuan dengan dasbor informatif,
metriks, dan laporan aktivitas
3. Tingkatkan efisien dengan pencapaian, daftar tugas pribadi, dan
pemberitahuan email
4. Dokumentasi kasus pengujian dengan screenshot dan hasil yang
diharapkan
5. Template bawaan yang fleksibel atau membuat template sendiri.
6. Integrasikan dengan alat di CI
ii. Testpad, adalah alat uji manual yang lebih sederhana dan lebih mudah
diakses yang memprioritaskan pragmatisme daripada proses. Tidak
mengelola kasus satu per satu, melainkan menggunakan rencana
pengujian yang terinspirasi dari daftar periksa yang dapat disesuaikan
dengan berbagai gaya termasuk pengujian Eksplorasi, sisi manual
Agile, BDD yang disorot sintaks, dan bahkan manajemen kasus
pengujian tradisional. Fitur yang tersedia adalah :
1. Guest Tester yang diundang melalui email dan tidak
membutuhkan akun
2. Cukup sederhana untuk digunakan oleh non-penguji, dapat
meminta semua orang untuk membantu pada waktu rilis.
3. UI drag and drop yang didukung javascript.
4. Tambahkan pengujian baru selama pengujian saat sedang
memikirkan ide-ide baru.
5. Integrasi ringan dengan pelacak masalah, termasuk JIRA
iii. SpiraTest, adalah solusi untuk mengelola persyaratan, rencana,
pengujian, bug, tugas, dan kode dalam satu lingkungan. Ini dirancang
untuk sepenuhnya disesuaikan dengan kebutuhan, metodologi, alur
kerja, rantai alat. . Fitur yang tersedia adalah :
1. Menghasilkan pengujian yang mulus dari persyaratan, dan bug
dari penguji.
2. Dengan mudah mengelola kasus pengujian, set, dan berjalan
21
dalam pengujian manual dan eksplorasi.
3. Membuat pengujian berdasarkan parameter dengan keterlacakan
ujung ke ujung di seluruh dasbor.
4. Eksekutif untuk tampilan atas-bawah proyek,visualisasi, dan
analitik bisnis.
5. Terintegrasi dengan lebih dari 60 aplikasi di pasar.
6. Harga yang fleksibel dengan produk, proyek, sprint, pengujian,
panggilan API yang termasuk dalam harga tidak terbatas.
8. Automated Testing Tools
i. Kobiton, memberdayakan tim penguji dan pengembang untuk
mengotomatiskan pengujian fungsional, kinerja, visual, dan
kompabilitas di seluruh perangkat seluler dan IoT nyata. Fitur yang
tersedia adalah :
1. Akses ke perangkat di cloud publik atau pribadi
2. Perangkat lokal “Cloudify” untuk akses jarak jauh bersama
3. Dukungan untuk kerangka kerja dan perkakas otomatis
open-source terkemuka
4. Perbaikan dengan bantuan AI untuk masalah fungsional dan
visual.
5. Kebijakan pengguna tidak terbatas.
6. Akses dan bagikan analitik seputar kualitas aplikasi.
7. Akses ke perangkat nyata dalam IDE untuk debugging cepat.
ii. Ranorex, Lebih dari 14.000 pengguna di seluruh dunia mempercepat
pengujian dengan Ranorex Studio, alat lengkap untuk otomatisasi
pengujian lintas platform. Ranorex mudah untuk pemula dengan
antarmuka click and go tanpa kode, tetapi kuat untuk ahli otomasi
dengan IDE lengkap. Fitur yang tersedia adalah :
1. Identifikasi objek yang kuat untuk pengujian yang handal dan
perawatan yang lebih sedikit
2. Repositori objek yang dapat dibagikan dan modul kode yang
22
dapat digunakan kembali
3. Pengujian lintas browser
4. Mengotomatiskan antarmuka yang menantang seperti SAP,
ERP, Delphi, dan aplikasi lama
5. Menjalankan pengujian secara paralel atau mendistribusikan
pada laporan Selenium
iii. Selenium, adalah salah satu alat pengujian perangkat lunak paling
populer. Ini dirancang khusus untuk mendukung pengujian otomatis
aspek fungsional aplikasi berbasis web, berbagai platform dan browser.
1. Salah satu alat terbaik yang menawarkan dukungan untuk
eksekusi uji paralel yang mengurangi waktu yang dibutuhkan
dalam menjalankan uji paralel.
2. Selenium membutuhkan sumber daya yang lebih sedikit jika
dibandingkan dengan alat pengujian manual lainnya.
3. Kasus uji yang disiapkan menggunakan alat pengujian ini dapat
dijalankan pada OS apapun.
4. Mendukung banyak bahasa pemrograman yang dikenal seperti
Java, Python, C#, Perl, PHP, dan JavaScript.
iv. Quick Test Professional (QTP) sekarang disebut Micro Focus UFT
(Unified Functional Testing) adalah alat pengujian GUI fungsional
otomatis yang memungkinkan otomatisasi tindakan pengguna pada
aplikasi komputer berbasis web atau klien. Ini banyak digunakan untuk
otomatisasi uji regresi fungsional. Ini adalah salah satu alat pengujian
manual yang menggunakan bahasa skrip untuk memanipulasi objek dan
kontrol aplikasi yang diuji. Fitur yang tersedia adalah :
1. QTP adalah salah satu alat penguji perangkat lunak yang
memungkinkan penguji pemula mempelajari alat ini dalam
beberapa menit
2. Sangat mudah dimengerti, ini menyajikan kasus uji dalam alur
kerja sederhana ke penguji.
23
3. Alat ini memungkinkan validasi lengkap aplikasi melalui pos
pemeriksaan
v. Watir, adalah alat penguji aplikasi web lintas platform yang open
source. Ini adalah alat otomatisasi perpustakaan Ruby yang paling
handal dan fleksibel untuk otomatisasi browser web. Alat pengujian
lintas browser ini berinteraksi dengan browser seperti manusia sehingga
dapat mengklik tautan, mengisi formulir, dan memvalidasi teks. Fitur
yang tersedia adalah :
1. Salah satu alat penguji gratis terbaik jika tidak ada biaya untuk
menggunakan alat yang lainnya.
2. Alat pengujian otomatis didukung oleh komunitas yang sangat
aktif dan berkembang.
3. Salah satu alat QA yang mendukung banyak browser di berbagai
platform dan ringan.

9. CSS Validator Tool


i. W3C CSS, adalah perangkat lunak gratis yang dikembangkan oleh W3C
untuk membantuk desainer web dan pengembangan web memeriksa
CSS mereka. Dengan bantuan alat validasi ini dapat membantu
pengguna untuk menemukan kesalahan dalam penggunaan CSS yang
salah. Fitur yang tersedia adalah :
1. Mengenali banyak ekstensi dan prefiks browser.
2. Termasuk browser web terintegrasi. Oleh karenaitu, situ web
dapat dijelajahi dan diperiksa pada saat yang bersamaan.
3. Memeriksa dan memperingatkan masalah.
4. Aksesibilitas untuk mencegah orang menggunakan halaman itu.
ii. Telerik Studio, adalah alat pengujian perangkat lunak untuk menguji
aplikasi web dan desktop dari semua OS windows. Ini adalah alat yang
berguna untuk menguji fungsionalitas, membuat dan kinerja web dan
aplikasi seluler. Selain itu juga menawarkan plugin untuk memeriksa
24
masalah cross-browsing. Fitur yang tersedia adalah :
1. Uji otomatis untuk aplikasi AJAX
2. Aslid dalam membangun dukungan untuk kontrol UI
3. Menguji popup HTML dan dialog browser
4. Dukungan untuk pemanggilan dan pencatatan JavaScript
5. Izinkan integrasi berkelanjutan menggunakan server.

25
BABIII

PENUTUP

Kesimpulan
Software Quality Assurance adalah salah satu bidang yang sangat dibutuhkan
untuk memberikan penilaian kelayakan sebuah sistem. Selain dilihat berdasarkan
penilaian individual, terdapat juga penilaian kelompok yang menjamin kelayakan
sistem tersebut. Setiap penilaian yang dilakukan menggunakan tools dan metode
tersendiri sesuai dengan kebutuhan dan jenis sistem yang akan dinilai. Terdapat dua
macam pembagian tugas pada SQA, diantaranya adalah QA Tester dan QA Engineer.
Tugas utama QA Tester adalah melaksanakan pengujian terhadap perangkat atau
emulator, membuat alur pengujian, serta membuat laporan hasil pengujian. Sementara
QA Engineer bertugas untuk membuat program pengujian otomatis, membuat laporan
pengujian, memberikan masukan atas aplikasi yang diuji, serta berkomunikasi dengan
pihak-pihak yang berkepentingan seperti, UI/UX, Back-End, Front-End, atau Product
Manager (PM).
Ada berbagai macam metode yang dapat digunakan oleh SQA diantaranya,
Performance Testing yaitu metode yang menentukan apakah sistem dapat memenuhi
kriteria berbasis waktu seperti response time atau throughtput. Selanjutnya adalah
metode Unit Testing yang dimana proses pengujian individual, class, atau komponen
sebelum mereka terintegrasi dengan perangkat lunak lainnya. Selain itu untuk
mengidentifikasi dan memperbaiki kesalahan sebanyak mungkin sebelum modul
digabungkan

26
Daftar Pustaka

Guru99.com, “Top 50 Software Testing Tools in 2021”,


https://www.guru99.com/testing-tools.html#1 [Diakses pada 15 April 2021]

medium.com, “Mengenal Lebih Jauh tentang Software Quality Assurance”,


https://medium.com/@makersinstitute/mengenal-lebih-jauh-tentang-software-quality-
assurance-844361cd50db [Diakses pada 14 April 2021]

academia.com, “Software Quality Assurance”,


https://www.academia.edu/17765907/Software_Quality_Assurance[Diakses pada 14
April 2021]

kompasiana.com, “8 Jenis Testing Wajib Seorang Software Tester / SQA”,


https://www.kompasiana.com/toghr9896/5b67f796caf7db26250adff6/8-jenis-testing-
wajib-seorang-software-tester-sqa [Diakses pada 19 April 2021]

reqtest.com, “Software Quality Assurance (SQA) Quick Tutorial”,


https://reqtest.com/testing-blog/software-quality-assurance/ [Diakses pada 14 April
2021]

27

Anda mungkin juga menyukai