Kursus ini adalah pengenalan dan eksplorasi pengujian untuk web.
Dalam materi ini, Anda akan mempelajari hal-hal berikut:
- Dasar-dasar pengujian
- Pengujian otomatis versus manual
- Tempat dan cara menjalankan pengujian
- Praktik terbaik
- Filosofi pengujian, termasuk apa yang harus diuji, siapa yang bertanggung jawab, dan bagaimana mempertimbangkan pengujian suatu sarana untuk suatu tujuan, bukan sebagai tujuan itu sendiri.
Kursus ini juga menyertakan kode contoh yang ringkas dan praktis untuk dipelajari.
Cakupan kursus ini mencakup JavaScript dan model dokumen di frontend, serta pengujian library di backend, yang dijalankan di lingkungan seperti Node.js. Hal ini mengasumsikan bahwa Anda tidak memiliki latar belakang dalam pengujian, tetapi Anda memerlukan landasan dalam JavaScript dan pengalaman dengan Node.js atau yang serupa. Aplikasi ini cocok untuk developer baru dan berpengalaman.
Karena sebagian besar framework dan alat pengujian menggunakan bahasa yang sama, Learn Testing mengambil pendekatan umum untuk pengujian. Jika penting untuk lebih spesifik, kami akan menggunakan Vitest, framework pengujian yang makin populer dan menunjukkan cara menguji komponen untuk web yang ditulis menggunakan React atau Lit. Untuk mempelajari pilihan ini lebih lanjut, lihat lampiran.
Anda dapat mempelajari kursus ini dari awal hingga akhir, tetapi juga dapat menggunakannya sebagai referensi untuk topik tertentu. Jika relevan, kursus akan ditautkan ke referensi.
Inilah yang akan Anda pelajari:
Mulai melakukan pengujian
Pengertian pengujian
Ini adalah pengantar pengujian tingkat tinggi, termasuk contoh praktis pengujian di JavaScript. Bacaan ini juga menyertakan pengenalan skala setiap pengujian.
Tempat pengujian dijalankan
Pengujian dapat membantu Anda menjadi produktif dan menulis software secara efisien, dan meskipun memungkinkan untuk menjalankannya secara manual menggunakan command line, Anda juga dapat menjalankannya sebagai bagian dari proses atau sistem build otomatis.
Lingkungan pengujian
Alat runtime seperti Node adalah untuk kode tujuan umum, dan kode pengujian untuk browser dapat dijalankan di lingkungan yang diemulasi atau menggunakan framework yang dirancang untuk pengujian browser.
Jenis pengujian otomatis
Pelajari kategorisasi umum jenis pengujian, yang sebagian besar sesuai dengan skalanya. Yang penting, jenis pengujian tidak memiliki definisi yang ketat dan akan berubah berdasarkan kebutuhan Anda.
Yang perlu diuji dan pendekatan Anda
Mengidentifikasi bagian terpenting dari codebase Anda untuk menerapkan pengujian yang ketat bisa menjadi keputusan yang sulit. Modul ini memperkenalkan ide pengujian sebagai cara untuk mencapai tujuan, serta cara menilai kode Anda untuk pengujian.
Penerapan pengujian komponen
Dalam modul praktik ini, Anda akan mempelajari cara menguji komponen React yang tidak terlalu ideal. Fungsi ini menggunakan Vitest melalui tiga contoh berbeda: menangkap
traffic jaringan yang dibuat dengan fetch()
, meniru dependensi eksternal, dan menggunakan
Context
React untuk memberikan bit kode kustom hanya untuk pengujian.
Analisis statis
Menggunakan alat seperti TypeScript dan ESLint, meskipun pendekatan yang tidak mapan untuk pengujian, dapat memberikan suatu jenis pemeriksaan otomatis. Modul ini membahas alat alternatif ini.
Pernyataan dan primitif lainnya
Alat perdagangan
Pelajari primitif yang umum untuk sebagian besar library atau framework pengujian, termasuk test()
dan assert
, yang akan menjadi andalan setiap pengujian yang Anda tulis di JavaScript.
Segera hadir
- Menghindari kesalahan umum dalam pengujian
- Tes ganda
- Menguji library dan utilitas
- Menentukan framework pengujian
Bagian selanjutnya akan berisi lebih banyak halaman tentang framework dan library pengujian, cara penggunaannya, serta cara memutuskan alat mana dan alat lain yang akan digunakan.
Segera hadir: Pengujian berbasis masalah
Anda akan mempelajari pola untuk menghadapi sejumlah tantangan umum pengujian Web.
Segera hadir: Pengujian otomatis dalam praktik
Ini adalah bagian praktis yang menunjukkan cara menguji situs e-commerce yang dibuat dengan Next.js, termasuk kode yang dapat Anda lihat dan pelajari sendiri. Anda akan mempelajari cara menguji komponennya, cara menggunakan layanan eksternalnya, termasuk pembayaran, untuk pengujian, dan cara membuat pengujian menyeluruh untuk situs yang memiliki halaman login opsional.
Segera hadir: Filosofi pengujian
Pengujian dapat menjadi tantangan engineering, tetapi mengetahui apa yang harus diuji, siapa yang bertanggung jawab, dan praktik terbaik juga dapat menjadi tantangan bagi tim pengembangan.
Segera hadir: Menulis kode yang dapat diuji
Kursus ini menyediakan panduan tentang cara menguji kode seperti yang ada, tetapi tim Anda dapat mengadopsi berbagai pola agar kode Anda lebih mudah diuji. Bagian ini akan membahas beberapa pendekatan.