Selenium vs Penulis Drama: Perbedaan Utama, Perbandingan Kode, dan Mana yang Harus Dipilih

  1. Beranda
  2. Blog
  3. Uji Otomatisasi

Uji Otomatisasi

Selenium vs Penulis Drama: Perbedaan Utama, Perbandingan Kode, dan Mana yang Harus Dipilih

Selenium memiliki sejarah dua dekade dan ekosistem yang sangat besar. Penulis naskah drama lebih baru dan memasukkan lebih banyak hal di luar kotak. Bandingkan keduanya mengenai hal-hal penting sehari-hari, baca satu tes untuk keduanya, dan putuskan dengan percaya diri.

9 menit baca
Selenium vs Penulis Drama: perbedaan utama, perbandingan kode, dan mana yang harus dipilih

Poin penting

  • Selenium adalah pustaka otomatisasi browser matang yang dibangun berdasarkan standar WebDriver W3C.
  • Playwright adalah kerangka kerja baru yang dilengkapi dengan auto-waiting, tracing, dan test runner.
  • Untuk proyek web baru, Penulis Drama biasanya lebih cepat menjadi produktif.
  • Selenium tetap menjadi pilihan yang tepat untuk rangkaian besar yang sudah ada, kebutuhan bahasa yang lebih luas, dan pengujian di browser vendor nyata.

Jika Anda memulai proyek otomatisasi pengujian, pertanyaan Selenium vs Penulis Drama akan muncul dengan cepat. Hasil penelusuran mungkin tampak seperti masalah yang sudah diselesaikan, namun jawaban yang tepat bergantung pada tim Anda, pengujian yang ada, dan browser yang harus Anda dukung.

Panduan ini membandingkannya dengan hal-hal yang sebenarnya Anda rasakan dalam pekerjaan sehari-hari. Contoh kode menunjukkan gaya khas setiap alat, dan kami tidak menjalankannya untuk artikel ini. Kami juga menghindari mengutip persentase kecepatan, karena tolok ukur yang dipublikasikan sangat bervariasi dan sering kali berasal dari vendor. Ukur pada aplikasi Anda sendiri apakah kecepatan akan menentukan masalahnya.

Jawaban singkatnya

Pilih Playwright untuk sebagian besar proyek pengujian web baru, terutama jika tim Anda dapat bekerja dalam JavaScript, TypeScript, Python, Java, atau .NET. Anda mendapatkan lebih banyak fitur, dan lebih sedikit waktu yang dihabiskan untuk infrastruktur dan waktu tunggu yang tidak stabil.

Pilih Selenium jika Anda sudah memiliki suite yang besar dan berfungsi, jika Anda memerlukan bahasa yang tidak didukung secara resmi oleh Playwright seperti Ruby, atau jika Anda harus menguji pada versi browser sebenarnya dan platform yang tersedia melalui grid Selenium atau cloud perangkat.

Selenium vs Penulis Drama berdampingan

Aspek Selenium Penulis naskah drama
Pertama kali dirilis 2004 2020, oleh Microsoft
Apa itu Perpustakaan otomatisasi browser Framework, dengan runner di Node.js
Bahasa Java, Python, C#, Ruby, JavaScript Skrip Ketik, JavaScript, Python, Java, .NET
Peramban Chrome, Firefox, Edge, Safari Kromium, Firefox, WebKit
Menunggu Eksplisit menunggu Anda menulis Menunggu otomatis sudah ada di dalamnya
Pelari ujian Bawa sendiri, seperti pytest atau JUnit Termasuk untuk Node.js, plugin pytest untuk Python
Berjalan paralel Selenium Grid atau kerangka uji Dibangun pada pelarinya
Men-debug Log kerangka kerja, tangkapan layar yang Anda tambahkan Penampil jejak, mode UI, codegen
Jaringan mengejek Terbatas, seringkali perkakas tambahan Dibangun di
Komunitas Sangat besar dan sudah lama berdiri Besar dan berkembang dengan cepat

Arsitektur: bagaimana setiap orang berkomunikasi dengan browser

Selenium mengirimkan perintah menggunakan protokol WebDriver W3C, sebuah standar formal. Kode Anda berkomunikasi dengan driver, seperti ChromeDriver, yang mengontrol browser, dengan setiap perintah biasanya berupa permintaan HTTP terpisah. Karena vendor browser mendukung standar ini, maka kompatibilitasnya luas. Protokol yang lebih baru, WebDriver BiDi, menambahkan komunikasi dua arah dan streaming acara ke standarnya.

