Tutorial Pengujian Blockchain

Apa itu Blockchain?

Blockchain adalah penyimpanan basis data bersama yang menyimpan daftar catatan yang terus bertambah, yang disebut blok. Setiap blok berisi hash dari blok sebelumnya dan stempel waktu.

Dalam tutorial ini, Anda akan belajar:

Fitur-fitur Blockchain meliputi

  • Sistem Terdesentralisasi: Bermanfaat dalam Berbagai Industri seperti keuangan, real estat, dll.
  • Keamanan yang lebih baik: Menggunakan beberapa node untuk menyelesaikan dan mengautentikasi transaksi
  • Keaslian: Memungkinkan algoritma unik untuk memproses data
  • Peningkatan Kapasitas: Meningkatkan kapasitas seluruh Jaringan

Jenis Blockchain

Berikut tiga jenis Blockchain:

Konsorsium Blockchain:

Banyak organisasi akan memiliki akses dan otoritas atas Jaringan. Ini adalah Sistem yang sepenuhnya terdesentralisasi

Blockchain Publik:

Dalam pengujian blockchain jenis ini, setiap orang memiliki akses ke Jaringan dan dapat mengambil bagian dalam Konsensus. Sistemnya Terdesentralisasi.

Blockchain Pribadi:

Hanya organisasi tunggal yang mempunyai akses dan wewenang atas Jaringan. Ini adalah sistem yang terdesentralisasi sebagian.

Publik Swasta Konsorsium
Mengakses
  • Siapapun
  • Organisasi tunggal
  • Banyak organisasi
Peserta
  • Tidak terbatas
  • Anonim
  • Diizinkan
  • Identitas yang Diketahui
  • Diizinkan
  • Identitas yang Diketahui
Security
  • Mekanisme Konsensus
  • Bukti Kerja/Bukti Tumpukan
  • Peserta yang telah disetujui sebelumnya
  • Voting/Konsensus multipartai
  • Peserta yang telah disetujui sebelumnya
  • Voting/Konsensus multipartai
Kecepatan Transaksi
  • Lambat
  • Lebih Ringan dan Lebih Cepat
  • Lebih Ringan dan Lebih Cepat

Komponen Utama dari blockchain

Aplikasi Node

Setiap Node harus memasang dan menjalankan aplikasi komputer yang sesuai dengan ekosistem yang ingin mereka ikuti

bersama Ledger

Struktur data (buku besar) dikelola di dalam aplikasi node. Konten untuk ekosistem dapat dilihat setelah aplikasi node dalam keadaan berjalan.

Algoritma Konsensus

Algoritma konsensus diimplementasikan sebagai bagian dari aplikasi node, menyediakan 'aturan main' tentang bagaimana ekosistem akan menghasilkan tampilan tunggal dari buku besar.

Mesin virtual

Abstraksi suatu mesin yang dioperasikan dengan instruksi dan diimplementasikan sebagai bagian dari aplikasi node yang dijalankan oleh setiap partisipan dalam ekosistem.

Bagaimana Cara Kerja Blockchain?

Keuntungan Blockchain

  • Hemat waktu: Blockchain mengurangi waktu transaksi dari hari menjadi menit. Solusi Transaksi lebih cepat karena tidak memerlukan verifikasi oleh otoritas pusat.
  • Hemat Biaya: Transaksi Blockchain kurang ditangani. Peserta dapat menukarkan barang berharga secara langsung. Blockchain menghilangkan duplikasi upaya karena peserta memiliki akses ke buku besar bersama.
  • Tingkatkan Keamanan: Perlindungan keamanan Blockchain terhadap penipuan, dan kejahatan dunia maya.

Tantangan dalam Pengujian Blockchain

  • Memahami Teknologi– Blockchain adalah teknologi baru dan pemahaman teknologi dengan pengetahuan domain sangat penting dalam pengujian Aplikasi Blockchain
  • Kurangnya Alat Pengujian Blockchain– Pengujian aplikasi berbasis Blockchain adalah tentang alat. Memilih alat yang tepat sesuai aplikasi adalah salah satu keputusan penting.
  • Menentukan Strategi Tes– Seperti aplikasi apa pun, merancang Strategi Uji untuk aplikasi Blockchain. Ini adalah salah satu tantangan terbesar karena Strategi Pengujian menuntut pengetahuan dan pemahaman mendalam tentang teknologi dan aplikasi.
  • Ukuran Blok dan Rantai– Seiring dengan Pengujian standar, alat, dan praktik terbaik yang ada, Pengujian ukuran blok dan ukuran rantai juga penting. Aplikasi Blockchain mungkin gagal tanpa validasi ukuran blok dan ukuran rantai yang tepat.
  • Tes integrasi– Karena ada banyak komponen yang terlibat dalam aplikasi Blockchain, pengujian integrasi harus dilakukan dengan benar dan sering untuk menguji apakah semua komponen terintegrasi dengan benar untuk menghindari kegagalan.
  • Performa dan Beban-Gagal menguji kinerja dan pengujian beban memberikan sedikit atau tidak ada wawasan tentang bagaimana kinerja aplikasi Blockchain baik dalam produksi maupun dalam beban kerja dan kondisi jaringan tertentu.
  • Security– Mengamankan data harus menjadi hal terpenting dalam Aplikasi Blockchain. Blockchain dapat menjadi bagian dari berbagai sektor seperti Kesehatan, keuangan, dll. Segala jenis serangan berbahaya dapat berdampak pada aplikasi Blockchain

Tahapan Pengujian Blockchain

