Pengujian Perangkat Lunak (Software Testing)


🎯 1. Pengertian Software Testing

https://images.openai.com/static-rsc-4/egeYvDLZuV4qCNQxaRWsSun7XrnY-b2peBJv4doax_0yW4aAOPxoGgX3arLGna_BKrO_4O8B3ZIzdrMyWePdfzByoXx1lRe-sB6GOvcy3nFNmpIGCoc8HU4VVQsSwv7GRap5jS2eHKD9tAB8OSWEp_h784hV-_fet8SjmXNrOG2jRvkq0QXKDGefF_ZXYOJK?purpose=fullsize
https://images.openai.com/static-rsc-4/TggX4kYljJA3Zg1b9PJfl36lmOhRfTO4b2Fk-XdMcPh-yc_xT20DfFVz_DBMrI-a0voORP1niSck3ggOFc6gnFUYZ7zLxUQtM5Stbm6Uzm1phGzUIcamCJY2-59z-l6bF6t4Af2qvIBYYSYemALiHwDyuys3OZ6aIF9DmWCYhOUqvE2HatPNJ9pP9Vjh2SWc?purpose=fullsize
https://images.openai.com/static-rsc-4/H7lZTjOD16kJ7sBm-SyzWcdgWOgqFCvNySZUD5WnZCoQRc_J2B4xKQYdGQkaSpeu9Prdw-r9aNJcxwX272_cj9R7QrPB-qWgc8JOmXXqQZBgTKog5rld5YL9KPe9x637qx_T8e5-dNt24LI_jOJc5dqNep0_Q6k7Fmfmd4j8Q42eYtD85Oo_NJegbpCUB7Xy?purpose=fullsize

6

Software Testing adalah proses dalam Rekayasa Perangkat Lunak untuk mengevaluasi dan memverifikasi bahwa perangkat lunak bekerja sesuai dengan kebutuhan (requirement) serta bebas dari kesalahan (bug).

πŸ’‘ Narasi:

Testing bukan hanya mencari kesalahan, tetapi memastikan bahwa sistem memberikan nilai dan pengalaman yang benar bagi pengguna. Software tanpa testing berisiko tinggi mengalami kegagalan saat digunakan.


🎯 2. Tujuan Software Testing

TujuanPenjelasan
Menemukan bugMengidentifikasi kesalahan
Menjamin kualitasSoftware sesuai standar
VerifikasiSesuai spesifikasi
ValidasiSesuai kebutuhan user
Meningkatkan kepercayaanSistem lebih reliable

πŸ’‘ Narasi:

Testing adalah bagian penting dalam menjaga kualitas software dan mengurangi risiko kegagalan sistem.


πŸ”„ 3. Posisi Testing dalam SDLC

https://images.openai.com/static-rsc-4/GA_Jnuv1acSzZ2Kw2fCdvNZNGxM8GyGD1cY6b40gH9T3g08-k38aA_rgAmnOghxlwgCSqEdYA3ygicvgqCIS49SbUNraaOHb6WPpLgwBPzOB4sdfoZpzdyoJT_t4JyE3ZNL8sTxp-kdynNOOmyjPkCMsmVM_iD4733HCPZlc63NPH-nXbsiJDe92GdmAd0jL?purpose=fullsize
https://images.openai.com/static-rsc-4/iEHcHhm44cy1x-lfKFGekJK8579KPw6thcUlVkVPntXxqkVruDSnTmApUPDS3plpKz0fMkENWW7p5vmnXNXbwiG72V8XFxtM4BK6xBki1jDE9yurhXew0zNZhCYhWhFtLcFmRHW05FWN2aqMmdYHvBRBrGwYZC_RRs1ACkYGQHs1G4qOnv1A0ailbWnJFtJ1?purpose=fullsize
https://images.openai.com/static-rsc-4/H2VaBWApEs6-F_bDp7jcFQX5FMZZ22yYz26oSjZosdaNkYs4W-8qXLdq5sfTMuODxP6y5ftdkQ4rGqzbScAuki80zmf_3aNXaPEcBwG2GoA-sqfo6KGWmpbKoMo2tp3VDH9nGj9lcUkuM6jheSYMuHwNGxopDw73b5oi5HkD72y7yrQdcQaa63Cg-AgqGfpj?purpose=fullsize

6

πŸ“Œ Dalam SDLC:

  • Dilakukan setelah implementasi
  • Bisa dilakukan paralel (Agile)

πŸ’‘ Narasi:

Dalam metode modern seperti Agile, testing dilakukan sejak awal dan terus menerus (continuous testing).


πŸ§ͺ 4. Jenis-Jenis Software Testing (Berdasarkan Level)