Penulis drama menjaga koneksi tetap ke browser dan menggunakan versi Chromium, Firefox, dan WebKit yang telah di-patch. Karena koneksinya bersifat langsung dan dua arah, ia dapat bereaksi terhadap peristiwa browser, dan setiap pengujian dapat dijalankan dalam konteks browser yang ringan. Inilah sebabnya mengapa sebagian besar perbandingan menilai Penulis Drama lebih cepat, meskipun kesenjangan sebenarnya bergantung pada aplikasi dan pengujian Anda.

Satu tes di kedua alat

Ini adalah tes login yang sama, yang ditulis dengan Python, terhadap situs praktik umum.

Selenium

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

def test_login(driver):
    driver.get("https://the-internet.herokuapp.com/login")
    driver.find_element(By.ID, "username").send_keys("tomsmith")
    driver.find_element(By.ID, "password").send_keys("SuperSecretPassword!")
    driver.find_element(By.CSS_SELECTOR, "button[type=submit]").click()

    message = WebDriverWait(driver, 10).until(
        EC.visibility_of_element_located((By.ID, "flash"))
    )
    assert "You logged into a secure area" in message.text

Anda juga memerlukan perlengkapan untuk membuat dan menutup driver, seperti yang kami tunjukkan di Tutorial Selenium Python kami.

Penulis naskah drama

from playwright.sync_api import Page, expect

def test_login(page: Page):
    page.goto("https://the-internet.herokuapp.com/login")
    page.get_by_label("Username").fill("tomsmith")
    page.get_by_label("Password").fill("SuperSecretPassword!")
    page.get_by_role("button", name="Login").click()

    expect(page.locator("#flash")).to_contain_text("You logged into a secure area")

Ini bergantung pada plugin pytest-playwright, yang menyediakan perlengkapan page. Ini lebih pendek, terutama karena waktu tunggu sudah ada di expect, dan karena pencari lokasi seperti get_by_role mendeskripsikan halaman seperti yang dilihat pengguna. Dengan Selenium, Anda dapat mengurangi boilerplate ini secara signifikan dengan bantuan dan Model Objek Halaman, yang kami rekomendasikan di salah satu alat tersebut.

Tes yang menunggu dan tidak stabil

Pengaturan waktu adalah penyebab utama pengujian browser yang tidak stabil, dan di sinilah kedua alat tersebut paling berbeda dalam penggunaan sehari-hari.

Di Selenium, Anda bertanggung jawab atas sinkronisasi. Penantian yang eksplisit memang berhasil dengan baik, tetapi seseorang harus mengingatnya di mana pun, dan tim yang lupa sering kali kembali melakukannya time.sleep. Panduan kami untuk Selenium menunggu menjelaskan cara melakukannya dengan benar.

Di Penulis Drama, tindakan secara otomatis memeriksa apakah suatu elemen terlihat, stabil, diaktifkan, dan dapat menerima peristiwa sebelum bertindak. Pernyataan yang mengutamakan web terus mencoba ulang hingga batas waktu habis. Anda masih dapat menulis pengujian yang tidak stabil, misalnya dengan data pengujian yang buruk, namun sumber masalah utama ditangani secara default.

Browser dan bahasa

Di sinilah Selenium mempunyai keunggulan nyata. Pembuatan WebKit Playwright mirip dengan mesin Safari, tetapi tidak sama dengan Safari di Mac atau iPhone. Jika perilaku Safari sebenarnya sangat penting, Selenium dengan SafariDriver, atau cloud perangkat nyata, membuat Anda lebih dekat dengan apa yang sebenarnya dijalankan pengguna Anda.

Demikian pula, Playwright menguji versi browser yang dibundelnya, meskipun ia juga dapat menjalankan saluran Chrome dan Edge yang terpasang. Selenium menggerakkan browser yang Anda instal, yang membantu jika Anda harus mendukung versi tertentu. Untuk aplikasi seluler asli, tidak ada jawaban lengkapnya: Appium, yang dibangun berdasarkan konsep WebDriver, adalah alat yang biasa.