Fase Inisiasi:

  • Memahami Blockchain Architekstur: Pada fase ini, kami memahami dan menganalisis persyaratan Bisnis dan fungsional. Ini menjelaskan perilaku aplikasi dan bagaimana pengguna akan berinteraksi dengan aplikasi
  • Perancangan Strategi Tes Penuh: Selama fase ini, kami menjelaskan pendekatan pengujian untuk menguji suatu aplikasi. Hal ini harus dilakukan secara rinci sehingga setiap tujuan dapat tercakup sepenuhnya.

Fase Desain:

  • Pembuatan kasus uji: Pada fase ini, tim QA menulis kasus uji dengan langkah-langkah yang tepat. Kasus Uji ini ditinjau oleh Analis Bisnis (BA).
  • Uji Pembuatan Data: Dalam fase ini, data pengujian dibuat atau diekstraksi dari lingkungan sebelumnya terhadap kebutuhan bisnis. Data pengujian dapat dibuat secara manual atau menggunakan alat otomatisasi.
  • Pengaturan Lingkungan: Pada langkah ini, lingkungan pengujian dikonfigurasikan sesuai kebutuhan Bisnis atau aplikasi
  • Metrik Kinerja: Metrik Kinerja mewakili informasi dalam hal kinerja aplikasi, Sistem atau komponen

Fase Pengujian:

  • Pengujian API:Dalam pengujian API, kami memastikan bahwa interaksi antara aplikasi dalam ekosistem blockchain sesuai dengan yang diharapkan
  • Pengujian Blok: Semua blok di Jaringan harus diuji secara individual untuk memastikan kerja sama yang tepat.
  • Pengujian Fungsional: Dalam Pengujian Fungsional, kami mengevaluasi kerja berbagai bagian fungsional Blockchain (misalnya, kontrak pintar).
  • Pengujian Kinerja: Detail seperti latensi jaringan berdasarkan ukuran blok, ukuran jaringan, ukuran transaksi yang diharapkan, dan berapa lama waktu yang dibutuhkan kueri untuk mengembalikan output dengan protokol autentikasi khusus
  • Pengujian Keamanan: Dalam hal ini, kami memastikan bahwa aplikasi rentan terhadap serangan dan Sistem dapat melindungi data dan mampu menangani serangan berbahaya, dll.
  • Tes integrasi: Dalam pengujian Integrasi, kami memastikan bahwa semua komponen aplikasi terintegrasi dengan baik dan melakukan tindakan dengan tepat
  • Pengujian Kontrak Cerdas: Pengujian Kontrak Cerdas adalah tentang melakukan pengujian fungsional terperinci terhadap logika dan proses bisnis.

Fase Laporan:

  • Laporan Ringkasan Proyek:Jelaskan gambaran umum keseluruhan rincian proyek, tanggal proyek, biaya, dan Rincian Tugas
  • Laporan Pengujian Kontrak Cerdas:Laporan ini menjelaskan detail pemrosesan kontrak pintar, data, dan aturan
  • Laporan Pengujian Keamanan: Menampilkan informasi Rentan dalam dokumen formal untuk klien dan manajemen yang lebih tinggi. Laporan tersebut berisi tanggal pengujian, data pengujian, dan Ringkasan kerentanan yang ditemukan
  • Laporan pengujian kinerja:Laporan ini menunjukkan rincian mengenai kinerja aplikasi seperti kecepatan, skalabilitas, keandalan, dll.

Jenis Pengujian Kunci pada Aplikasi Blockchain

Pengujian Fungsional

Pengujian Fungsional memainkan peran penting dalam Pengujian Blockchain karena membantu mengevaluasi kebutuhan bisnis, proses, dan efektivitas kasus penggunaan. Di bawah ini adalah komponen-komponen yang dapat diuji sebagai bagian dari Pengujian fungsional: 1) Ukuran Blok dan Ukuran Rantai 2) Menambahkan Blok 3) Data Transmission

Tes integrasi

Aplikasi Blockchain berfungsi di berbagai lingkungan. Jadi, penting untuk menguji koneksi antar sistem

Pengujian Kinerja:

Ini membantu dalam mengidentifikasi hambatan perangkat keras dan perangkat lunak terlebih dahulu. Ini juga dapat membantu Anda mengetahui potensi biaya menjalankan aplikasi di cloud atau lingkungan lainnya.

Pengujian Node

Semua node yang berbeda di Jaringan harus diuji secara independen untuk memastikan kelancaran kerja sama.

Pengujian API:

Pengujian Antarmuka Pemrograman Aplikasi menguji interaksi antara aplikasi dalam ekosistem blockchain. Pengujian API memastikan bahwa permintaan dan respons diformat dan dioperasikan dengan benar.

Alat Pengujian Blockchain

Berikut adalah beberapa alat Pengujian Blockchain yang diimpor:

1)Ethereum Penguji:

Ini adalah perpustakaan pengujian sumber terbuka yang tersedia di repo GitHub. Sangat mudah untuk mengaturnya dengan dukungan API yang dapat dikelola untuk berbagai persyaratan Pengujian.

2) ganache:

Ini sebelumnya dikenal sebagai tesrpc, adalah perpustakaan yang banyak digunakan untuk pengujian Ethereum kontrak secara lokal. Ia bekerja dengan memutar semacam tiruan Brantai kunci yang memberi Anda akses ke akun yang dapat Anda gunakan Testing.

3) Komposer Hyperledger:

Hyperledger Composer adalah alat sumber terbuka yang membantu pengembang membangun aplikasi blockchain. Dengan menggunakan alat ini, kita dapat melakukan tiga jenis pengujian utama: pengujian interaktif, unit otomatis, dan pengujian sistem. Jika Anda tertarik mempelajari cara membangun aplikasi blockchain dan bekerja dengan alat seperti Hyperledger Composer, lihat panduan ini di bagaimana menjadi pengembang blockchain untuk memulai perjalanan Anda di bidang yang menarik ini.