Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Baparekraf Developer Day 2022 - Back-End (Dimas Maulana Dwi Saputra)

Baparekraf Developer Day 2022 - Back-End (Dimas Maulana Dwi Saputra)

Dimas Maulana Dwi Saputra (Curriculum Developer - Dicoding Indonesia)

Judul:
Mengenal Sosok Automation Test

Informasi event: https://www.dicoding.com/events/4398

Dicoding Indonesia

April 12, 2022
Tweet

More Decks by Dicoding Indonesia

Other Decks in Education

Transcript

  1. Topik Pembahasan 1. Mengapa Pengujian (Testing) Software Penting? 2. Mengenal

    Software Testing. 3. Mengetahui Metode Testing dan Langkahnya. 4. Tingkatan pada Automation Testing. 5. Mengetahui Software Framework yang ada di beberapa bahasa pemrograman. 6. Mengenal Kultur TDD.
  2. CH-47 Chinook Crash (1994) Killed all 29 passengers Ariane 5

    Flight Fail (1996) $370 million lost Therac-25 Radiation Overexposure (1985) 3 patient died due radiation Sumber: SolarWinds pingdom - 10 historical software bugs with extreme consequences
  3. Software Testing Software Testing is a process used to identify

    the correctness, completeness, and the quality of developed compute software. Sumber: Difference between Software Testing and Software Development
  4. Mengapa Perlu Pengujian? • End-User tidak boleh menjadi Tester. •

    Mengetahui kesalahan/bug lebih dini. • Meningkatkan kepercayaan diri ketika merilis aplikasi.
  5. Langkah Manual Test pada Kode 1. (Opsional) Persiapan (data, koneksi,

    dsb) 2. Menjalankan Method yang hendak diuji 3. Memverifikasi hasilnya 4. (Opsional) Membersihkan perubahan data disebabkan oleh tes Seluruh langkah di atas dilakukan secara manual oleh aksi manusia dan tidak reusable.
  6. Manual Testing is not always effective. • Rentan terjadi human

    error (masalah ketelitian). • Tidak Reusable. • Test Fatigue (melelahkan).
  7. Jadi, Apa itu Automation Test? Automation test merupakan proses pengujian

    yang mengotomasikan seluruh proses pengujian yang dilakukan secara manual. Pengujian yang dilakukan secara otomatis akan meminimalisir human error dan dapat reusable.
  8. Mengapa Automation Test? • Sekali dibuat, dijalankan berkali-kali (reusable). •

    Tidak ada lagi human error. • Sebagai Safety Net jika terdapat perubahan kode. • Dapat diintegrasikan dengan alur rilis aplikasi (CI/CD).
  9. Langkah Automation Test pada Kode 1. (Opsional) Persiapan (data, koneksi,

    dsb) -> dilakukan dengan satu kali konfigurasi. 2. Menjalankan Method yang hendak diuji -> dapat dijalankan berulang. 3. Memverifikasi hasilnya -> diverifikasi oleh sistem. 4. (Opsional) Membersihkan perubahan data disebabkan oleh tes -> dilakukan dengan satu kali konfigurasi.
  10. Test-Driven Development (TDD) “When you create your tests first, before

    the code, you will find it much easier and faster to create your code.” - Extreme Programming
  11. Tahapan TDD: 1. Membuat test. 2. Menjalankan test dengan hasil

    yang gagal. 3. Menulis kode apa adanya untuk membuat tes menjadi lulus. 4. Menjalankan test dengan hasil yang lulus. 5. Refactor kode sebelumnya dan pastikan pengujian tetap lulus. 6. Ulangi.
  12. Konsep Penting Lain Ketika Menerapkan TDD: • Keep It Simple,

    Stupid (KISS) • You Aren’t Gonna Need It (YAGNI)