Dalam hal bahasa, Selenium secara resmi mendukung Ruby dan memiliki sejarah yang sangat panjang di tim Java. Versi Node.js dari Playwright juga memiliki perkakas terlengkap, karena terdapat test runner lengkap di sana. Bahasa lain mendapatkan perpustakaan inti dan berintegrasi dengan kerangka pengujiannya sendiri.

Men-debug

Penulis naskah drama mempunyai petunjuk yang jelas dalam hal ini. penampil jejak mencatat setiap tindakan, bersama dengan snapshot DOM, panggilan jaringan, dan log konsol, sehingga Anda dapat menelusuri proses CI yang gagal setelah selesai. Mode UI dan codegen juga membantu Anda menulis tes lebih cepat. Lihat Tutorial Penulis Drama untuk Pemula kami untuk mengetahui cara menggunakannya.

Dengan Selenium, Anda merakitnya sendiri, mulai dari tangkapan layar jika terjadi kegagalan, log browser, video dari penyedia jaringan Anda, dan laporan dari kerangka pengujian Anda. Ini berfungsi dengan baik, dan banyak tim memiliki pengaturan yang sangat baik, tetapi perlu upaya untuk membangunnya.

Fitur jaringan dan API

Penulis naskah dapat mencegat dan meniru permintaan jaringan dengan beberapa baris kode, yang berguna untuk menguji status kesalahan:

page.route("**/api/orders", lambda route: route.fulfill(status=500))

Ini juga mencakup klien permintaan API, sehingga Anda dapat membuat data pengujian melalui API sebelum menjalankan browser. Selenium 4 telah menambahkan beberapa fitur jaringan melalui Chrome DevTools Protocol dan BiDi, tetapi dukungan dan kenyamanan berbeda-beda tergantung browser dan bahasa. Banyak pengguna Selenium menambahkan proxy atau pustaka HTTP terpisah, seperti pada alat pengujian API.

Tips: Alat apa pun yang Anda pilih, tetap fokuskan pengujian browser pada perjalanan penting, dan turunkan detail ke tingkat yang lebih rendah. Rangkaian yang lebih kecil lebih penting daripada alat yang lebih cepat. Lihat praktik terbaik pengujian menyeluruh kami.

Berjalan dan berskala paralel

Pelari Playwright menangani pekerja paralel dan sharding di seluruh mesin CI dengan opsi sederhana. Konteks browser itu murah, jadi isolasi tidak memerlukan browser baru untuk setiap pengujian.

Selenium menggunakan Selenium Grid untuk mendistribusikan pengujian di seluruh mesin dan versi browser, dan kerangka pengujian menangani paralelisme. Grid lebih banyak dijalankan, namun terbukti dalam skala yang sangat besar, dan banyak perangkat cloud komersial yang mendukungnya secara langsung.

Haruskah Anda bermigrasi dari Selenium ke Penulis Drama?

Tidak secara otomatis. Rangkaian kerja sangat berharga, dan penulisan ulang membutuhkan waktu lama untuk menguji produk. Ajukan pertanyaan-pertanyaan ini terlebih dahulu:

  1. Apakah ada masalah yang dapat diukur? Pengujian yang tidak stabil atau proses debug yang lambat adalah alasan yang bagus. “Ini lebih baru” tidak.
  2. Seberapa besar ruangannya? Seratus tes dapat dipindahkan. Sepuluh ribu adalah proyek besar.
  3. Apakah objek halaman Anda bersih? Abstraksi yang baik membuat perpindahan menjadi jauh lebih murah.
  4. Apakah Anda mengandalkan fitur khusus Selenium? Periksa kebutuhan jaringan dan perangkat Anda terlebih dahulu.

Jika Anda bergerak, lakukan secara bertahap. Tulis pengujian baru di Playwright, migrasikan pengujian lama yang paling buruk terlebih dahulu, dan jalankan keduanya secara berdampingan hingga rangkaian lama cukup kecil untuk dihentikan. Jangan terjemahkan pengujian baris demi baris, karena hal tersebut akan memengaruhi sleep dan pencari lokasi lama. Hindari juga kesalahan yang tercakup dalam kesalahan otomatisasi pengujian.

Bagaimana memilih