https://images.openai.com/static-rsc-4/iuFQewcAZzvT1wDMgZ2OYkt9Cafn7EIfU95H6XEi6fSfhg_qstgd_Wkke477mDGCQGrUkHLmo40o8WoVUppzNoRd1ezyfU2td8StbHir4nipggK3QFgP5swkMxutrrDyT59xbjKvC_2TxwMcIjwqGuGj_XgNKq0lD4vmQVzPzMWS0mO6aoB2c-SVy9-MAyV6?purpose=fullsize
https://images.openai.com/static-rsc-4/nZZ0_RbjROtYmTnWXCHLu9pxZZ_ymsaKqj0Nt-cAHyfqaqkDcVF7sxi3wBMCRJwd5ovym-8mN6xTd5VOxq8mFsXJQgs2H0g8TaQgjZzyARp-LMi4jHgYRMuA14dmwjsVNiEe0WoJ4qeZlDpOsXj1CoOnzAihHCw2lVGS-_6N032hq4kqwAPHH7pFIPT0JepP?purpose=fullsize
https://images.openai.com/static-rsc-4/kmsn7wHTRokeGg1aPkz-1qcxODiCWCxsBywSdPcePiV5_NgcnHNBzNruVpDZmqwIpTmPoBoF6hYHqiKrPS8rve_mi7flQ9t60TJfYKIOgS3hE_T9wYtttcqv0ew6TLLBVdZ0zTDVScF-sYyXYBWuqzyLyQTScQoFWhdOtjRFwk09c2dpqx2NwMkVYA1NeH6P?purpose=fullsize

7

πŸ“Œ Level Testing:

  1. Unit Testing β†’ Menguji unit kecil (fungsi/module)
  2. Integration Testing β†’ Menguji integrasi modul
  3. System Testing β†’ Menguji seluruh sistem
  4. Acceptance Testing (UAT) β†’ Pengujian oleh user

πŸ’‘ Narasi:

Setiap level memiliki tujuan berbeda dan saling melengkapi untuk memastikan kualitas sistem secara menyeluruh.


πŸ” 5. Jenis Testing (Berdasarkan Metode)

πŸ”Ή Black Box Testing

https://images.openai.com/static-rsc-4/W7mUG1iZ830r8ANhsI5QGIeOL0-Htk_wXhNgmJ-CZ3FfSjc5IY5w4wnJCQjD414jZm94wWvwBUPZUqQ4ZxYB1K7fYSQuXzdRBn0L7ZZutyANof3evYgWWEw8MEx6dxCg27-_OIiNDYkDGUwKlk7D9P15bOrY7z2fnuOEtQJTncR8PoWLnYO97tKX2tIvshD7?purpose=fullsize
https://images.openai.com/static-rsc-4/8XT3DOKrpd4CImKJ8hUpYcaDnXWNewWRW7j6FQ6afCa0RdOyevW35SRHoGJofEvP5OlcAlOEvWIv_5EUm5LUd7LKccY1wcP2y5ilIjdHBRmVrSXrjnkIj9oPtFN-ED7p1uiqOMgHxmI5sZf5BF2PmFb4bB7OQKnv0XzJ35BR1eopEoQrAK21BuDxPipMdQOv?purpose=fullsize
https://images.openai.com/static-rsc-4/8NFoOik8C2n3zkQKdVlpy5doW_M7dQl1O4cCUCNIHHav6vIH1fCNBBxUtFbtH_HzDrun4lGkG_r3vFU9YMYw1AIGR1APWxy0HjWMZIVJCxCAau7j9h_81IwLtaHVDXC5uWSoR1HaUGn5g0vSLnyZpOZQ-M-nyHg9qSEmsOGunSCC-yjHQTcckEpbvwTZlom1?purpose=fullsize

7

  • Fokus pada input & output
  • Tidak melihat kode program

πŸ”Ή White Box Testing

