Serba Serbi Pengujian: Vitest, Jest, dkk
Ringkasan Episode
Bantu KoreksiEpisode ini membahas serba-serbi testing di ekosistem JavaScript, mulai dari alasan kenapa testing penting sampai perbedaan jenis-jenisnya. Pembahasan menyinggung konsep testing trophy/pyramid, kapan unit test cocok dipakai, serta kapan lebih masuk akal menggunakan integration atau end-to-end testing untuk memastikan alur bisnis tetap aman. Ngobrolin juga mengulas tool dan praktik populer seperti Vitest vs Jest, snapshot testing beserta pro-kontra dan konflik yang sering muncul, serta strategi coverage dan CI/CD agar kualitas tetap terjaga. Di sisi lain, ada diskusi tentang trade-off: biaya maintenance, over-testing, dan kapan "cukup" itu cukup. Beberapa contoh praktik seperti Playwright, mocking, dan visual/regression testing ikut dibahas untuk konteks real di proyek.
Poin-poin Utama
- β’Testing dibahas dari sisi tujuan: mengurangi risiko bug dan menjaga alur bisnis tetap aman
- β’Konsep testing trophy/pyramid dijadikan kerangka memilih jenis test
- β’Perbedaan unit, integration, dan end-to-end testing serta kapan masing-masing dipakai
- β’Perbandingan tool seperti Vitest dan Jest termasuk isu performa dan migrasi
- β’Snapshot testing dibahas lengkap dengan manfaat, potensi konflik, dan kapan sebaiknya dihindari
- β’Coverage dan CI/CD dibahas sebagai cara memantau kualitas, tapi tidak jadi satu-satunya patokan
- β’Playwright, mocking, dan visual/regression testing disebut sebagai praktik yang relevan di proyek modern
[musik]
Dapatkan hanya di Domain Asia
[musik]
Halo, halo, halo
Wih kok cuma berdua
Selamat malam
Gak ada ya?
Kenapa ada suaranya?
Cek, cek, cek ada suara
Oh ada
Oh
Setnya soundboardnya gak ada
Halo selamat malam semuanya
Selamat malam
Gimana kabarnya?
Muda-muda sehat ya
Nggak, gak sehat
Sehatnya sih gak tapi pusingnya iya
Gak pusing
Iya
Lagi ini ya
Lagi ada horror lagi ya
Cloudflare mati ya
Iya
Cloudflare mati
Cloudflare mati
Tidak ada yang bisa saya lakukan
Cuma memantengin
Status page
Ketengah internet mati kali ya Cloudflare mati ya
Lihat transkrip lengkap (2727 segmen lagi)
Nggak sih
Jadi
Beberapa klien
Dari
Lima
Empatnya
Nyalak, satunya mati
Empatnya ini sepertinya
Enterprise
Jadi gak ada
Cloudflare
Oh Cloudflare
Cloudflare mereka ini klub sendiri ya
Nggak ada tergantung
Cloud provider lain ya
Infrastructure sendiri kan maksudnya
Iya mereka infrastructure sendiri
Alternatif dari
Cloudflare yang
CDN
Yang biasa kita pakai gratis itu
Oksinya apa aja ya
Ini cuma dia doang yang memberikan gratis ya
Caching
Anti DDoS
Ada sih
Yang gratis ya ada
Mike CDN kan ada
Jarang
Masih belum terlalu populer ya
Ada-ada beberapa yang
Kalau Cloud provider besar
Pasti ada semua ya
Free CDN namanya
Ada kan
Kalau yang gak terkenal
Begitu lebih sering
Begitu lebih sering down lagi
Kalau si
Cloudflare kan dia gak cuma
CDN kan dia juga
Proxy ya
Oh iya benar benar benar
Sekarang kita ke semua website
Buat apa
Nyiga scraping itu kan
Cloudflare yang ada
Tau kan yang
Apa namanya
Anti DDoSnya
Anti DDoS juga Firewall ya
Kalau
CDN murah nih hanya untuk static fire
Banyak yang
Ya gratis
Ya gratis dalam tahap bandwidth
Tertentu ya
Premium ya
Tapi kan butuhnya yang Anti DDoS
Yang apa namanya
Kalau sampai se complete
Cloudflare ya cuma
Cloudflare yang ngasih
Se complete
Cloudflare cuma
Ya cuma Cloudflare
Tapi Cloudflare itu
Mahal loh
Kalau yang berbayarnya mahal ya
Iya
Jadi
Kalau masih
Boot strapping
Atau masih baru mulai pakai Cloudflare
Yang free ya bisa-bisa
Sudah melejit
Nah siap-siap aja itu budget
Harga Cloudflare itu
Ya dibatasi per bandwidth ya
Atau gimana untuk yang free
Ya nanti
Dia silent
Nggak silent sih
Dia akan
Dia akan punya
Datanya kan kalau misalnya kita udah mulai
Naik tuh nanti datang tuh ininya
Datang tuh accountnya tuh
Ini sudah harus naik
Kalau misalnya kita masih tetap di situ
Kita bisa di-cut off
Bisa di-ban sama dia
Ya dia yang punya sistem
Kita numpang kok
Halo-halo
Halo
Cloudflare sekarang down
Iya
Yang kerjaannya pakai Cloudflare ya
Enak udah, nggak usah kerja
Kalo orang down
Iya
Jadi malam ini kita live
Dari LinkedIn
Halo temen-temen LinkedIn, dari YouTube
Kita ada 2 versi nih sekarang lagi nyoba
Ada yang portrait dan ada yang
Ranscape ya
Jadi
Kalau temen-temen yang
Yang portrait berarti sekarang muka kita digepengin
Di tengah gitu
Oh kiri kanan ya
Iya di apa
Mobile first
Jadi sekarang
Broadcast video aja responsif ya
Iya
Nah penasaran nih
Pengen tau temen-temen yang
Yang nontonnya portrait version
Berapa banyak ya
Pengen tau aja
Atau jangan-jangan lebih rame ya
Kalo liatnya di HP
Ya by default
Dapatnya portrait kan
Kecuali emang sengaja di rotate
Enggak
Jadi si YouTube ini dia
Ada 2 versi live
Mau versi yang portrait apa yang landscape
Oh user nya
Yang nonton short kali ya
Yang nonton short dapet
Notifnya atau dapet
Ada info live nya
Itu yang portrait kali ya
Nggak tau juga sih
Makanya penasaran
Kita coba malam ini
Kalo, berarti bisa kita
Ini videonya bisa juga diputar di tiktok
Di Shopee gitu kan
Jadi bisa lewat-lewat di jalan orang
Bisa kita download dari YouTube
Trus kita upload lagi dari tiktok
Dan Shopee gitu ya
Sekalian jualan konten
Shopee, kok Shopee
Kok Shopee sih
Kita jualan apa
Jualan konten
Ya harus buka toko berarti
Di Shopee, nggak bisa sembarang upload video doang
Oh kita jualan hosting
Seperti Dominicia
Kita jualan Dominicia aja
Jangan jualan hosting
Soalnya harus buka perusahaan dulu jualan hosting
Ngewah dulu
Apa nih jualannya hari ini
Jualannya hari ini kalo temen-temen
Yang mau beli hostingnya
Dominicia
Temen-temen bisa pake promo code
Ngobrolin WebDN
50% untuk semua paket web hosting
Siklusnya berlaku satu atau dua tahun
Nah yang mau nyobain cloud VPS
Yang turbo tapi ya
Itu ada diskon 50%
Jadi temen-temen bisa pake promo code nya
Ngobrolin VPSDN
Diskonnya berlaku untuk semua paket
Dan semua siklus
Dan bisa dipake
Lebih dari satu kali di akun yang sama
Bikin akun baru gitu ya
Langsung aja ke
Cek ke dominicia.com
Dan pake kodak cocernya
Tapi jangan malam ini ceknya
Lagi down juga
Soalnya
Dominicia down ya
Pake cloud flare soalnya
Pake cloud flare
Pake cloud flare ternyata
Kita kabari dulu
Terima kasih buat dominicia
Untuk dukungannya ya
Semoga baru ya
Song clip
Kalau kemarin Super Mario
Ting
Lebih enak yang ini ya
Itu terlalu banyak ya coin-annya ya
Jadi malam ini
Kita mau bahas lagi
Tentang testing
Testing
Storybook kita pernah bahas
Itu bagian dari testing juga
Visual testing
Terus
Kalau automasi web
Kita pernah sama Jiseline
Tapi itu lebih ke browser automation ya
Ada testing apa lagi kita?
Bahas testing apa lagi ya?
Oh episode 12
Tentang testing secara umum
Kenapa testing
Apa aja yang di testing
Jenis-jenisnya
Trophy ya
Testing trophy
Ya gitu-gitulah ya
Oh ya testing trophy nya
Cancy dots
Kalau dulu kan testing piramid
Terus dia ubah ya jadi
Oh sempat ada
Terusnya jadi testing
Takos ya
Kayak chip-chip yang segitiga itu lho
Terus akhirnya dia ubah jadi trophy
Lagi ngapain?
Lagi ngobrol
Ini kayaknya sama temen yang dari Portrait ya
Belum pernah ya
Selamat datang ya buat yang baru nonton ya
Ini
Acara ngobrolin
Teknologi web
Tapi emang kalau nontonnya dari Portrait
Maksudnya jadi
Reach audience baru
Atau gimana?
Kayaknya ya
Nice
Oh boleh dong, di like, di subscribe
Di share ya
Donasi juga boleh sekalian
Tidak menolak
Jadi sebenarnya malam ini
Yang pentingnya itu adalah
Update sebulan yang lalu ya
Sekitar sebulan yang lalu itu
Getes
Getes itu launching
Versi keempat
Publikasi versi keempat
Merilis versi terbaru
Versi keempat
Terus kita penasaran nih
Apa yang baru
Dan
Gimana tentang
Ecosistem testing
Secara umum ya sampai sekarang ya
Kan kita belum bahas
Tentang
Kalau dulu kan ada side press
Terus kemudian muncul playwright
Sebelumnya ada testing library
Can see dots juga
Nah ini
Apa namanya
Kita mau liat malam ini kira-kira
Perkembangan testing
JavaScript itu sudah sampai mana
Salah satunya ya Vtest dan juga
Bantusan di video
Ternyata pada ngebully bro
Oh pada ke portrait semua
Di lempar ke portrait semua ya
Emang bisa ya
Ya makanya ini baru kan tadi dibilang
Nah cuma kalau jadi
Kirain cuma jadi kaya
Dua format tapi satu stream
Komennya sama
Streamnya beda
Jadi dua stream yang berbeda
Oh iya ya ini yang komen dari
Portrait semua ya
Sama berarti nanti like sama komennya
Gak pecah jadi dua kan
Kayaknya iya
Coba kita liat ini ya
Ya namanya expert
Kurang ini dong ya
Makanya
Kurang oke ya
Coba buka satu lagi ya
Kalau buat anggap aja
Ebi testing sih cuma berarti
Ya video idea nya
Beda
Oh ya
Video idea nya beda
Cukup kali ini aja
Cukup sekali aja lah
Jadi kalau temen-temen yang di
Portrait mau biar
Nggak kelewatan minggu depan
Disubscribe dulu
Sama nyalain notifikasinya ya
Tapi rame yang di
landscape gimana dong
Eh yang di portrait
Justru rame ya
Oh ada tandanya ya
Ada tandanya ya
Di komen kita tuh ada gambar
Kotak gitu
Oh iya komennya gak muncul
Ya gitu lah kita lagi coba-coba ya
Tadi buka
Di landscape buka dari app
Tapi gak ada komen tau-tau ada yang nongol di layar
Di highlight begitu buka channel
Oh di highlight ya berarti
Bukan komen
Bukan yang di highlight itu komennya
Oh komen yang di highlight
Nah terus tadi mas Jain
Mas Jain bingung kenapa di komennya
Di komen yang apa
landscape kosong
Tapi kok ada komen yang dinaikin ternyata
Komennya di portrait
Ada-ada
Terus kenapa
Iya kenapa mas Jain di
Ikutan di portrait juga
Pindah ke portrait ya biar
Ya biar goyup
Ya biar rame
Cuma ini apa orang productnya youtube
Ada-ada aja nih pasti
Ide-ide nya orang product
Iya
Ya waktu di launching
Live youtube yang
Portrait memang
Kabarnya
Trafficnya
Lebih tinggi, ngerisnya lebih banyak
Makanya malam ini
Saya coba
Ternyata memang benar
Banyak orang-orang baru ya
Karena maksudnya mungkin biar
Ini kan cara biar creator
Pada nyoba
Giming-gimingin creator biar
Pada pakai
Portrait mode ini kan
Betul-betul
Oke
Tapi untuk format
Obrolan kita sama ada layar
Segala kayaknya kurang cocok ya
Di portrait ya
Kita coba aja ya
Jadi kecil banget
Ya makanya ini kita coba aja ya
Sambil langsung bahas ya
Sambil langsung bahas
Kita share screen dulu
Entire screen
Nah
Tadah kecil banget
Kecuali screen yang di share juga
Portrait
Ya mungkin ya
Agak kurang enak sih
Gak bisa
Gak bisa ya
Harus punya monitor yang bisa
Di rotate ya
Aduh keribet
Aneh banget
Ya
Kalau teman-teman yang
Di portrait gak kelihatan
Pindah aja ke landscape ya
Udah sekarang biar di portrait semua aja dulu
Biar apa
Buat mancing aja
Buat nyari traffic
Selebihnya
Pindah ya
Jadi pemantiknya
Sebenernya ini
Vtes Flash 4
Release sekitar bulan lalu
Terus kita penasaran
Dengan Ecosystem
Testing secara umum di JavaScript
Terutama ini testing aja lah
Untuk unit testing ya
Yang secara umum kan luas banget ya
Kita juga udah pernah berapa kali
Sekarang unit testing aja
Oke unit testing aja ya
Nah itu kan sama komennya tuh lah
Udah versi 4 aja
Iya
Emang terakhir pakai versi berapa
Eka terakhir pakai berapa? Tiga ya
Tiga cuman emang gak terlalu
Gue gak serajin itu mantengin
Ecosystem testing sih
Yang penting pakai aja gitu ya
Kan pakai dan lupakan
Karena sudah matcher
Sudah matcher
Iya sudah matcher
Jadi untuk perpindahan versi pun
Maksudnya saya pakainya 3
Terakhir hanya sekedar main-main ya
Jadi bukan
Production
Terakhir itu 3 dan
Nyaman, enak aja pakainya
Simple, belum coba sih 4
Dibandingkan dengan
Testing library apa
Nyamannya dibandingkan apa
Yang
Oh iya bisa nih
Ide nya mas Zain
Oh yang di share screen nya
Doang ya
Iya tapi yang landscape nya jadi
Tendek juga
Iya iyalah
Tapi gak apa-apa sih
Lebih enak ini ya
Berarti kita bisa digede ini
Oh enggak
Nanti aja lah
Nggak bisa ternyata
Fix in production
Kembali ke
Pernyataan Ivan tadi
Lebih nyaman dibandingkan
Testing apa
Jazz atau sebelumnya moka
Apalagi kalau dibandingkan sama moka ya
Enak-enak di test
Nah bentar dari awal deh
Gue belum pernah
Nyobain pakai moka sih
Moka gimana, sesungsara apa
Moka enak loh
Dibandingkan jazz
Gue lebih prefer moka malah
Enggak ya
Gue ga pernah pakai moka
Di front-end
Kalau di back-end
Moka mantap lah
Kalau di front-end gak tau
Karena kan
Begitu react muncul
Jazz ikutan kan
Apalagi create track app udah ada jazz nya
Gak begitu mulai
Begitu mulai
Main-main test
Mainnya jazz
Kalau moka
Saya bikin moka dimana ya
Sampai lupa apa aja yang dipakai
Keren loh
Moka itu ada reporter
Namanya yang testing
Passing fail itu ada yang
Itu bisa dilucu-lucuin
Ada gambar kucing
Itu yang terbang-terbang
Itu keren
Nah kalau gue
Moka gak pernah
Karena pertama kali belajar
Defaultnya doka perunya jazz
Abis itu mulai tahun lalu sih
Akhir tahun lalu gue inget banget tuh
Pas yang versi 3
Baru mau launching, baru beta
Cuma ya keliatannya
Emang major release mereka
Akhir tahun gitu
Akhir tahun lalu pake fit test
Langsung simple aja
Langsung simple banget dibandingin jazz
Kayak hampir gak ada
Library tambahan yang perlu di install
Config nya juga minimal
Haa itu apa lucu amat
Nyan cat ya
Nyan cat, ini ada
Plugin nya, jadi kalau
Kita tes nya passing
Dia happy
Itu doang sih
Itu doang yang bikin dia
Enak
Kalau
Tes
Balik lagi ke Ivan
Tadi kan dibandingin sama jazz
Apa yang membuat fit test ini
Bisa keluar kata-kata nyaman
Kan API nya sama
Bahkan fit test yang nyontek
API nya jazz kan
Apakah zero configuration nya
Atau lebih cepat
Atau apa
Pake jazz
Misalnya kalau kita udah
Pake jazz ya kan
Bikerasi nya gampang
Bikerasi nya gampang
Somehow gue merasa
Fit test lebih cepat daripada jazz
Nah baru mau bilang
Kayaknya belum pernah
Sejujurnya belum pernah bandingin
Sama lagi testing
Dengan kode yang sama
Gak bisa compare langsung apple to apple ya
Tapi
Maksudnya gak pernah yang beneran sampe
Computer yang sama
Computer yang sama
Kalau pake jazz berapa detik
Fit test berapa detik, sejujurnya belum pernah sih
Cuma ya itu feel nya
Kayaknya lebih cepat dan ringan aja
Sama ya itu
Sama kayak Ivan
Kebetulan
Jadi
Kalau kita mau
Pake jazz
Bukan apa-apa
Yang sama
Kayaknya
Bukan apa-apa
Yang sama
Kayaknya
Bukan apa-apa
Yang sama
Kayaknya
Bukan apa-apa
Yang sama
Konfig
Gak perlu itu tambahan
Eventualnya ada sih
Buat ngerender doma atau apa
Cuma set up nya biar bisa jalan
Dulu itu jauh lebih minimal
Kita beruntung berarti ya
Si Streamyard nya
Gak pakai Cloudflare
Kalau gak down
Iya gak bisa
Atau Youtube gak pakai Cloudflare ya
Ya jelas lah
Mokka lebih memperhatinkan
Buat asserting dom
Oh iya bener
Mokka memang di front end nya
Ribet ya
Karena kan Mokka ini awalnya
Kalau kita ngomong origin story nya
Dibuat untuk node
CS ya
Yang apa BN
Saya pakai Mokka
Buat CLI
Ininya saya
CLI Tools yang kemarin itu
Tools yang pakai ERGS
Yang Cloudflare
Ya Cloudflare CLI node
Cloudflare tools yang saya bilang
Cloudflare lagi
Tapi ini CLI command ya
Untuk connect API
Besting nya sama cover nya
Saya pakai Mokka
Mokka Istanbul ya
Gak pakai Istanbul
Saya cuma pakai Mokka
Cover nya pakai Istanbul
Harus dong
Sudah pakai
Karena gak pakai dom domen
Cepet aja untuk assesnya
Cepet ya
Mokka itu cepet
Jazz itu
Berasa agak lambat
Vitesse berasa cepet
Berasa react
Berasa bloat it
Emang react bloat it
Ya lumayan
Ya kalau react nya ditambahin semua
Packet-packet jadi bloat it juga
Ujung-ujungnya
Mas Zain yang pernah coba nih
Karena migrasi ratusan test dari Jazz ke Vitesse
Improvement 2-3 kali
Lipat
Lebih cepat
Ya memang berasa lebih cepat
Eka nya ketutup ya
Kalau ada komen
Di vertical
Dapat salam dari mas
Willy yang domen Asia
Ya maaf katanya
Kalau Flirnya lagi daun jadi domen Asia
Gak bisa dibuka
Dan sayang banget katanya mas Teza lagi pakai baju domen Asia
Oke ini nih
Kita mau bahas yang mas Zain
Highlight ya
Vitesse yang baru itu ada browser mode
Nah apa itu browser mode
Kita liat sama-sama
Ini enakan gini apa enakan gede
Bebas
Penonton kan banyak yang
Banyak yang vertical ya
Jadi kita malam ini versi vertical
Dulu ya
Jadi versi 4 ini
Sebenernya dari versi 3
Udah ada browser mode
Cuma experimental
Pake flag
Ya kayaknya pernah coba
Skill-less
Ya gak tau ya kalau use case nya yang rumit banget
Ya bermasalah
Tapi sebenernya normal-normal aja sih
Cuma emang belum
Cukup mature
Buat dimasukin ke stable aja
Browser mode ini apa
Sebenernya
Bisa di browser headless ya?
Enggak beneran ada UI nya
Di render
Oh kayak saya press yang UI ya
Gak pas nyoba itu kayak nyoba skill-less doang
Karena liat pose
Entah pose apalah
Ya maksudnya apakah itu nyambungnya sama JS
Kan Vitesse juga sebetulnya
Kita bisa konfigurkan
Bisa pakai JS DOM
Bisa pakai HP DOM
Nah terus itu tuh browser UI nya
Exactly pakai apa gak tau sih
Cuma kalau mau ngetes kayak dokumen
Atau apa lah web API
Global-global yang kayak window
Dokumen gitu itu ada
Jadi bisa ngetes local storage
Nah cuma exactly
Cara kerjanya gimana
Gak pernah tau dan gak pernah ngecek
Jadi sekarang mending di cek aja
Gak kelihatan
Gimana cara kerjanya sih
Gak kelihatan
Jadi kita sekarang lagi kayak
Mencari titik tengah
Yang nyaman buat kita di desktop
Dan nyaman juga
Buat di mobil
Nyamanya
Experimental mode
Test on production
Test on production
Real mean test on production ya
YOLO
Emang kalau leka tes dimana
Gak usah ditest udah
Gak usah ditest
Pakai perasaan, pakai feeling
Kayaknya ini gak error gitu ya
Oke
Ini ada beberapa pilihan provider
Ada playerat, ada web driver IO
Dan preview
Dia bisa pakai play
Udahik
Preview apa preview
Oh dari vitasnya sendiri ya
Gak tau
Playerat aja yang umum ya
Wait
Kalau preview dia pakai web driver
By die
Oh browser
Web driver IO
Itu kelihatannya playerat cuma untuk
Kita mau jalanin di system
CICD
Jadi kalau cuma di lokal ya
Itu vitas browsernya aja
Kayaknya ya
Import based vitas browser
Oh iya iya benar benar
Apa yang dia bukus
Pakai apa
Anyway
Wah ini berarti
Justru malah kayak
Storybook testing yang pernah kita bahas kan
Cuma ini ya
Di lokal kalau yang punya
Chromatic
Di storybook itu kan
Dia ada kayak service nya
Terus dibikin UI nya sendiri
Dibikinin UI buat compare
Tapi maksudnya kalau kita mau
Bikin sendiri visual regression
Testing sekarang bisa ya
Berarti pakai vitas
Mawadatu Riza
Halo Riza, oh mangilannya Riza bukannya
Taman namanya
Saya masih bingung
Penggunaan testing biasanya pada
Pakai di case apa aja
Jangan mention
Jangan pakai contoh counter ya
Jangan pakai contoh counter
Hello Riza
Tuduh app
Hacker news clone
Kalau di real world sih
Kalau kerjaan gue pakenya
Aku pakenya cukup simple sih
Maksudnya nggak terlalu rumit
Jadi kalau kayak yang pure function
Kayak yang contohnya apa ya
Logic lah
Logic kan macem-macem ya
Misalnya data user yang masuk
Ini itu dia statusnya
Sebagai admin
Kayak user status admin
Atau moderator atau apa level-levelnya
Terus dia authorize atau nggak
Buat melakukan sesuatu
Ya bagusnya dipisah logicnya
Ada logic yang reusable
Bisa dipakai di berbagai tempat
Nah itu ya
Apa harus ada test suite-nya
Biar ngecek test-nya
Funksinya apa
Berfungsi betul kan
Itu sebagai bagian dari acceptance criteria
Contoh real lagi apa ya
Misalnya user mau daftar
Register
Kalau regionnya beda kan
Umur apa kayak usia
Yang boleh sign up itu beda-beda ya
Jadi ya udah dibikin case-case-nya
Terus kalau ganti
Apa
Kalau ganti language atau lokal
Apa lokal itu kan format date-nya juga
Misalnya yang ditampilin
Bisa lain-lain
Ya pokoknya apapun yang logic yang kayak gitu
Itu by default gue bikin unit
Unit testing-nya sih
Sama kalau UI component
Itu jujur nggak terlalu rumit
Jadi nggak beneran
Di tes case-by-case
Karena apa
Kalau yang end-to-end itu dibikin oleh
Developer lain dan itu pakai selenium
Atau apa punya end-to-end
Tapi kalau per component-nya misalnya
Apa ya, text input
Button atau semacamnya
Cuma ngecek di render dengan betul
Tanpa error atau nggak
Sama ya itu paling biasa ngecek satu
Apa, satu text label
Atau apalah, jadi ngetest bahwa
Komponennya berhasil
Dikantilin sesuai
Ya sesuai yang kita mau
Cuma misalnya kayak ada state-state-nya yang ditoggle
Isu-nya berubah itu jujur
Gue nggak pernah bikin testing-nya sih
Itu
Kalau contoh penggunaannya
Mungkin Ivan Risa
Kalau saya
Component testing
Jadi ya
Kayak si Eka bilang tadi
Kalau misalnya
Di render
Button di render
Nanti hasil render-nya
Di sesuai
Di cek bisa kerender apa nggak
Lalu
Snapshot
Kalau Jazz kan ada snapshot testing
Di Vtes juga ada
Compatibel ya snapshot
Nah ini yang meng
Oke saya jelaskan dulu
Snapshot testing-nya gunanya
Yang saya pakai gimana
Jadi misalnya
Saya generate sebuah
Kalau page mungkin kegedean ya
Karena bisa macam-macam state-nya
Anggap aja
Search bar
Search bar ya kan
State-nya search bar itu
Misalnya kalau di render jadi component search
Search bar itu di render
Ada hasil HTML-nya kan
Terus HTML itu di snapshot
Jadi kalau misalnya
Ada perubahan
Ada kelas yang nambah
Maka
Di test yang berikutnya akan ada
Dia akan lempar
Warning atau error
Ada perubahan HTML nih
Lu mau pakai
Ini bener nggak? Kalau bener
Snapshot-nya di update, kalau nggak bener
Berarti ada yang salah
Di dependensi
Di dependensi search bar itu
Ada menambahkan HTML tertentu nih
Gitu
Namun
Yang terjadi ya
Itu gunanya
Jadi bisa early detection
Kalau terjadi
Salah perubahan rendering
Atau salah rendering
Nah itu bisa ada cerita horror-nya
Atau apa
Kalau udah reflex
Wordcut-nya itu u update
All snapshots
Terus kalau kita buru-buru
Dan ah kayaknya bener u berubah semua
Padahal itu bukan
Itu ternyata salah
Jadi ya itu human factor ya
Itu misalnya kesalahan
Tapi maksudnya itu
Feedfold-nya snapshot testing itu
Kalau udah muscle memory
Kalau udah merah
Betul
Kita commit
Kita commit kan
Commit-nya ke git kan, ke repo kan
Karena snapshot itu disimpan semua kan
Yang terjadi adalah
Seringnya saya update, sana update
Beradu snapshot-nya
Misalnya 1 team
Nge-update
Different component
Tetapi
Component A sama
Component B itu dipakai
Dibikin search bar tadi misalnya
Anggap aja 1 text
1 button ini over-simplified
Ya kita ya, karena component kita kan
Bisa jadi kompleks ya
Over-simplified, jadi saya update button
Sana update text
Input-nya
Nah, yang terjadi adalah
Dia submit snapshot-nya dia
Saya submit snapshot saya
Kan konflik
Nah, ujung-ujungnya
Terakhir adalah
Kerjaan saya itu
Kebanyakan benerin snapshot
Ngebenerin
Konflik gara-gara snapshot
Nah, itu yang saya horror-nya disitu
Kenapa saya nggak suka pakai
Snapshot testing
Saya tinggalin
Cuman
Iya, itu harus di-use sparingly
Maksudnya
Kan itu auto-generate ya
Maksudnya itu konsepnya bagus
Tapi maksudnya snapshot itu
Snapshot bisa inline
Bisa generate
Itu loh yang di folder tersendiri
Underscore-underscore snapshot
Bisa banyak
Kalau case-nya banyak
Ya, itu file-nya jadi banyak
Nah, itu berarti kita yang harus mikir
Mana yang perlu generate snapshot file
Mana yang perlu di-inline
Dan behavior-nya gimana
Dan bukan cuma HTML sih
Apapun ya
Misalnya kita cuma pakai pure function
JavaScript
Kita mau meng-convert misalnya
Kita nge-grab data
Dari API, REST API
Terus mau kita tampilin di
UI, di front-end
Misalnya component card
Posting, blog post
Artikel atau post
Terus mungkin behavior-nya lain-lain
Misalnya kalau
Kalau user nge-post sebagai
Individu, itu tampilannya
Avatar si user
Tapi misalnya
Kalau kayak Facebook atau apalah
Atau Twitter, misalnya nge-post dari
Community atau group
Itu kan avatar-nya avatar
Community-nya kan, misalnya
Gajik yang
Ya, yang molah men-transform
Data dari API
Nah, itu bisa
Daripada ribet nge-snapshot
Resulting dom-nya
Yang misalnya kita punya
Pure function buat, yaitu
Apa, meng-convert data
Dari REST API yang segambring
Jadi data yang lebih ramping untuk ditampilin
Di UI card-nya, kayak cuma title
Avatar, sama summary
Nah, itu kan kita punya
TypeScript atau JavaScript
Function tersendiri, bisa kita snapshot
Si object-nya itu aja
Jadi bukan keseluruhan
UI yang di-generate
Ya, lagi-lagi itu choice sih, maksudnya
Jawaban sakti developer
It depends, tapi maksudnya
Dari unit testing itu bisa generate
Snapshot untuk dom-nya
HTML-nya, kayak Ivan bilang tadi
Bisa juga, ya HTML
Object aja, jadi JSON
Itu untuk snapshot
Dari snapshot itu bisa dijadikan
Oh, satu lagi
Pakai jazz
V-test juga bisa
Untuk visual regression testing
To match snapshot
Jadi ada, dia bisa
Nge-capture halaman
Atau nge-capture komponen itu
Terus nanti si
Komponen itu bisa disimpan dan
Dimatch
Terakhir
Yang paling sering ya
Unit testing, jadi per-function
Yang seperti si Eka
Bilang tadi, per-function itu
Bisa ditest masing-masing
Yang saya utamakan, saya test itu
Yang function-function yang
Yang ada
Business logic-nya aja sih, nggak semua
Function saya test
Kayak helper-helper, saya malas
Ngetest helper, jadi lebih kara
Integration testing lah ya
Jadi saya nggak mau sebut unit testing
Karena unit testing itu artinya
Per-function, per-unit
Per-functionnya di-test
Lebih tepatnya bilang
Per-function
Per-module
Jadi
Misalnya
Modul
Etucard
Etucard
Jadi kalau misalnya
Function etucard-nya, ini bukan
End-to-end ya, jadi function etucard-nya itu
Bisa dimocking
Datanya, kalau saya masukin data ini
Statenya ke update apa tidak
Saya bisa ngecek statenya ke update
Barang yang sama, di-add dua kali
Dia akan nambah kuantitinya atau nggak
Yes, exactly like that
Jadi saya test-nya
Integration
Bukan unit testing
Saya paling mah bikin unik, tapi
Sebenarnya kalau
Nge-review, nge-review PR
Suka bilang tambahin dong unit testing
Tapi kalau saya bikin unit testing malas
Kan ada LLM
Itu yang suruh buat
Sekarang itu
Itu repetitif buat LLM
Unit testing itu kan repetitif ya
Jadi itu salah satu contoh use case yang
Bagus buat LLM
Kalau boleh pakai
Suka ngomong sih sama
Colleague yang lain
Aduh ini
Function kan ini sudah mulai ribet deh
Nanti kalau mau direfactor pasti susah
Mending lu bikin unit testing
Di sebelah sana kayak udah menggrutuh nih
Ya Elam
Bikin unit testing lagi
Terus akhirnya dia balas
Nanti dia nge-review PR gue
Ini juga, ini kayak perlu unit testing ya
Gua bikin lagi unit testing
Balas-balasan
Iya
Nah ini ya
Itu kalau ngomongin mau unit testing
Atau integration testing itu ada
Artikel menarik dari
KenC.Ya silahkan dibaca
Nah, kembali
Ke pertanyaan ya
Sebenernya ini pertanyaannya adalah
Apa ya
Sebenernya fungsi testing itu untuk apa kan
Ini saya setuju sekali nih
Bisa buat dokumentasi
Jadi case apa aja
Yang di tes adalah case yang berhasil
Dan juga case yang gagal
Kalau berhasil itu apa ya
Test itu kan kayak kita
Sebenernya kata-katanya
Agak kurang, bukan kurang sih
Test itu kan uji coba
Pengujian gitu kan
Kalau ada lagi
Mas Hap yang berbeda dia menggunakan
Kata-kata spek
Jadi kita nulis spesifikasi
Dari sebuah program atau fungsi
Spesifikasi
Ya, jadi misalkan
Kita mau bikin
Fungsi tadi add to cart
Memastikan kalau
Barangnya sama
Kalau di add 2 kali 3 kali
Maka nambah quantity
Tapi kalau barangnya berbeda
Quantity nya tetap, tapi nambah item
Itu kan
Keinginan kita kan
Sesuai ekspektasi kita
Kalau barangnya sama, quantity nya nambah
Kalau barangnya berbeda, item nya nambah
Itu yang di tes
Sebagai salah satu contoh
Karena mumpung karena ingat shopping cart ya
Saya tuh pernah
Membuat tes buat
Shopping cart juga
Tetapi karena
Ada sistem kayak bundling
Jadi ada bundling kalau
Beli 3 gratis 1
Atau
Beli 2 diskon
Wah, ada diskon nya juga
Ya, maksudnya ada
Promo kayak beli 3 gratis 1
Nah, yang susahnya itu adalah
Ini
Toko kacang mata
Dan jualan contact lens
Jadi jualan contact lensnya
Mata kanan, mata kiri bisa dibeli
Berbeda
Berbeda
Akhirnya
Akhirnya, saya yang bisa lakukan
Mata kanan dan kiri juga bisa lain kan
Mata kanan dan kiri bisa beda minus nya
Dan kiri ada plus nya
Jadi kalau di contact lens itu kan sepasang
Jadi kalau misalnya dia
Kaki kanan kiri gak bisa ya
Iya, kaki kanan kiri
Bisa juga ada yang bisa beda loh
Iya tapi jarang lah
Di banding mata
Ada, makanya bisa beri custom
Sepatunya custom
Maksudnya statistically insignificant
Lanjut
Jadi, karena
Basis logicnya
Terlibat, akhirnya
Saya dan tim itu memulai dengan
Membuat logicnya dulu
Kalau misalnya
Beli sekian, hitungannya sekian
Beli sekian, hitungannya sekian, beli sekian, hitungannya sekian
Lalu, kerjakan lah
Programnya, atau logicnya
Code nya
Lalu bikin lah testnya
Nah, salah satu
Keunggulan, kalau kita sudah
Buat kode dan ada testnya
Itu kayak
Merasa selamat, oh kode kita jalan
Kedua
Confident ya, yakin ya
Iya, kedepan untuk maintenance
Atau merubah sesuatu
Refactor
Refactor, atau mau menambahkan logic lain
Memastikan
Kalau logic kita yang lama gak rusak
Minimal
90%
Masalah itu sudah ditangani
Dan ditangkap sebelum masalah itu
Terjadi, meskipun
Masih ada faktor X yang lain ya
Yang
Isu yang edge cases yang
Gak ke cover, atau memang
Harus dirubah
Tetapi, 90%
Masalahnya sudah
Kalau kita punya
Testing, integration testing ini
Cepat kita dapat
Sebelum dia terjadi masalah di production
Sama, ada bonus
Confident sih
Kayak kalau use case yang Ivan bilang tadi
Itu kan pasti logicnya
Ditulis, ya misalnya
Kalau JavaScript, TypeScript dev ya
Pakai TypeScript, maksudnya
Ada fungsinya terpisah kan
Bayangin ribetnya kalau
Pas kita lagi develop
Setiap mencoba betul atau enggak
Kita harus beneran dari UI
Dulu, misalnya kita punya Next.js
App, atau React App, atau apalah
Terus kita harus jalanin app-nya
Yang mana nyambung ke API
Terus kita harus add to cart
Beneran, buat ngecek
Product yang betul, diskonnya
Betul, ribet
Udah ribet, makan biaya
Makan biaya, maksudnya cost
API, ya ribet juga
Harus jalanin
Aplikasi UI-nya
Nah kan, kalau ada
Unit testing itu, kalau
Kaya test driven development, tulis aja
Dulu, masing-masing
Test-nya semua, biar kosong
Dulu, sambil di terminal, jalanin
Watch, nah itu kan merah
Semua, apa, jadi
Kita nggak harus
Kita nggak harus bikin di console
Log, atau semacamnya
Dari browser dulu, kita belum berurusan sama
Browser lama sekali, kita mastiin
Logic-nya berfungsi
Sesuai ekspektasi, ya udah kan enak
Sambil ngetik di IDE
Sambil liat
CLI di samping kita, satu per satu
Makin lama, hijau semua
Nah, di situ kita tahu
Siap buat, ya kalau pun kita mau
Ngetes, disambungin ke UI
Minimal kan, fungsinya udah jalan semua
Buat convenience juga
Lebih percaya diri, intinya
Code-nya kita yakin
Bahwa code-nya itu sesuai dengan harapan kita
Ini, Dita
Yakin, deploy
Dengan lebih percaya diri
Kalau pede, berarti bisa dong
Deploy hari Jumat
Berani nggak?
Kalau terpaksa
Terpaksa saya, deploy-deploy aja
Tapi dengan syarat
Kalau ada apa-apa, gue cuma bisa rollback
Tapi gue nggak mau beres-beresin
Ada syarat
Ini juga kalau udah isu kan, enak
Nyalahin, ngeblame
API-nya tuh, kayaknya
Karena kita bisa langsung ngecek kan
Jalanin aja, apa
Semua unit testing yang udah kita bikin
Kayak apa
Ya itu fungsinya jalan dengan betul atau nggak
UI-nya kerender atau nggak
Ini jalan, API-nya kali tuh
Service-nya, atau infra-nya
Kita bisa lebih cepat
Nyalahin orang lain
Nyalahin teman kerja lain
Dan ini juga, selain lebih
Percaya diri, lebih percaya diri juga
Kalau kita mau refactor
Ada perubahan code, seperti yang Ivan sebutkan tadi
Itu sangat penting
Jadi pastikan
Sebelum refactor
Test-nya
Berjalan baik dulu
Atau bahkan
Kalau ada bugs
BDD
Bugs Development
B-I-P-D-D
Untuk memastikan supaya bugs-nya nggak muncul lagi
Kita perlu menulis
Testing untuk
Memastikan bugs-nya nggak muncul kan
Maksudnya gimana, gimana
Jadi misalkan ketemu bugs nih
Terus
Untuk supaya
Kadang-kadang kita perbaiki
Bugs-nya, nggak kita test
Bugs-nya udah bener atau belum
Terus kita perbaiki bugs yang lain, regression tadi
Jadi biasanya
Testing-nya juga ngetest
Bahwa bugs ini tidak terjadi lagi
Kan biasanya
Kalau ada bugs, pasti ada
Steps to reproduce
Steps to reproduce
Ada laporan
Kalau misalnya laporan bug yang
Ticket misalnya, ada bug nih, ada issue
Yang pertama kali cara
Nge-reproduce bug-nya itu gimana
Yang susahnya itu udah dapet ticket, kalau
Bug-nya itu intermittent
Walaah itu
Gak bisa reproduce, nanti aja
Ada bug nih
Tapi nggak bisa reproduce, kita bisa lihat nih hasilnya
Salah nih
Terus cara reproduce-nya gimana, nggak tahu
Itu susah
Tapi biasanya kan
Kalau normal bug ya, bug
Steps to reproduce
Si A ngapain, ngapain step-step-step-step
Oke, hasilnya
Yang terlihat ini, harusnya
Expected result-nya begini
Nah itu
Selanjutnya
Kalau misalnya sudah
Biasanya
50/50 sih kadang
Saya minta, oh bikinin lah
Bikinin lah test-nya untuk
Prevent supaya bug itu
Tidak terjadi lagi
Atau test-nya diperbaiki
Wah, tanyaannya bagus-bagus malam ini
Luar biasa
Kayaknya short lebih banyak ini deh
Lebih gampang
Artificially inflated sama Youtube
Biar pada pake bukan short
Sebagai seorang programmer, sejauh mana saya harus
Menulis script test
Dan sampai batas mana saya bikin unit test
Tergantung tanya siapa sih, coba tanyakin si dots
Kalau tanyakin si dots, harusnya bikin semua
In real life
Semua case ya
Semua case
Tercover lah gitu ya
Bener gak?
Itu, kalau unit test-nya
Kalau unit test
Makanya yang namanya coverage ya
Kalau Mocha dengan Istanbul
Ada coverage kan
Sampai semua
Function-nya itu ada
Testing-nya
100%
Coverage, bahkan ada sampai
Dijual kan itu, maksudnya kata-kata itu
Dijual?
Misalnya kenapa
Projek kita bagus
100%
100% coverage
Ada kata-kata itu
Jadi marketing
Biasanya
Midget Hub kan
Ada button-nya yang misalnya ijo
100% testing
Dan bukan biasanya ya
Salah satu praktik yang sering
Di pipeline CICD juga bisa
Dibuat, gak bisa nge push
Sampai semua kode
Cover sama test
Nah ini ada cerita lucu nih
Bukan horor sih ini, agak semi-comedy
Sama Mas Zain dulu
Pas bikin apa?
Bikin
Awal
Orgabantu warga
Buat apa?
Itu bantuan
Bantuan pas lagi jaman lockdown
Nah itu
Ada sistem kayak gitu
Jadi kalau coverage-nya
Gak 100%
Atau apa
Gak bisa nge push
Atau gak bisa nge merge, ya lupa apanya
Semacam itu, padahal itu kan
Time sensitive banget ya, maksudnya
Gak bisa tunggu, ya maksudnya
Info butuh bantuan
Atau mungkin tersedia bantuan
Gak bisa ditunda ke besok-besok
Itu kebetulan, pas gue yang
Bikin
Terus berusaha ngakalin
Personally ngakalin
Kode yang gak ke cover itu kayak
Dikomben, jadi satu line
Dengan kode yang udah ke cover test
Buat ngakalin sistemnya
Gak bisa
Terus akhirnya keliatannya di override
Jadi biar bisa
Push dulu
Maksud Aska
Itu salah satu
Cerita lucu dari
Coverage
Tapi sejujurnya
Kalau di in real life
Apa ya
Itu tergantung masing-masing tempat juga sih
Kebetulan kalau gue
Kalau di tempat kerja sekarang
Gak se-strict itu
Yang penting
Bisa mertang jawabin aja
Karena sebenarnya di luar itu ada end to end
Jadi kayak ada beberapa
User story yang misalnya dari awal
User bisa mendaftar
User bisa memblocose
Atau kalau mungkin diterapin
Di e-commerce, ya user bisa
Itu udah ada
Testing end to endnya
Ya kalau itu mati
Langsung kayak itu dijalani otomatis
Setiap hari atau setiap
Sekian jam ya apanya
Secara periodik, jalanin otomatis
Jadi ya
Kalau itu affected
Kalau story-story yang paling
Kalau case yang paling penting affected
Ya kita bakal tau
Dan suruh betulin
Itu lebih kayak kesadaran
Ga kesadaran sih, maksudnya
Ga ada task
Ga ada penugasan secara spesifik
Harus
Bikin testing yang meng-cover
Seluruh folder
Ya itu kalau gue sih
Standard pribadi nya itu setiap function
Ada testnya
Kadang yang ditest cuma
Happypad-nya doang juga
Atau Happypad 1, Error 1
Jadi error-nya tuh ya yang obvious lah
Pokoknya cuma buat
Tapi
Karena pake TypeScript selalu
Try catch, iya ngetest aja
Catch nya jalan atau engga
Kalau UI
UI component cuma ngetest
Di render atau engga
Oke
Untuk prevent
Error rendering aja ya
Untuk prevent misalnya kayak
Fail to render
Biasanya ngerender
Ini kenapa tiba-tiba engga muncul
Kalau dari perspektif user
Atau punya yang diluar team dev
Ga muncul itu kan error-nya dari mana
Ga tau bisa dari infra
Maksudnya tiba-tiba kosong
Apakah dari infra atau nyanyian dari front-end
Maksudnya shell-nya engga keload
Gara-gara hal bodoh apalah
Kesalahan di UI
Maksudnya react nya misalnya salah render
Ya meminimalisir hal
Seperti itu
Ya
Nah ini juga bagus nih pertanyaan
Lanjutannya nih
Kalau bikin testing
Gini apakah dari PM
Kayaknya engga ya
Kalau testing itu dari developer ya
Dan masuk ke timeline development juga
Artinya ada
Ada kekhawatiran kalau kita bikin test
Lebih
Jadi waktu pekerjaannya jadi lebih lama
Bukan khawatir lagi
Tapi sudah pasti lebih lama
Ada statistiknya
Kalau kita buat test
Untuk developmentnya itu
Akan 30 persen lebih panjang
Itu saya pernah dengar
Gimana gitu
Kalau kita nyediin test
Jadi dari 10 hari jadi 13 hari
Rata-rata ya
Rata-rata
Jadi itu happy path
Sama error satu itu
Pasti akan ada overhead
Mau sedikit
Sekecil apapun pasti ada overhead
Tapi
Maintenance ke depannya itu
Pay off sih menurut saya
Untuk maintainnya
Sampai
2 tahun, 3 tahun, 5 tahun
Payed off bener-bener
Kalau engga ada test
Aduh kacau balau deh
Kalau mau ngerfaktor
Karena gini
Lebih mahal biaya
Kita ngetes manual
Satu persatu
Jauh lebih mahal
Karena gini
Kalau misalnya kita ngetes
Kalau kita bangun sebuah
Anggap aja sebuah
Studio
Studio yoga
Studio zumba
Studio exercise yang ada check outnya
Simple aja
Check out membership
Blood life apa
Bloodnya
Business itu adalah
Check out
Berarti secara kita nge-development
Setiap kali kita
Mau deployment
Untuk memastikan
Check outnya tidak bermasalah
Kita harus test check outnya
Manual
Seminggu sekali
Kalau sebelum lagi hotfix
Itu waktu kita
Dihabiskan mungkin
Dari 10 menit
15 menit hanya untuk ngetes
Business critical
Check list
Ada listnya
Business critical
Ngetes itu mungkin 15 menit setengah jam
Tapi kalau itu repetitif
Itu akan jadi banyak
Sedangkan kalau kita bisa automate
Dengan testing
Yang hal
Yang basic
Atau sederhananya yang sudah harus
Tercapai itu sudah di automate oleh
DCICD
Sebelum
Sebelum PR nya di merge
Sudah ketahuan kalau ada masalah
Itu save waktu
Dan waktu adalah uang
Saya setuju sih
Jadi lebih ke
Lebih ke apa namanya
Ya memang waktu yang dibutuhkan untuk
Menulis kode dan maintenance
Kan kode testing itu
Juga harus di maintain kan
Pasti ada overhead atau ada
Waktu lebih
Waktu yang dibutuhkan lebih
Banyak dibandingkan kalau kita
Nulis implementasinya saja
Tapi coba bayangkan
Di apa ya
Coba bayangkan lebih lama mana
Kalo ketika kita nulis
Implementasi kode
Tapi gak pake testing
Terus tiba-tiba ada bugs
Critical yang tidak tertangkap gara-gara kita lupa
Terus bugsnya 2 tahun kemudian
Kita udah lupa ini harusnya gimana
Itu sih yang kayak lebih intangible
Kayak 2 tahun kemudian
Ada bug dari suatu kode
Yang bikin
Udah gak tau dimana
Udah gak kerja disitu maksudnya
Gak bisa ditanya langsung atau kalaupun ada
Orangnya lupa dulu ini buat apa
Dan maksudnya gimana
Kalo kita gak tau ini maksudnya
Buat apa dan gimana
Ngebetulinnya juga lebih abstrak lagi kan
Nah testing itu
Salah satu cara mengurangi
Masalah itu
Mending 2 tahun
Orang baru mau launching gitu ya
3 bulan project mau launching
Tiba-tiba ada bugs critical besok harus launching
Harus mular lagi
Dan sebagian besar project IT
Molar ya salah satunya karena ini juga
Jadi mungkin
Ya waktu estimasinya akan lebih
Panjang tapi
Kalau dibandingkan dengan
Gak pake testing, terus abis itu
Harus bug fixing
Itu kayaknya saya lebih memilih
Mendingan lebih panjang nulis testing aja
Kenapa? Karena bug fixing itu
Stressful loh
Itu mental
Team itu
Terkurang abis disitu
Jadi mendingan
Cepet nulis testing daripada
Kena mental
Ngurusin bugs gitu dan bugsnya juga
Kadang-kadang kalo kita gak pake
Testing perbaiki bugs
Yang ini malah error yang
Di tempat lain gitu
Karena gak ada testingnya
Jadi jauh lebih panjang kita perbaiki bugs
Dibandingkan dengan
Tadi 30% atau
Ada waktu lebih yang di gunakan untuk
Bikin testing
Begitu
Dan kalo nyambung sama
Pertanyaan yang tadi
Kalo bisa sih jangan diakhir
Development kayak gitu karena pasti ada aja
Pasti nanti bakal kekat itu
Gak bakal dikerjain
Jadi ya
Yaudahlah testing gak usah dulu gitu ya
Sama aja kayak dokumentasi ya
Kalau sudah di skip
Pasti akan di skip
Selamanya
Yes
Iya
Iya
Jadi maksudnya gimana caranya kita sebagai developer
Minta buy-in
Waktu bikin fitur itu sendiri
Ya selain biar gak
Kekat kayak tadi kita juga masih
Ingat, maksudnya masih fresh
Terutama kalo ada logic yang aneh-aneh lah
Bukan aneh, maksudnya yang kurang
Instinctif, kurang intuitif
Misalnya ini harus di reject
Kalau begini-gini-gini
Nah mumpung kita inget ya kita harus bikin
Testnya juga
Yes, pilihannya mau repot
Di awal atau di belakang, betul
Mendingan di awal ya
Masih fresh, masih semangat
Gila yang udah mau launching tiba-tiba
Kena bugs kan
Deg-degannya kayak apa gitu
Apalagi kalo misalkan
Udah siap semuanya
Bia yang dikeluarkan udah banyak
Tiba-tiba gak jadi launching
Jadi kerugiannya bukan hanya dari sisi
Aplikasinya tapi dari sisi
Perusahaan secara umum
Dan betul
Menyakit dalam gak ada alasan
Topik minggu lalu sih
Apa yang
Lebih baik scope-nya dikurangin ya
Apa sih yang dari buku
Dari buku Get
Getting real ya
Kalau misalkan tadi dari
Pertanyaannya kan, wah ini waktunya
Lebih panjang, yaudah fiturnya dikurangin
Tapi yang penting gak ada testingnya
Itu sih
Ada juga loh menariknya
Bikin testing
Dan memang
Learning curve untuk
Testing itu
Tapi ada
Serunya
Jadi kita bisa
Kalo sudah ketagihan ya
Ini aja pengen bikin testingnya
Bisa ketagihan loh
Karena kayak jadi pengen
Describe if blah blah blah
Describe
Shoot return one
Shoot return two
Atau shoot render
Terus kita describe
Terus bikin, oke komponen ini kira-kira bisa ngapain lagi ya
Kita bisa mikir
Explore
Kayak
Contohnya kalo mau bikin
Error, error message
Ya kan banyak juga yang bikin error message ya
Terjadi ke apa?
Terjadi kegagalan, silahkan coba lagi
Error messagenya gitu doang
Tapi gak half full
Half full ya, gak mau bantu ya
Akhirnya kita bisa moding
Oke lebih baik, oke jadinya
Kalo gagalnya koneksi
Errornya begini
Karena fatal error
Di back end
Errornya begini, kalo gagalnya karena
Something else errornya begini
Mikirin error aja kita bisa
Berapa steps gitu
Nah
Jadi
Kalo sudah ketagihan, hati-hati ya
Bikin testing tuh bisa sampe
Hal-hal yang gak penting juga bisa ditesting
Nah itulah
Nanti perlu yang namanya balance
Apa tadi ada
Ada pertanyaan sampai tahap mana
Tahap mana ya
Sampai sedalam apa
Yang kita perlu buat
Kalo mau penganut
Full coverage
Tapi kalo saya yang
Praktikal
Saya akan buat yang namanya
Business critical
Checklist
Dan itu sudah di komunikasikan
Dengan klien dan disepakati
Bersama
Business akan ancur
Atau tidak jalan, kalo salah satu
Fitur ini
Broken
Jadi kita
Pastikan checklist itu
Semuanya full coverage
Untuk checklist itu
Kalo hal-hal yang lain
Kalo ada waktu dibikin, kalo gak ada waktu
Bisa skip dulu
Jadi optional lah bahasanya
Kalo lagi punya waktu yang banyak
Dan mau have fun ya bikin
Kalo gak ya
Tinggal
Si code reviewernya bilang
Oke ini kayaknya butuh deh mending lu bikin
Kan ada
Ada temen yang lain yang untuk melihat
Situasi kayaknya
Si komponen ini
Fitur ini perlu lu bikin deh karena
Kedepannya kita mau reflektor
Bisa jadi kan dia punya
Input itu
Kalo misalnya udah tau oh ini bakal kita reflektor
Mending bikin dulu
Testingnya jadi saat reflektor
Kepala tenang
Tuh kan
Malah lebih
Enak ngurusin testing daripada fixing box ya
Jadi yang Ivan sebutkan tadi
Itu adalah salah satu
Testing bukan
Hanya digunakan untuk
Menjaga ekspektasi tapi
Testing digunakan untuk mendesain fungsi
Atau mendesain aplikasi
Yang mau kita buat
Kalo misalkan kita langsung implementasi kita bingung kan
Ini fungsinya namanya apa
Parameternya berapa
Returnnya apa
Nah itu yang bisa ditest dan itu adalah bagian dari
Spesifikasi atau design tadi
Jadi kita
Ketika kita menulis implementasi kode
Kita udah
Tidak dari blank canvas lagi
Oh udah tau
Nama fungsinya udah ada kan udah dipanggil ditest
Jadi tinggal
Diimplementasiin aja isinya
Returnnya string kak atau number kak
Atau apa
Lebih jadi lebih clear
Karena kita udah menuangkan
Desain apa ya
Coretan-coretan kita
Di testing gitu
Tapi kalo data type saya sudah jarang
Ngetest data type lagi sih karena sudah
Karena sudah pake TS ya
Type script ya
Ya bukan
Maksudnya itu apa
Saya gak bikin any any misalnya
Ya itu kan salah satu contoh aja
Wah seru ya
Ngomongin testing ya
Malah vtest nya gak kita bahas ya
Iya banyak sendiri
Karena jazz nya juga
Down
Iya jazz nya saya buka jazz.io
Down jadi mau compare
IPI nya jadi susah
Cari perkara aja ya si Cloudflare ya
Tapi ada yang nanya Cloudflare nih
Sebenernya ya gak ada hubungannya
Sama test tapi kan
Mungkin si Cloudflare nya
Nggak ngetest sebelum produksi
By the way saya di background masih urusan
Cloudflare ini
Ada langkah P3 sih untuk mengendal
Case macam ini gak ada
Kita menyerahkan kepada cloud provider
Termasuk juga kayak kemaren
EWS ya bermasalah kita gak bisa
Berbuat apa-apa
Kecuali kita punya
Dua pun
Kalau Cloudflare bermasalah kita switch
Masalahnya gini
Kalau kalian Cloudflare nya masih gratis
Ya udah diam aja
Itu kita gak bisa complain
Kalau enterprise
Bisa complain karena mereka punya SLA
Bisa dapet
Keringanan biaya ya
Discon
Ini udah lewat SLA mereka
Iya udah lewat SLA
Udah lebih 2 jam
Enterprise nyala semua loh
Hebat kan
Prioritas
Prioritas P0
Ini saya
Klien yang saya handle
Enterprise
Jadi pada up semua
Bagus-bagus aja cepet
Gak ada masalah
Ada yang baru lagi ya
Didi itu bukan
Test driven development ya
Type driven development ya
Ya type itu juga bagian dari dokumentasi kan
Jadi kita bisa kebayang
Oh, returnnya ini
Segala macem
Jadi lebih berserah
Eh tadi kan
Saya sempat nanya diawal kan
Ada gak sih alternatifnya Cloudflare gitu
Kayaknya bisa dibilang gak ada ya
Karena
Tergantung Cloudflare disini
Teman-teman pake buat apa dulu
Apa saja
Ada proxy, ada DNS
Ada firewall
Yang gratis ya
Tunnel
Ada serverless nya dia
Ya banyak sih service nya
Cuman kayaknya yang buat
Yang umum sih kayaknya
Firewall proxy sama
DNS kali ya
Turnstile nya kan banyak yang pake
Turnstile itu loh
Kayak kapcah-kapcah
Oh kapcah, iya iya
Buat anti-stem ya
Iya
Itu juga banyak
Chat gpt aja error
Bener gak sih
Masa sih
Chat gpt.com
Oh iya bener
Karena challenges nya pake Cloudflare
Iya dia pake Cloudflare challenges
Kena juga
Berarti
Ada masalah ini turnstile ya
Langsung
Ya nyangkutnya just a moment
Oh masalahnya sekarang pake try
Penasaran
Salah satu
Yang belum pernah saya coba
Try
Nah pertanyaan nya buat teman-teman
Pertanyaan nya buat teman-teman yang nonton
Ada berapa
Visual Studio 4 yang terinstall
Di laptop sekarang
Ada kursor
Ada kursor
Winsorce
Masih
Kilo juga
Kalo kilo kan extension
Extension ya
Dipakainya di VS Code
Sekarang cuma 3
Cuma 3 ya
Woi
Ricky 2
Kursor dan VS Code
Tiga kayaknya
Kursor
VS Code
Sama Kiro
Yang AOS punya
Kiro
Tapi sekarang kebanyakan
Pake yang CLI sih bener
Sama kayak Mazain ya
Pake Cloud Code
Atau saya pake AMP Code
0
Pake New Film
Keren ini keren
0
Nggak ada VS Code
Nggak diinstall sama sekali
Cuma pake film
Orang udah pake New Film
Dia masih pake film ya
Gapapa juga sih
Bebas
Saya masih pake
Notepad ++
Masa
Notepad ++
Masih install
Masih install
Saya pernah
Pernah mengganti Notepad ++
Jadi Z
Saya nggak suka pake Z
Karena dia berisik
Karena ada AI-AI-nya
Sublime saya punya
Jadi dua-duanya ada
Begitu di save ada popup
Suruh "Purchase"
Ya maksudnya kalau
Di apa namanya
Kalau si Sublime kan
Nggak bisa dipakai buat
Kalau saya lagi
Lagi screen share
Atau lagi
Apa namanya
Lagi live presentasi kan
Kalau muncul kan, malu juga ya
Karena nggak bayar sampai sekarang
Ya nggak butuh bayar juga kan
Kalau Jet Brand, Jet Brand nggak termasuk
Jet Brand beda lagi
Kita punya Jet Brand kan
Kalau mau gratisan
Ada
Jet Brand itu kan sempat mengeluarkan versi
Ringgannya kan
Yang mau menandingi VS Code kan
Tapi kayaknya nggak take off ya
Momennya nggak itu ya
Momennya nggak dapet dia
Ya, begitulah
Cukup kita bahasa apa ini
Cukup, nggak bayar si test
Apa lagi yang menarik, lanjut ke
Inblowsernya dulu yuk
Inblowsernya
Kayaknya inblowsernya
Inblowsermode ya
Ya udah, buka aja
Eh, mana ya? Ini kan?
Buka browser
Why?
Ini kan?
Oke, bentar
Itu kan dia, itu di blog post update-nya
Buka tentang browser
Oh iya, yang di sini ya
Oke
Motivation
Untuk membantu memperbaiki
Testing workflow dan mencapai
Result tes yang lebih akurat
Ini
Untuk API testing kita
API allows developer to run
Test in native browser environment
Ini beneran
Ada browser-nya beneran di render
Bukan men simulasi DOM
Oh
There are different
Place, ada berbagai
Cara mengetes udah JavaScript
Ada yang men simulasi
browser environment
Simulasi browser environment
Ada yang
Pakai web driver atau
High press
Ada yang pakai playwright
Yang jalanin
Atlas browser ya
Papa petir ya
Eh bukan
Papa petir
Papa petir
Iya, jadi ini
Apa?
Ini dimana sih mas Liza? Di
Y-nya ya
Di guide browser
Di guide browser
Oh
Yang getting started
Nah
Coba ada screenshotnya tuh
Di open new
Aja, di open image-nya
Kurang gede ya
Iya, nah
Uy gede banget
Nah, jadi bisa
Bisa liat jalan langsung di browser
Centang-centang gitu dia jalanin
Dan hasilnya, kita langsung bisa
Lihat visualnya, hasil render-nya
Kayak jasmine jaman dulu dong
Jasmine udah ada ini jaman dulu
Sebelum jadi jes
Udah pernah pake jasmine
Tapi gak sebagus ini sih
Cuman bisa buka di browser aja
Iya kali ya, gak pernah pake jasmine soalnya
Bentar
Ini berarti
Ini berarti
UI yang ada di terminal
Dah ke sini gitu
Atau gimana
Tapi ada screenshotnya ya
Ini browser beneran ya
Oh
Cuma exactly gimana, gak tahu sih
Cuma misalnya kalau
Itulah kayak window, apapun yang di global window
Itu aman
Pasti ada yang, soalnya selama ini juga
Kalo pake JS Dom atau Happy Dom
Kan suka, kalo udah mulai ngetes
Web API, suka ribet kan
Ada yang apanya ada
Apanya gak ada, karena misalnya web API
Itu kan belum tentu semua
Diimplement semua, nah kalo ini beneran
Punya
Global object tuh ada semua
Jadi kayak punya ini
Ada visualnya ya
Bisa jalan di browser, jadi gak
Kita tahu kalo ada error, ada yang
Salah atau gimana, bisa kelihatan di browsernya ya
Ada visual
Betul, jadi kayak
Storybook kali ya
Storybook kan
Model storybook ya
Ini live kah
Live
Ini live
Setiap sasa malam
Jam 8 malam
Jangan lupa ya
Bisa pake browser API, bukan yang
Versi node nya, iya karena kalo yang
Kayak JS Dom gitu kan
Jalannya di node JS ya
Kalo ini beneran browser oke
Wah seru ya
Harus dibahas lebih dalem ini
Jadi pengen nyobor
Pake nya gimana
Install
Ini ya
Vtes Init Browser
Terus
Perfigurasi
Pakai apa
Provider nya apa dulu
Pilih provider nya, siapa dulu
Driver
Yang apa tadi dia bilang
Preview
Saya gatau, preview itu apa sih
Preview itu kayak punya dia
Coba
Preview itu apa penasaran dari tadi
Yang ini kan
Ini
Nama browsernya
Kayaknya deh
Ah kena juga
MPM nya
Gak bisa buka website
MPM
Ada-ada aja
Kenak deh
GitHub kena juga?
Enggak ya GitHub ya
Vtes ya
Enggak mau liat
Yang browser, oh gak ada Vtes
Vtes apa sih ininya?
Nah ini dia
Mau liat
Repo nya, buka yang tadi
Jadi jangan buka NPM
Bukanya disini, ada gak preview
Preview
Nggak ada
Kayaknya external
Soalnya you can choose either
Preview, play right, or
Webdriver I/O, jadi head-to-head nya
Play right
Oh, ini deh
Browser preview
Buatan Vtes juga
Cuma di package terpisah
Kayaknya deh
Coba aja buka akun
GitHubnya Vtes deh
Gak ada ya
Di website saya ada talk tentang
Relatable test with AI
Disitu ada contoh repository dengan Vtes
Coba ya
Mas Zain ini apa?
Zain Fatoni
Nama lengkap ya?
Yes
Kenang banget
Oh di website nya ya
Ini ya
Dari website nya aja, terus ada
Talk
Wah, lengkap ya
Yang mana?
Judulnya Relatable test
Mana?
Ini ya
Relatable test ya
Terus
Repo nya mana?
Oh, terakhir
Ini pakai apa nih?
Ini ya, bukan
GitHub nya
Oh, ini
Ini
Tik-tik aja
Manjang banget
Kenapa tadi gak di sub aja ya
Di GitHub
Terus SRC
Eh, mana?
Testing nya
Kok gak ada testing?
Oh, belum semua
Coba source
Source, coba source
Itu itu ya
Tim masing-masing komponen nya gak sih?
Itu test
Button
Yang mana browser?
Bukan ya?
Ini maksudnya sudah
Apa namanya?
Kalau misalnya dijalankan
Bisa coba liat
Package.json nya
Ada komen apa
Buat jalanin dia
Pakai
Package json ya
Package json
Test
Biasa, review
Bukan
Di test run dong
Nah, itu di config nya ada setting
Ada nge-set browser nya
Kalau, apa?
Contoh testing nya
Oh iya, ini pakai playwright ya
Itu, terus
Berarti tinggal dijalankan kan
Terus muncul browser nya gitu kan
Terus ini di VT setup
Ada ngemocking
Window
Ini bukan mock ya
Jalan-jalan
VT setup
Nah, itu tuh
Line 14
Terus, contoh testing nya
Harus berguru langsung ini
Jalanin aja
Gede gak
Tarikannya
Harus rap itu dulu
Gak bisa pakai ini, pakai
Apa tuh namanya?
Sandbox
GitHub
Codespaces
Bisa gak?
Browser dalam browser dong
Oh iya ya
Mari kita clone aja
Kalau NPM nya bisa jalan, coba aja
Bener juga
Oh iya, ini lupa
Matiin dulu
Share lagi
Window nya
Gedean ya
Sorry
Belum, kecilin nya gimana
Cukup ya
Belum gede
CD
Rally
NPM install
Bisa gak?
Gak bisa ya NPM install
Eh tapi
Registrinya sama aja
Gak tahu
Ini bisa
Cepet banget ya pakai Boonit
Boonit install
Nah kalau Boonit mungkin punya server sendiri
Kalau
Fail
Gimana ini
Test watch
Test 32 watch
Oh
Boon run
Test 32 watch
Tapi fail kan, emang sengaja fail ya
Oh playwright nya gak ada
Tuh dependensinya belum ke install kali itu
NPX playwright install
Iya
NPX
Gede banget itu
Iya karena ada easy browser nya
Playwright
Pakai
Salah ya
Playwright, salah ya
Play
Play
Boon nya juga down
Weh
Ini kecepatan internet master ya sakti nih
Gak pakai Cloudflare soalnya
Ini dia, oh Colmium ya
Eh padahal punya lho
Dia nginstall lagi
Udah pernah install soalnya playwright
Kayaknya ya by project deh
Kalau kita jalanin pemandangan disitu
Ya semua disitu doang
Oh semua di download
Iya
Ampun bang, ampun
Satu lagi
Dia download apa ya kini
Safari
Webkit
Makanya sekarang tuh
Jadi
Web developer jaman sekarang itu
Harus
Lebih banyak bandwidth ya
Ketimbang jaman dulu
Nah ini udah
Oh di jalanin semua
Nah ini
Chromium
Udah
Muncul gak ini popup
Enggak
Ya pasti browser mode nya gak jalan
Blaser mode nya gak jalan
Maksudnya
Gak di popup
Ininya, harusnya kan
Popup
Kayaknya harus vitess UI deh
Coba aja cari komennya vitess UI
Vitess
Run coverage
Bukan coverage ya
Oh
Karena
Headless tadi
Ada headless
Coba buka itu nya mas
Zain
Headless nya
Wait, saya baca dulu
Getting started
Ini browser
Vitess UI
Iya
Coba
Ke ininya
Ke vitess config nya mas Liza
Pakai vim aja
Vitess config nya
Ini vitess setup
Bukan
Bukan vitess setup
Berarti di package json
Bukan vt
Berarti di package json nya
Tadi test nya di gabung
Ke package json
Ke vitess
Gak ada
Yang browser Chromium tadi di mana?
Di vitess
Ada vitess config
Ada vitess setup
Oh bukan ya
Vt
Vt
Bentar ya
Vt.config.js
Vt.config.js
Ini nih
Browser kan Chromium
Itu yang headless
Ya
Sama bentar
Belum
Coba
Apa lagi?
Saya lihat dulu
Vt.config.js
Browser apa?
Config browser
Provider
Oh
Headless nya udah false ya?
Nggak, wasan dimatiin
Nah udah, coba dijalani
Harusnya
Mau tes aja?
Nggak ada
Oh udah, ada
Ntar
Langsung ketutup gara-gara error
This is bug in vitess
Ketemu bugnya
Apa nggak mau di npm kali?
Kayaknya gara-gara
Tadi ada yang pakai ben, ada yang pakai npm
Iya
Sama kayak udah
Muncul, cuman ini kan window
Kita coba share screen semua ya
Full ya
Cepet muncul abis itu ketutup lagi
Ada ya, ada
Watch ya
Watch
Ini kan, ini muncul
Kita tutup lagi karena nggak watch
Ceput tangan dulu doang
Sangur tuh
Ya udah, yang penting udah bisa jalan
Kalau dia kan
Kamalu nggak bisa tidur, penasaran kan
Kepikiran
Tapi ini UI-nya nggak ada di sini
Gambar UI-nya nggak ada ya
Cuman di klik satu-satu
Di button
Klik itemnya
Di play
Ini ada gambarnya?
Ada error nggak?
Lihat console error, nggak ada
Oh jadi item
Iya, kok jadi item?
Kok jadi daftar?
Run salah satu katanya
Ini, oh
Loh putih
Oh itu ada skin tab
Ada tadi
Karena dia jalanin sekaligus semua
Salah satu yang ini mas
Render with default
Props, coba
Run itu button yang render with default
Ya itu, run salah itu
Ya, nggak bisa
Cepat banget
Kok terlalu cepat
Ini ya berarti
Testingnya terlalu cepat, jadi nggak kelihatan
Diperlambat bisa nggak
Slow mode gitu
Ada ya
Bisa bisa kelihatan ini lho
Kelihatan
Nggak kelihatan saya
Oke lah
Cukup lah ya
Coba di rumah masing-masing
Udah dikasih itu sama Mazzain
Oh iya, saya share ininya ya
Apa namanya
Gith-nya
Iya, link-nya
Di sini
Kalau saya bisa
Oke
Cukup ya
Untuk malam ini ya
Udah setengah jam kita
Udah puas
Baru browser mode doang
Main-main browser mode
Vtes sama
Bantengin Cloudflare nih sampai malam nih
Kayaknya saya
Oke
Seperti biasa sebelum kita udahan
Kita mau
Poting material
Dari buat minggu depan
Kalau ada yang punya ide
Boleh di-share
Update-an Getting Real
Udah lama nggak soal AI ya
Mau AI
Bahas AI
Bahas web AI ya
Boleh
Oh iya, kemarin itu lagi ada
Apa
Di Youtube-nya
Chrome
Web AI Summit ya
Ini
Baru ada video baru tuh
Web AI Summit
Jason Muras
Jason Muras
Web AI nih
Ada GPU, ada
Apa lagi
Saya penasaran yang ini sih
Building Web AI Playbook
Ya udah, topiknya
Web AI Summit aja
Topiknya Web AI aja ya
Web AI Summit
Nanti
Maksudnya kalau ada
API-nya yang masing-masing
Kayak Summarizer atau apa bisa dipikin
Bisa
Bahas browser
Udah
Udah pernah kita, episode berapa browser
Browser
Kita sampai historinya ya
Sejarahnya juga kita bahas
Sampai buka Wikipedia yang ada
Timeline
Timeline-nya
Episode berapa
Episode 14
Episode 14
2 tahun yang lalu ya
3 tahun
Namanya ngobrolin browser
Bahas 10-stack query
10-stack menarik sih
Kita udah bahas 10-stacks
Kita udah pernah bahas 10-stacks ya
Kan 10-stacks yang general
Kan universe-nya banyak banget ya
Udah
Boleh-boleh
Boleh ditulis dulu
Di discussion
Nanti kita voting-voting
Kalau banyak yang suka juga
Silakan voting
Disini
Terus
Bahas buku 5 Coding
Nanti dulu
Beda bukunya nanti ya Mas Zain
Nanti kita undang lagi, tenang aja
Masukin dulu ya
Oke-oke
Bahas browser
Apa lagi yang mau dibahas browser
Kita udah
Kemarin udah cukup banyak ya
Kalau ada yang baru mungkin
Oh ini
Bahas browser
AI browser kan
Dan banyak dapet
Flash dari
Ecosystem work
Tiap sebentar muncul browser baru
Yang isinya AI
Jadi gini
Perusahaan yang bikin
Browser
Berusaha memasukkan AI ke dalam
Browsernya
Bikin AI, berusaha bikin browser
Untuk AI-nya
Nanti akan ada
Ketemu di tengah-tengah nih
Antara capelok-mencapelok
Atau
Beli-beli, mungkin ada yang dibeli
Ada yang membeli
Kita lihat aja, persaingannya seru sih
Persaingannya seru
Lay off ya
Waduh, bukan yang itu Pak
Oh beda ya
Membeli ya, membeli
Akuisisi
Iya, akuisisi
Katanya beli-beli
Itu duitnya
Nggak ada serinya
Ternyata, tumbang juga
Tumbang juga ya
PWA, PWA apa lagi yang mau dibahas
Aduh
Ya, udah
Matcher juga itu
Conqueror, Conqueror kita bahas tuh
Di episode ke 14
Conqueror itu adalah
Nenek moyangnya webkit, nenek moyangnya safari
CSS query? Udah
Eh, belum ya?
Belum, kita bahas CSS playnya
Kita bahas CSS unit jadinya
Oh iya
Kita bahas CSS unit, itu juga panjang banget
Besok-besok saja
CSS query, iya nanti kita bahas CSS query
Thank you, thank you Kaisa
Oh Kaisa kemarin bikin
Ininya apa? Posting di
GitHubnya keren banget
Udah kayak bikin artikel aja
Udah kayak
Artikel, Ladybird
Kita sempat bahas Ladybird juga
Apa? Yang, walaupun belum
Ada update-nya kan
Ladybird baru aja mereka announce, mereka sudah lulus
WPT testnya mereka
Udah lulus, berapa persen
WPT, web platform testnya
Mereka tuh udah kayak unit testnya
Browser testingnya mereka
Sudah lulus
Berapa persen gitu, kayak 90%
Tapi belum ada binary-nya
Belum bisa di download buat macOS
Harus build sendiri
Mereka juga janjinya jual 1026 juga kok
Bukan tahun ini
Kalau nggak salah ya
Ya nggak apa-apa, kalau bisa lebih cepat kan
Kan pengen coba
Maksa
Ngomong gampang ya
Gampang, silahkan pull request
Nanti dia tinggal bilang kita ya, silahkan pull request
Gampang
Tuh, targeting summer
2026
First alpha version
Terus, bahas desktop sih
Menarik sih bahas desktop
Eh, by the way, kalau mau coba
Back to
Ini sebentar, kalau mau bahas browser itu
Kalian coba browser yang
DCLID
Links
Coba pakai links
Bagus
Ada yang baru kemarin
Yang modern
Bukan yang baru, yang modern
Itu juga
Di CLI juga
Tapi kalau buka di links
Kalau misalnya
Client render
Pakai react atau semacamnya
Gak SSG, nggak SSR
Kalau pakai CSR
Gak bisa, nggak ada JavaScript
Gak ada JS
Sudah discussed
Sudah
Di awal, di tengah dan
Random-random
Setiap berapa menit sekali
Kita bahas
Setiap berapa menit lagi kita bahas
Kita buka website, tiba-tiba down kita bahas
NPN packets registry
Gak bisa dibuka
Chachi PT nggak bisa dibuka, sponsor kita
Kali ini Dominicia
Gak bisa dibuka juga
Tengah juga ya
Tapi mudah-mudahan segera
Udah selesai ya
Udah mulai ada yang benar
Udah, Dominicia udah bisa dibuka
Jadi temen-temen kalau mau
Itu jangan lupa ya
Kalau mau purchase ya, jangan lupa pakai
Promocode ya
Oke, sekian dulu untuk malam ini
Kita ketemu lagi minggu depan
Di waktu yang sama
Selamat malam, selamat siangat, bye-bye
Performa tinggi dalam infrastruktur cloud
Yang telah dioptimalkan untuk kebutuhan personal
Maupun bisnis
Teknologi ini memungkinkan Anda memperoleh
Layanan yang lebih stabil
Serta proteksi dari korupsi data
Hosting Dominicia juga telah mendukung
Node.js, Python, Ruby, Go,
PHP, Java, serta
Binary Linux
Lebih dari 200.000 pelanggan telah
Mempercayakan layanan hosting di Dominicia
Kepercayaan yang kami jaga dengan
Garansi uptime 99,9%
Serta garansi uang kembali 100%
Buat website Anda lebih mendunia
Segera berali ke hosting Dominicia
Deskripsi asli dari YouTube
π£οΈπΈοΈ Selasa malam waktunya #ngobrolinWEB! Malam ini membahas serba-serbi pengujian atau testing, spesifiknya akan membahas Vitest, Jest, dkk. Ayo bergabung bersama Ivan dan Eka di sesi malam nanti. π Yuk mari ramaikan! Dimulai pukul 20:00WIB ya. Episode kali ini merupakan hasil kolaborasi dengan @domainesia_. Gunakan kode promo: NGOBROLINWEBDN buat diskon 10% langganan hosting atau kode promo NGOBROLINVPSDN buat diskon 50% langganan Cloud VPS Turbo dan dapat digunakan berkali-kali! Kunjungi https://ngobrol.in untuk catatan, tautan dan informasi topik lainnya.
Episode Terkait
23 Jul 2025
Bedah Buku Problem Solving 101
Episode ini membahas buku "Problem Solving 101" karya Ken Watanabe, mantan konsultan McKinsey yang menulis buku ini seba...
30 Okt 2024
Ngborolin Svelte feat. @lihautan
Episode ini membahas tentang Svelte dan Svelte 5 bersama Lihau, seorang Svelte maintainer yang bekerja sebagai Front-end...
13 Feb 2024
Ngobrolin Open Source bareng @AriyaHidayat
Episode ini membahas dunia open source bersama Mas Arya, pembuat PhantomJS dan Esprima yang sangat terkenal di komunitas...
Suka episode ini?
Episode baru setiap Selasa malam. Dengarkan lewat YouTube, Spotify, atau feed podcast favoritmu.
Memuat komentar dari GitHub Discussions...
Jika komentar tidak muncul karena ekstensi privasi / adblocker, kamu bisa berdiskusi langsung di GitHub Discussions .