Situasi Anda Pilihan yang masuk akal
Aplikasi web baru, tim modern Penulis naskah drama
Suite Selenium stabil yang besar Tetap menggunakan Selenium, dan tingkatkan
Tim menulis Ruby Selenium
Cakupan Safari yang sesungguhnya sangatlah penting Selenium, atau cloud perangkat
Tes tidak stabil dan debugging CI yang sulit Coba Penulis Drama sebagai pilot
Aplikasi seluler asli aplikasi

Yang terbaik dari semuanya, jalankan uji coba singkat. Otomatiskan tiga perjalanan paling canggung Anda di setiap alat dengan aplikasi Anda sendiri, di CI Anda sendiri, dan bandingkan kode, kecepatan, dan seberapa mudah Anda dapat men-debug kegagalan. Bukti selama satu minggu mengalahkan artikel perbandingan mana pun, termasuk artikel ini. Jika Cypress juga ada dalam daftar pilihan Anda, baca Penulis Drama vs Cypress.

Penutup

Penulis naskah drama biasanya merupakan tempat yang lebih mudah untuk memulai, dan Selenium tetap menjadi standar yang dapat diandalkan dengan jangkauan yang luas. Tidak ada yang akan menyelamatkan rangkaian pengujian yang dirancang dengan buruk. Pilih berdasarkan kendala Anda yang sebenarnya, berinvestasilah pada pencari lokasi yang stabil dan data pengujian yang baik, dan jaga agar rangkaian produk Anda tetap fokus pada hal yang paling penting bagi pengguna Anda.

Pertanyaan yang sering diajukan

Apakah Penulis Drama lebih baik dari Selenium?

Untuk banyak proyek web baru, ya, berkat menunggu otomatis dan alat bawaan. Selenium mungkin lebih cocok untuk rangkaian yang ada, kebutuhan bahasa yang lebih luas, atau browser nyata yang spesifik.

Apakah Penulis Drama lebih cepat dari Selenium?

Biasanya dilaporkan lebih cepat karena koneksi browser yang persisten dan konteks yang ringan. Perbedaan sebenarnya bergantung pada aplikasi Anda, jadi ukurlah berdasarkan pengujian Anda sendiri.

Apakah Selenium sudah ketinggalan jaman?

Tidak. Selenium secara aktif dipelihara dan dibangun berdasarkan standar W3C, dan masih digunakan secara luas. Selenium 4 dan WebDriver BiDi terus memodernisasikannya.

Bisakah Penulis Drama menguji Safari asli?

Penulis naskah menguji dengan versi WebKitnya sendiri, yang mirip dengan mesin Safari tetapi tidak identik. Untuk perilaku Safari atau iOS yang sebenarnya, gunakan perangkat asli atau SafariDriver.

Haruskah seorang pemula mempelajari Selenium atau Penulis Drama?

Banyak pemula menganggap Penulis Drama lebih mudah untuk memulai. Selenium masih muncul di banyak lowongan pekerjaan, jadi periksalah pasar lokal Anda. Konsep inti terbawa di antara mereka.

Teruslah belajar

Bekerja dengan Stack Quora

Butuh bantuan dengan pengujian, WordPress atau SEO?

Kami membantu tim mengirimkan perangkat lunak yang lebih baik dan mengembangkan situs mereka. Beritahu kami apa yang sedang Anda kerjakan dan kami akan menyarankan langkah selanjutnya yang jelas.

Teruslah membaca

Panduan lebih lanjut tentang pengujian, AI & pengembangan modern

Menikmati artikel ini? Pilih topik dan langsung masuk ke tutorial terbaru kami.

Kecerdasan buatan

Penjelasan Halusinasi AI: Mengapa Model Bahasa Memperbaiki Masalah dan Cara Menguranginya

Halusinasi AI menjelaskan: apa itu, mengapa model bahasa memproduksinya, tipe umum, cara menguranginya dengan landasan dan petunjuk, dan pemeriksaan…

Baca artikel →
DevOps

Penjelasan Variabel Lingkungan: File .env, Rahasia, dan Konfigurasi Dilakukan dengan Benar

Variabel lingkungan dijelaskan dengan contoh Python yang kami jalankan: membaca dan mengaturnya, mengapa setiap nilai berupa string, file .env, pewa…

Baca artikel →
Pengembangan perangkat lunak

