Lompat ke konten utama
EP 150

Serba Serbi Pengujian: Vitest, Jest, dkk

Ringkasan Episode

Bantu Koreksi

Episode 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

Bagikan:

Suka episode ini?

Episode baru setiap Selasa malam. Dengarkan lewat YouTube, Spotify, atau feed podcast favoritmu.

Pilih Cara Langganan

Memuat komentar dari GitHub Discussions...

Jika komentar tidak muncul karena ekstensi privasi / adblocker, kamu bisa berdiskusi langsung di GitHub Discussions .