https://images.openai.com/static-rsc-4/KxvAQ_XQMQzMtN6gcger8Q5yolULn4UywbE7JUvPxNZRm6voinhCPj5TfEVrpJHpLBWairi7qOiSRYWmCdm1lw_3o6gujdS-hwxnPlA4QVrizkPjngMtk8GCutpayyiRe_RlxXTsVRS9oUit2YBzJBpbCaHGPaZU3KPzpQ-V63ontlL-JF3YNEqrxXCDbWOY?purpose=fullsize
https://images.openai.com/static-rsc-4/Sqqdd9YxdwImYZ3MvRc2f3vVMZpitZhLxcForCZjmN9StTMmF9wBazp5mqTFu9AVVgiqXdGuWF7MnB32us0T6pbBYE41RR_FKEDwvx4kw7APRzpo-hTqZuKUUIDmNx4y6z_heS-apUxnsLcTaWcDjQJhZjoWMZTTQdmu6W4dVoqwkLwvAsybhSJkEg1Y6uud?purpose=fullsize
https://images.openai.com/static-rsc-4/2XbWRwMOrc-ZZGh5mcW9ipIHUsEUhNS2AFcCliBAKwI8YntBV9226kAEnZtfLqp_QnYolsGBFHOyoRKx2i6jxHafIOEavl_1JyKAT-Rn1g-UHo4cc_nazBK8Z8rp5BLRKamp9dSCDz8oDOF__lojxy7Ojvh2qujq9QGP58hFVWKpOm9lJyIZtuQd-hMClQjy?purpose=fullsize

6

  • Menguji struktur internal kode
  • Fokus pada logika program

πŸ’‘ Narasi:

Black box melihat dari sisi pengguna, sedangkan white box dari sisi developer.


βš™οΈ 6. Teknik Pengujian

πŸ“Œ Teknik:

  • Equivalence Partitioning
  • Boundary Value Analysis
  • Decision Table
  • State Transition Testing

πŸ’‘ Narasi:

Teknik ini membantu membuat pengujian lebih sistematis dan efisien.


🧾 7. Test Case dan Test Scenario

https://images.openai.com/static-rsc-4/9XDX2qBY80y6_eL7rljiNQWcAvAngKOPhcNGa9jujTY3rBPSq9RVyaYBqp45Ys7VJReAS63Me1mO6h5iKxjec9eM-i5kJWC-DKvdqpUQV2gTZQo_Ts095n-k9F5fdl_aULyFZLe9jogYhVc2LejqakloYe5uRcfjGI8eYu6kUCR7DulIAZhKdjEJcg1ULiJj?purpose=fullsize
https://images.openai.com/static-rsc-4/7BfQJ0CJM2_mjSmZy9DpCJ21F9m-Aolwc5-tj6GTHq6wdUsz1xt5WHw4ZRxNclOTZiJDPX0R5iaNvSDpt1UguJSj6RQTwH4_TdvMQj1Y0ub5bZWCrV5YJOQqH18lo0NtHKB8zwB-NQHw_YQcUyzKg3GVvxoHh7mqbneSEwpdDDhEZRV_kxgrBzFo4JfPlUL_?purpose=fullsize
https://images.openai.com/static-rsc-4/7e0bVDi7xjRW_REFmx30W-qEwhZ8wpH99wU-k3V8OhOHoXT-cD0cZjP5SP5WT08g2_FD3PmVaA5RcggtZwq4OBFTyUj_aZ58KM4MNf7qSAEdVSvgEVzfXhRUf_9nUumpUqGnwfhydB6tTQuncLM4ZDAvy5uFr_ZV2u1aGNbrNShKfqrHoac90idmUnk5qO2K?purpose=fullsize

8

πŸ“Œ Test Case:

  • Input
  • Expected output
  • Actual result

πŸ“Œ Test Scenario:

  • Gambaran umum pengujian

πŸ’‘ Narasi:

Test case adalah dasar utama dalam proses testing yang terstruktur.


🐞 8. Bug dan Error

IstilahPenjelasan
BugKesalahan dalam program
ErrorKesalahan manusia
FailureSistem tidak berjalan

πŸ’‘ Narasi:

Bug adalah hal yang pasti terjadi, yang penting adalah bagaimana mengelolanya.


🧰 9. Tools Software Testing

https://images.openai.com/static-rsc-4/iI2B1sOaTB2KUkxmil73x0cT9BbXefEo8pzX7SviyLlyU0JkoMKE8BIGjpz40VBZv7QlejsIshQVbE0FcivbLVb9fg53jovrVF1C4EDcYX-iT9MAVRo_Verpg7pDvhdl25NqCkGH6dPbHExwd68z8uUc5_-dm5_9tYkCmOj5fFCyUkqvugUrWvoabRcnhz4w?purpose=fullsize
https://images.openai.com/static-rsc-4/Qm3xrXfU1O3tlcV-vkU5OBQDB6vlY0kH_UZETW5_QnS1JsbyMnSqkTC-JszSyp34vBOHlPNMdV30EfAINfq26kFM57T2YGdeaq3qln6SWaiow99C8dWE6VFKljoWJSsbT5oEB3ZjoJLsT_SLABx7bL_AhBxd9I31_DCCNAO2edIKDnaeoHfusRSMpwupiVsK?purpose=fullsize
https://images.openai.com/static-rsc-4/pbBIJUJQLls7hrk2VVw68MITPHkAvSriTqO8DgVpLx3FRl62_iGQk9I5b4L-nSuXX-9ckAYtFmFCXNSW_VzV2MzBTptjVgRWi2SmF76VjWh-HeAf6NLUIOjeRWC2s9o8xED-eKDKG7ekvzqwkvGhE_hpUHCoorCba-J5TNgdE0FqESAYL_jZbwA6AzdveOgM?purpose=fullsize