Penjelasan Pembatasan Kecepatan API: Algoritma, Header, dan Penanganan 429 Kesalahan

Pembatasan laju API dijelaskan dengan simulasi yang kami jalankan: keranjang token, jendela tetap, jendela geser, respons 429, header batas laju, pe…

Baca artikel →
Otomatisasi pengujian

Mengejek dengan Python: unittest.mock, patch dan Kesalahan yang Membuat Tes Berbohong

Mengejek dengan Python dengan unittest.mock, menguji: Mock dan return_value, side_effect, menambal di mana nama digunakan, spesifikasi dan autospec,…

Baca artikel →
Pengujian perangkat lunak

Penjelasan Cakupan Kode: Cakupan Jalur vs Cabang dan Apa Arti 100% Sebenarnya

Cakupan kode dijelaskan dengan coverage.py yang sebenarnya dijalankan: cakupan garis, cabang dan kondisi, membaca laporan, mengapa cakupan 100% masi…

Baca artikel →
Basis data & SQL

DELETE vs TRUNCATE vs DROP dalam SQL: Perbedaan, Rollback dan Kapan Menggunakan Masing-Masing

DELETE vs TRUNCATE vs DROP dijelaskan dengan SQL yang diuji: apa yang dihapus, rollback, pemicu, reset identitas, kecepatan, dan perbedaan PostgreSQ…

Baca artikel →
Basis data & SQL

Penjelasan Tampilan SQL: Membuat, Menggunakan, dan Menghindari Kesalahan, Dengan Contoh

Tampilan SQL dijelaskan dengan kueri yang kami jalankan: membuat tampilan, hasil langsung, menyembunyikan kolom, kinerja, tampilan yang dapat diperb…

Baca artikel →
Pengembangan perangkat lunak

Antarmuka TypeScript vs Tipe: Perbedaan Nyata, Diuji Dengan Kompiler

Antarmuka TypeScript vs tipe, diperiksa dengan kompiler sebenarnya: apa yang bisa dilakukan keduanya, apa yang hanya bisa dilakukan satu orang, peng…

Baca artikel →
Pengembangan perangkat lunak

Penjelasan Python *args dan **kwargs: Fungsi Fleksibel Dengan Contoh Jelas

Python *args dan **kwargs dijelaskan dengan kode yang kami jalankan: pengepakan dan pembongkaran, urutan parameter, argumen hanya kata kunci dan pos…

Baca artikel →
Pengembangan perangkat lunak

Fungsi Python Lambda: Sintaks, Kegunaan Sebenarnya, dan Kapan Tidak Digunakan

Fungsi python lambda dijelaskan dengan kode yang kami jalankan: sintaksis, pengurutan dengan kunci, peta dan filter, penutupan, jebakan pengikatan a…

Baca artikel →
Kecerdasan buatan

Apa Itu Agen AI? Cara Kerjanya, Dengan Agent Loop Sederhana yang Dapat Anda Jalankan

Apa itu agen AI? Panduan sederhana tentang loop agen, alat, memori, dan pagar pembatas, dengan loop Python kecil yang kami jalankan, risiko nyata da…

Baca artikel →
DevOps

Pemantauan vs Observabilitas: Perbedaan Nyata, Dengan Log, Metrik, dan Jejak

Penjelasan pemantauan vs observabilitas: kegagalan yang diketahui dan tidak diketahui, log, metrik dan jejak, penelusuran insiden checkout, sinyal e…

Baca artikel →
DevOps

Volume Docker vs Bind Mounts: Pertahankan Data Kontainer dengan Cara yang Benar

Volume Docker vs pengikatan pengikat dijelaskan: mengapa data kontainer menghilang, volume yang diberi nama, pengikatan pengikatan, tmpfs, contoh Tu…

Baca artikel →
Otomatisasi pengujian

TDD vs BDD: Perbedaan Utama, Satu Fitur Dibangun dengan Dua Cara dan Kapan Menggunakan Masing-masing

TDD vs BDD dijelaskan dengan satu fitur diskon yang dibuat dengan dua cara: refactor merah-hijau dengan kode yang kami jalankan, skenario Mengingat-…

Baca artikel →
Pengujian perangkat lunak

User Acceptance Testing (UAT): Proses, Checklist dan Contoh Nyata

