Title | Laporan Pengujian atau Testing Web Application (Studi Kasus : KasKus) |
---|---|
Author | Habibullah Al Faruq |
Pages | 23 |
File Size | 1.1 MB |
File Type | |
Total Downloads | 66 |
Total Views | 125 |
LAPORAN PENGUJIAN PERANGKAT LUNAK DAN JAMINAN MUTU (TESTING A WEB APPLICATION) Disusun untuk memenuhi tugas mata kuliah Pengujian Perangkat Lunak dan Jaminan Mutu Dosen pengampu : Mukhlis Prasetyo Aji, S.T., M.Kom. Disusun oleh : Habibullah Al Faruq (1703040047) Program Studi Informatika Fakultas Te...
LAPORAN PENGUJIAN PERANGKAT LUNAK DAN JAMINAN MUTU (TESTING A WEB APPLICATION)
Disusun untuk memenuhi tugas mata kuliah Pengujian Perangkat Lunak dan Jaminan Mutu Dosen pengampu : Mukhlis Prasetyo Aji, S.T., M.Kom.
Disusun oleh : Habibullah Al Faruq
(1703040047)
Program Studi Informatika Fakultas Teknik dan Sains Universitas Muhammadiyah Purwokerto 2018 / 2019
KATA PENGANTAR Alhamdulillah puji syukur kami panjatkan kehadirat Allah SWT yang masih memberikan napas kehidupan, sehingga kami bisa menyelesaikan menyusun laporan mengenai pengujian terhadap suatu situs web. Laporan ini dibuat sebagai salah satu tugas mata kuliah Pengujian Perangkat Lunak dan Jaminan Mutu. Di dalam laporan ini, membahas banyak mengenai functional testing, interface testing, compatibility testing, performance testing, hingga security testing. Perlu diketahui, teknologi yang semakin berkembang seiring dengan berjalannya waktu, tentu mampu memberikan banyak manfaat di era yang sekarang ini. Terlebih apabila memiliki portofolio atau menyimpan sesuatu di dalam cloud, karena memang, tidak ada sistem yang aman. Kami sampaikan banyak terima kasih atas segala perhatiannya terhadap laporan ini dan penulis berharap semoga makalah ini mampu memberikan manfaat yang lebih banyak bagi diri penulis sendiri dan khususnya bagi para pembaca pada umumnya. Tak ada gading yang tak retak, hal ini tentu senada dengan laporan ini. Dengan segala bentuk kerendahan hati, saran-saran dan kritik yang konstruktif, tentu sangat kami harapkan dari para pembaca, dalam upaya meningkatkan penyusunan laporan yang lebih baik untuk tugas lain di waktu yang akan datang.
Purwokerto, 19 Maret 2019
Penyusun
Page | ii
DAFTAR ISI
LAPORAN PENGUJIAN PERANGKAT LUNAK DAN JAMINAN MUTU .................... i KATA PENGANTAR .................................................................................................ii DAFTAR ISI ............................................................................................................. iii BAB I ....................................................................................................................... 1 A.
Latar Belakang .......................................................................................... 1
B.
Tujuan ....................................................................................................... 2
C.
Pengenalan Sistem ................................................................................... 2
BAB II ...................................................................................................................... 3 1.
2.
3.
Functional Testing (Testing UI Workflows and Testing Hyperlinks) .............. 3 1.1
Deskripsi ................................................................................................ 3
1.2
Tujuan .................................................................................................... 3
1.3
Tools ...................................................................................................... 4
1.4
Pengujian ............................................................................................... 4
1.4.1
Sign-up activity................................................................................ 4
1.4.2
Sign-in Activity ................................................................................ 5
1.4.3
Forgot Password Activity ................................................................. 6
Interface Testing (Web Server) ..................................................................... 8 2.1
Deskripsi ................................................................................................ 8
2.2
Tujuan .................................................................................................... 8
2.3
Tools ...................................................................................................... 8
2.4
Pengujian ............................................................................................... 9
2.4.1
Error 404: Not Found ...................................................................... 9
2.4.2
Notification .................................................................................... 10
Compatibility Testing (Browser Compatibility Testing and Device
Compatibility Testing) ......................................................................................... 11 3.1
Deskripsi .............................................................................................. 11 Page | iii
4.
5.
3.2
Tujuan .................................................................................................. 11
3.3
Tools .................................................................................................... 11
3.4
Pengujian ............................................................................................. 12
Performance Testing (Load Testing & Stress Testing) ................................ 13 4.1
Deskripsi .............................................................................................. 13
4.2
Tujuan .................................................................................................. 13
4.3
Tools .................................................................................................... 13
4.4
Pengujian ............................................................................................. 14
4.4.1
AMP (Accelerated Mobile Page) ................................................... 14
4.4.2
GTMetrix ....................................................................................... 15
Security Testing (Privilege Escalation and Vulnerability Scanning)............. 16 5.1
Deskripsi .............................................................................................. 16
5.2
Tujuan .................................................................................................. 16
5.3
Tools .................................................................................................... 16
5.4
Pengujian ............................................................................................. 17
BAB III ................................................................................................................... 19 A.
Kesimpulan .............................................................................................. 19
Page | iv
BAB I PENDAHULUAN
A.
Latar Belakang
Mengingat semakin berkembangnya teknologi dari waktu ke waktu, tidak bisa dipungkiri
teknologi
selalu
hadir
dalam
genggaman
manusia.
Di
dalam
mengembangkan sebuah sistem, tentu membutuhkan perencanaan yang benarbenar matang, tidak boleh main-main. Maka dari itu, dalam merencanakan sebuah sistem harus dipikirkan terlebih dahulu, dianalisis dan diciptakan. Sistem yang diciptakan juga diharapkan bisa memecahkan masalah yang terjadi pada masyarakat di era modern seperti ini. Jadi, tidak boleh menciptakan sistem sembarangan, malah bisa jadi hasil sistem tersebut akan sia-sia dan tidak banyak yang menerapkannya. Dalam mengembangkan sebuah sistem, ada 2 sisi yang dilihat, dari sisi pengembang dan sisi pengguna. Pengembang bisa dengan bebas dan dengan mudah membentu suatu sistem. Akan tetapi, apakah sistem yang dikembangkan tersebut cocok dioperasikan oleh pengguna atau tidak. Maka dari itu, pengembang yang tengah membuat sistem, seharusnya juga harus bisa melihat sisi atau kapasitas dari pengguna, sehingga sistem layak untuk digunakan. Perlu diketahui, di dalam sebuah sistem juga pastinya mengandung begitu banyak data yang disimpan. Sebagai seorang pengembang, sebisa mungkin menjaga sistem tersebut, sehingga tidak ada niatan jahat dari luar yang akan mencuri data, bahkan merusak sistem itu sendiri.
Page | 1
B.
Tujuan
Tujuan dilakukannnya pengujian terhadap suatu sistem ialah untuk menerapkan kegiatan analisis mengenai pengembangan yang dilakukan untuk bisa maju ke tahap berikutnya. Yang menjadi masalah, terutama dalam persoalan antarmuka, tentu dibutuhkan pengembangan lebih lanjut. Jika hanya itu-itu saja, pengguna mudah bosan dan malah bisa jadi tak lagi menggunakan sistem tersebut. Selanjutnya, banyak masalah pada celah keamanan, seiring dengan berkembangnya teknologi. Seorang pengembang tidak boleh mengabaikan celah keamanan, mengingat hal-hal yang jahat dilakukan oleh orang jahat semakin meningkat dari waktu ke waktu. Masih banyak lagi yang lain mengenai tujuan dari pengujian. Utamanya, pengujian ini adalah suatu cakupan atau ruang lingkup, dalam menganalisis suatu sistem, demi membentuk sistem yang lebih andal ke depannya.
C.
Pengenalan Sistem
Sistem yang diuji dan dikenalkan di sini adalah KasKus. KasKus merupakan sebuah situs forum komunitas maya Indonesia. Pengguna KasKus dinamakan dengan Kaskuser. Per bulan November 2017, KasKus telah memiliki lebih dari 10 juta pengguna terdaftar. Pada umumnya, pengguna KasKus berasal dan didominasi oleh kalangan remaja hingga dewasa. KasKus merupakan singkatan dari Kasak Kusuk, bermula dari sekadar hobi komunitas kecil yang selanjutnya berkembang hingga saat ini. Di tanggal 26 Mei 2012, KasKus mengalami gangguan pada DNS (Domain Name System) pada domain .us, sehingga pada tanggal 27 Mei 2012, KasKus resmi berpindah domain yang awalnya .us menjadi akhiran .co.id dan .com.
Page | 2
BAB II PEMBAHASAN
1.
Functional Testing (Testing UI Workflows and Testing Hyperlinks)
1.1
Deskripsi
Functional testing adalah pengujian yang dilakukan dalam memeriksa fungsifungsi yang ada di aplikasi atau situs web atau software yang sedang dibangun. Functional testing ini menjadi bukti jika alur sistem tersebut benar-benar berjalan sesuai, dengan sebagaimana mestinya. Bisa dikatakan, functional testing berkonsentrasi pada hasil dari proses, bukan bagaimana dari prosesnya itu terjadi. Functional testing selanjutnya bisa dilakukan dengan data yang sebenarbenarnya. Pengujian ini dilakukan guna melakukan evaluasi terhadap sistem, apakah sistem bisa digunakan (applied).
1.2
Tujuan
Tujuan dari functional testing ialah untuk melihat apakah sistem yang diuji benar-benar melakukan tugas dan tujuan akhirnya sebagaimana mestinya atau tidak. Hal ini tentu berkaitan erat dengan apa yang dilakukan oleh pengguna. Salah satu contohnya, apabila pengguna melakukan lupa kata sandi, sistem sebisa mungkin harus mengarahkan pengguna pada bagian atau menu lupa kata sandi, begitu juga dengan hal-hal yang lainnya.
Page | 3
1.3
Tools
Tools yang digunakan dalam performance kali ini tidak ada, alias dilakukan secara manual, namun tersistematis.
1.4
Pengujian
1.4.1
Sign-up activity
Nm Action
Result
Status
1
Klik tombol “masuk”
Tampilan masuk
Success
2
Klik tombol “daftar”
Tampilan daftar
Success
Tampilan verifikasi
Success
Mengisi data dan klik “daftar” 3
untuk daftarkan diri sebagai pengguna baru
Page | 4
1.4.2
Sign-in Activity
Nm Action 1
Klik tombol “masuk”
Result
Status
Tampilan masuk
Success
Tampilan 2
Mengisi ID terdaftar
homepage
Success
(registered user)
Page | 5
1.4.3
Forgot Password Activity
Nm Action 1
Klik tombol “masuk”
2
Klik tombol “forgot password”
3
Mengisi ID terdaftar
Result
Status
Tampilan masuk
Success
Tampilan pencarian ID Tampilan ID ditemukan
Success
Success
Page | 6
4
5
Memastikan ID yang dicari
Tampilan verifikasi
benar
ID
Mengisi kode verifikasi
Tampilan atur ulang password
Success
Success
Page | 7
2.
Interface Testing (Web Server)
2.1
Deskripsi
Interface testing merupakan salah satu bentuk atau jenis pengujian perangkat lunak, yang melakukan verifikasi apakah komunikasi antara 2 sistem perangkat lunak yang berbeda tersebut bisa berjalan dengan baik dan benar, sebagaimana mestinya. Koneksi yang mengintegrasikan kedua komponen tersebut dinamakan dengan antarmuka. Antarmuka di dalam dunia komputer, contohnya API, web services, dan lain sebagainya. Sementara itu, antarmuka merupakan suatu bentuk aksi dari sekumpulan perintah, pesan, dan berbagai macam atribut yang lain, yang memungkinkan adanya komunikasi yang terjalin dengan baik, antara perangkat dan pengguna.
2.2
Tujuan
Dengan adanya interface testing ini, diharapkan sistem yang diciptakan bersifat nyata. Mengingat, sistem diciptakan untuk manusia, bukan untuk robot. Maka dari itu, dibutuhkanlah komunikasi 2 arah antara sistem dan pengguna, layaknya sebuah forum group discussion.
2.3
Tools
Tools yang digunakan dalam performance kali ini tidak ada, alias dilakukan secara manual, namun tersistematis.
Page | 8
2.4
Pengujian
2.4.1
Error 404: Not Found
Nm Component 1
URL
Interface
Result
Forum
Error 404 Not Found
Status Success
Page | 9
2.4.2
Notification
Nm Component
1
Notifikasi
Interface
Result
Profil
Notifikasi dan pesan yang belum ataupun
Status
Success
sudah terbaca
Page | 10
3.
Compatibility Testing (Browser Compatibility Testing and Device Compatibility Testing)
3.1
Deskripsi
Compatibility testing merupakan suatu pengujian yang digunakan untuk memeriksa, apakah perangkat lunak yang dikembangkan bisa berjalan pada hardware, sistem operasi, aplikasi, ataupun lingkungan jaringan yang berbeda. Compatibility ini juga bisa dikatakan untuk memastikan kepuasan dari pengguna atau pelanggan. Jika perangkat lunak yang dijalankan bisa berjalan dengan optimal, maka bisa dikatakan perangkat lunak tersebut compatible dan layak digunakan.
3.2
Tujuan
Tujuan dari compatibility testing ini untuk meyakinkan jika sistem yang dibuat bisa diakses dari berbagai macam perangkat atau platform, sehingga bersifat userfriendly (mudah digunakan oleh pengguna). Seperti yang kita ketahui, device atau perangkat masing-masing pengguna tentu berbeda (mobile dan desktop), sistem operasi yang digunakan juga berbeda (Windows, Android, iOS, dan lain sebagainya). Maka dari itu, sistem yang dibuat haruslah kompatibel dengan perangkat yang dimiliki oleh pengguna.
3.3
Tools
•
Google Search Console (mobile-friendly)
Page | 11
3.4
Pengujian
Nm Website
Mobile-friendly
Information Bisa diakses di
1
KasKus
Ya
berbagai perangkat (mobile & desktop)
Page | 12
4.
Performance Testing (Load Testing & Stress Testing)
4.1
Deskripsi
Performance testing merupakan suatu proses dalam menentukan kecepatan atau efektivitas, jaringan program komputer, perangkat lunak atau perangkat. Performance testing seringkali dilakukan yang erat kaitannya dengan stress testing. Performance testing mampu melakukan verifikasi jika sistem berhasil memenuhi spesifikasi yang diklaim oleh produsen atau vendor. Proses ini bisa membandingkan 2 atau lebih sistem, seperti : •
Efisiensi atau keandalan
•
Kecepatan transfer data
•
Lebar bandwidth
•
Throughput Performance testing sendiri biasanya juga digunakan sebagai alat bantu
dalam menemukan kemacetan komunikasi. Seringkali, sistem bisa bekerja lebih baik apabila masalah pada performa berhasil diselesaikan.
4.2
Tujuan
Tujuan dilakukannya performance testing ialah untuk melakukan analisis atau identifikasi terhadap suatu sistem, mengenai apa yang menyebabkan sistem tersebut bekerja dengan lambat. Hal inilah yang menjadi acuan atau pedoman bagi para pengembang, untuk mempercepat kinerja sistem, sehingga sistem bisa diakses dengan optimal dan dengan waktu tunggu yang sesingkat-singkatnya.
4.3
Tools
•
AMP
•
GTMetrix Page | 13
4.4
Pengujian
4.4.1
AMP (Accelerated Mobile Page)
Nm Website
Valid AMP
Information Kecepatan muat
1
KasKus
Tidak
situs web versi mobile tidak dimaksimalkan
Page | 14
4.4.2
GTMetrix
Type
Grade
Information
PageSpeed Score
F (17%)
Sangat lambat
Yslow Score
F (39%)
Sangat lambat
Fully Loaded Time
24.3 detik
Sangat lambat
Total Page Size
7.34 MB
Sangat lambat
Request
707
Sangat lambat
Page | 15
5.
Security Testing (Privilege Escalation and Vulnerability Scanning)
5.1
Deskripsi
Teknik pengujian yang dilakukan dalam menentukan suatu sistem guna melindungi data dan mempertahankan fungsinya sebagaimana dimaksud sistem pada umumnya. Dengan melakukan pengujian keamanan, memang benar tidak menjamin bisa sistem aman. Akan tetapi, penting untuk melaporkan adanya celah keamanan dari hasil pengujian keamanan, untuk segera ditambal. Masalahnya, apabila ada pihak yang tidak ter-otorisasi berhasil masuk ke dalam sistem, bisa membahayakan sistem itu sendiri, karena bisa merusak sistem. Seperti yang kita ketahui, hak akses sistem hanya terbatas pada administrator. Pengguna hanya bisa mengakses dan mengoperasikan fitur yang ada saja.
5.2
Tujuan
Tujuannya, untuk memberikan evaluasi mengenai status keamanan yang dimiliki oleh sebuah sistem. Security testing juga bisa menyingkap kelemahan sebuah sistem dan selanjutnya bisa ditindaklanjuti untuk segera ditambal.
5.3
Tools
•
Mozilla Observatory
Page | 16
5...