6

πŸ“Œ Tools:

  • Selenium
  • Postman
  • Jira

πŸ’‘ Narasi:

Tools membantu mempercepat dan mempermudah proses testing.


πŸ”„ 10. Software Testing Life Cycle (STLC)

https://images.openai.com/static-rsc-4/DN25Dw9subFO_e4MC1WIKybhNReyni7JIBhSFT14mPf3mpE992c7s_USoY6pq3ivuwAd5viuTBYekSqmsp8h8mSyB9sqOC9fiegitOyFIZ4qd1FfkhI3-bj8VjFvwTbwPXiOILXjHquhMC87ZdsWcy5Oq1K17vkQmRL18DRw42yik8ZUiELMFoQjK4tHC49X?purpose=fullsize
https://images.openai.com/static-rsc-4/Et7HFvhhApyj9Rd4zUur2EjA_9z-DsdVxKYhkSo6LUynT7dONnMmqbjFsDDcGL-TwJo_FvafF0x0Ey8E_w-TZ1peRQc_twszIdT3rgk1b2Xht5Q5u_P3cCf_rsGoLA5D7Hvtf4qjZbxoywxbzxKfP7AjOFlMgCjy-8N7IEPafJoytKB_elylmw7BiZ7VOJiD?purpose=fullsize
https://images.openai.com/static-rsc-4/GA_Jnuv1acSzZ2Kw2fCdvNZNGxM8GyGD1cY6b40gH9T3g08-k38aA_rgAmnOghxlwgCSqEdYA3ygicvgqCIS49SbUNraaOHb6WPpLgwBPzOB4sdfoZpzdyoJT_t4JyE3ZNL8sTxp-kdynNOOmyjPkCMsmVM_iD4733HCPZlc63NPH-nXbsiJDe92GdmAd0jL?purpose=fullsize

7

πŸ“Œ Tahapan:

  1. Requirement Analysis
  2. Test Planning
  3. Test Case Development
  4. Test Execution
  5. Test Closure

πŸ’‘ Narasi:

STLC adalah siklus khusus dalam testing yang berjalan paralel dengan SDLC.


πŸ“Š 11. Perbandingan Testing Manual vs Automation

AspekManualAutomation
KecepatanLambatCepat
AkurasiBergantung testerTinggi
Biaya awalRendahTinggi
Cocok untukExploratoryRepetitive testing

⚠️ 12. Tantangan Software Testing

TantanganPenjelasan
Waktu terbatasDeadline ketat
Kompleksitas sistemSulit diuji
Perubahan requirementTesting harus ulang
Bug tersembunyiSulit dideteksi

πŸ§ͺ 13. Studi Kasus

πŸ“Œ Sistem Login:

  • Input benar β†’ berhasil login
  • Input salah β†’ error

πŸ’‘ Narasi:

Kasus sederhana ini menunjukkan pentingnya validasi input dalam testing.


πŸ“ˆ 14. Alur Pengujian

TahapOutput
Test PlanningRencana testing
Test CaseSkenario uji
ExecutionHasil uji
Bug ReportDaftar bug

🧠 15. Best Practice Software Testing

  • Lakukan testing sejak awal
  • Gunakan automation
  • Dokumentasikan test case
  • Lakukan regression testing
  • Kolaborasi dengan developer

πŸŽ“ 16. Kesimpulan

  • Software testing memastikan kualitas sistem
  • Terdiri dari berbagai jenis dan metode
  • Merupakan bagian penting dalam SDLC
  • Membantu mengurangi risiko kegagalan

πŸ’‘ Narasi Penutup:

Mahasiswa harus memahami bahwa testing bukan tahap akhir saja, tetapi proses berkelanjutan untuk memastikan software benar-benar siap digunakan.


πŸ“Œ 17. Latihan / Diskusi

  1. Apa itu software testing?
  2. Sebutkan level testing!
  3. Apa perbedaan black box dan white box?
  4. Jelaskan STLC!
  5. Berikan contoh test case sederhana!

πŸ“Ž 18. Tugas Praktik

  • Buat test case sistem login
  • Lakukan testing manual
  • Gunakan Postman untuk API testing