Pengujian penerimaan pengguna menjelaskan: siapa yang menjalankannya, perbedaannya dengan QA, proses tujuh langkah, templat kasus uji UAT, daftar pe…

Baca artikel →
Basis data & SQL

Penjelasan Nilai NULL SQL: IS NULL, COALESCE, NULLIF dan Jebakan yang Harus Dihindari

Nilai SQL NULL dijelaskan dengan kueri yang kami jalankan: logika tiga nilai, IS NULL, COALESCE, NULLIF, cara agregat, penggabungan, dan pengurutan …

Baca artikel →
Basis data & SQL

Pernyataan SQL CASE WHEN: Sintaks, Contoh Nyata dan Kesalahan Umum

SQL CASE KETIKA dijelaskan dengan kueri yang kami jalankan: formulir sederhana dan dicari, urutan kondisi, pivot dengan SUM, trik COUNT, pengurutan …

Baca artikel →
Pengembangan perangkat lunak

Apa itu JWT? Token Web JSON Dijelaskan Dengan Contoh Kerja

Apa itu JWT? JSON Web Tokens menjelaskan: tiga bagian, token yang dibuat dan dirusak dalam kode yang kami jalankan, sesi JWT vs, penyimpanan, token …

Baca artikel →
Pengembangan perangkat lunak

Penjelasan Loop Acara JavaScript: Call Stack, Microtasks, dan Timer Dengan Contoh

Perulangan peristiwa JavaScript dijelaskan dengan kode yang kami jalankan: tumpukan panggilan, antrian tugas dan tugas mikro, mengapa setTimeout 0 t…

Baca artikel →
Pengembangan perangkat lunak

Generator Python dan Penjelasan Hasil: Menghemat Memori Dengan Contoh Nyata

Generator dan hasil Python dijelaskan dengan kode yang kami jalankan: bagaimana mereka menjeda dan melanjutkan, mengukur penghematan memori, saluran…

Baca artikel →
Kecerdasan buatan

Apa itu Embedding? Kesamaan Vektor dan Kosinus Dijelaskan Secara Sederhana

Apa itu embeddings? Panduan bahasa sederhana tentang vektor, kesamaan kosinus, dan penelusuran semantik, dengan contoh kecil yang kami jalankan, pen…

Baca artikel →
DevOps

Penerapan Biru-Hijau vs Canary: Perbedaan, Kompromi, dan Cara Memilih

Penjelasan penerapan blue-green vs canary: cara kerja masing-masing, biaya, risiko dan rollback, pengelompokan pengguna stabil yang kami uji, migras…

Baca artikel →
Otomatisasi pengujian

Tes Tidak Stabil: Apa Penyebabnya dan Cara Memperbaikinya untuk Kebaikan

Pengujian yang tidak stabil dijelaskan dengan demo yang kami jalankan: penyebab utama, cara mengonfirmasi dan mendiagnosisnya, perbaikan waktu yang …

Baca artikel →
Pengujian perangkat lunak

Load Testing vs Stress Testing: Perbedaan, Metrik dan Contoh k6

Penjelasan pengujian beban vs pengujian stres: apa yang dibuktikan masing-masing, pengujian lonjakan dan rendam, metrik yang penting, mengapa rata-r…

Baca artikel →
Pengujian perangkat lunak

Kasus Uji vs Skenario Uji: Perbedaan Utama, Contoh, dan Kapan Menggunakan Masing-masing

Penjelasan kasus uji vs skenario pengujian: definisi yang jelas, tabel berdampingan, satu fitur pengaturan ulang kata sandi yang diambil dari skenar…

Baca artikel →
Basis data & SQL

Optimasi Kueri SQL: Baca Rencana Eksekusi dan Perbaiki Kueri Lambat, Dengan Pengaturan Waktu

Pengoptimalan kueri SQL diuji pada sejuta baris: membaca rencana eksekusi, menambahkan indeks yang tepat, memperbaiki filter yang tidak dapat disarg…

Baca artikel →
Basis data & SQL

SQL UNION vs UNION ALL: Perbedaan, Contoh dan Kinerja Diuji

SQL UNION vs UNION ALL dijelaskan dengan kueri yang kami jalankan: duplikat, aturan yang diikuti keduanya, bug data nyata, kinerja terukur, INTERSEC…

Baca artikel →
Pengembangan perangkat lunak

Tutorial API Pengambilan JavaScript: GET, POST, Penanganan Kesalahan, dan Batas Waktu

Tutorial JavaScript Fetch API diuji pada server lokal: GET dan POST, mengapa 404 tidak muncul, bantuan yang dapat digunakan kembali, string kueri, b…

Baca artikel →
Pengembangan perangkat lunak

Penanganan File Python: Baca, Tulis, CSV, JSON dan pathlib Dengan Contoh

Penanganan file Python dijelaskan dengan kode yang kami jalankan: mode terbuka, dengan, membaca file besar, CSV, JSON, pathlib, file biner, penulisa…

Baca artikel →
Pengembangan perangkat lunak

Kelas dan Objek Python: Tutorial OOP Dengan Contoh Nyata

Kelas dan objek Python dijelaskan dengan kode yang kami jalankan: __init__, metode, atribut kelas vs instance, warisan, properti, metode dunder, kel…

Baca artikel →
Kecerdasan buatan

Apa Itu Model Bahasa Besar? Bagaimana LLM Bekerja, Dijelaskan Tanpa Hype

Apa yang dimaksud dengan model bahasa besar? LLM dijelaskan dalam bahasa sederhana: token, penyematan, perhatian, pelatihan, jendela suhu dan kontek…

Baca artikel →
DevOps

Perintah Linux untuk Pemula: Panduan Terminal Penting Dengan Contoh

Perintah Linux untuk pemula, dikelompokkan berdasarkan tugas: navigasi, file, melihat log, grep, pipa, izin, proses dan arsip, dengan contoh analisi…

Baca artikel →
Otomatisasi pengujian

Selenium vs Penulis Drama: Perbedaan Utama, Perbandingan Kode, dan Mana yang Harus Dipilih

Selenium vs Playwright dibandingkan: arsitektur, menunggu, dukungan browser dan bahasa, debugging, pengujian yang sama di kedua alat, saran migrasi …

Baca artikel →
Pengujian perangkat lunak

Partisi Ekivalensi: Teknik Desain Tes Dijelaskan Dengan Contoh yang Dikerjakan

Penjelasan partisi ekivalensi: cara menemukan partisi yang valid dan tidak valid, contoh yang berfungsi untuk usia, kata sandi dan kupon, pengujian …

Baca artikel →
Pengujian perangkat lunak

Severity vs Priority dalam Pengujian Perangkat Lunak: Perbedaan, Matriks dan Contoh Nyata

Keparahan vs prioritas dalam pengujian perangkat lunak dijelaskan: definisi yang jelas, matriks empat arah dengan contoh, skala level, siapa yang me…

Baca artikel →
Basis data & SQL

Tutorial Subkueri SQL: Jenis, Subkueri yang Berkorelasi, dan ADA Dengan Contoh

Tutorial subkueri SQL dengan kueri yang kami jalankan: subkueri skalar, IN, FROM dan SELECT, subkueri yang berkorelasi, EXISTS, jebakan NOT IN NULL …

Baca artikel →
Basis data & SQL

Penjelasan Transaksi SQL dan ACID: COMMIT, ROLLBACK dan Tingkat Isolasi

Transaksi SQL dan ACID dijelaskan dengan transfer bank yang kami jalankan: COMMIT, ROLLBACK, savepoint, kunci, tingkat isolasi, pembacaan kotor, keb…

Baca artikel →
Pengembangan perangkat lunak

Git merge vs rebase: perbedaan, contoh, dan kapan memakai masing-masing

Git merge vs rebase dijelaskan dengan keluaran log nyata, tabel perbandingan, aturan emas rebase, dan alur kerja tim yang aman.

Baca artikel →
Pengembangan perangkat lunak

List Comprehension Python: Sintaks, Contoh, dan Kapan Harus Dihindari

List comprehension Python dijelaskan: sintaks, filter, if-else, perulangan bersarang, waktu yang diukur, dan kapan perulangan for biasa lebih baik.

Baca artikel →
Basis data & SQL

Penjelasan SQL JOIN dengan Contoh (Inner, Left, Right, Full)

Pahami SQL JOIN langkah demi langkah dengan tabel dan query contoh: INNER, LEFT, RIGHT, FULL, CROSS, dan SELF, plus kesalahan umum dan tips performa.

Baca artikel →