Apa itu Blockchain?
Blockchain adalah penyimpanan database bersama daftar catatan yang terus berkembang, yang disebut blok. Setiap blok berisi hash dari blok sebelumnya dan stempel waktu.
Dalam tutorial ini, Anda akan mempelajari:
- Apa itu Blockchain?
- Fitur Blockchain termasuk
- Jenis Blockchain
- Komponen Utama dari sebuah blockchain
- Keuntungan dari Blockchain
- Tantangan dalam Pengujian Blockchain
- Tahapan Pengujian Blockchain 7
- Jenis Pengujian Utama pada Aplikasi Blockchain 10
- Alat Pengujian Blockchain 10
Fitur Blockchain termasuk
- Sistem Terdesentralisasi : Bermanfaat di Berbagai Industri seperti keuangan, real estat, dll.
- Keamanan yang Lebih Baik : Menggunakan banyak node untuk menyelesaikan dan mengautentikasi transaksi
- Keaslian : Memungkinkan algoritme unik untuk memproses data
- Peningkatan Kapasitas : Meningkatkan kapasitas seluruh Jaringan
Jenis Blockchain
Berikut tiga jenis Blockchain:
Blockchain Konsorsium:
Beberapa organisasi akan memiliki akses dan otoritas atas Jaringan. Ini Sistem yang sepenuhnya terdesentralisasi
Blockchain Publik:
Dalam jenis pengujian blockchain ini, setiap orang memiliki akses ke Jaringan dan dapat mengambil bagian dalam Konsensus. Sistem Desentralisasinya.
Blockchain Pribadi:
Hanya organisasi tunggal yang akan memiliki akses dan otoritas atas Jaringan. Ini adalah sistem yang sebagian terdesentralisasi.
Publik | Pribadi | Konsorsium | |
---|---|---|---|
Mengakses |
|
|
|
Peserta |
|
|
|
Keamanan |
|
|
|
Kecepatan Transaksi |
|
|
|
Komponen Utama dari sebuah blockchain
Aplikasi Node
Setiap Node harus menginstal dan menjalankan aplikasi komputer yang pasti ke ekosistem tempat mereka ingin berpartisipasi
Buku Besar Bersama
Struktur data (buku besar) dikelola di dalam aplikasi node. Konten ekosistem dapat dilihat setelah aplikasi node dalam keadaan berjalan.
Algoritma Konsensus
Algoritme konsensus diimplementasikan sebagai bagian dari aplikasi node, memberikan 'aturan permainan' tentang bagaimana ekosistem akan sampai pada satu tampilan buku besar.
Mesin virtual
Abstraksi mesin yang dioperasikan dengan instruksi dan Diimplementasikan sebagai bagian dari aplikasi node yang dijalankan oleh setiap peserta dalam ekosistem.
Bagaimana Cara Kerja Blockchain?
Keuntungan dari Blockchain
- Hemat Waktu : Blockchain mengurangi waktu transaksi dari hari menjadi menit. Solusi Transaksi lebih cepat karena tidak menuntut verifikasi oleh otoritas pusat.
- Hemat Biaya : Transaksi Blockchain kurang penanganan. Peserta dapat menukar barang berharga secara langsung. Blockchain menghapus 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 memahami teknologi dengan pengetahuan domain sangat penting dalam menguji Aplikasi Blockchain
- Kekurangan Alat Pengujian Blockchain - Pengujian aplikasi berbasis Blockchain adalah tentang alat. Memilih alat yang tepat sesuai aplikasi adalah salah satu keputusan penting.
- Mendefinisikan Strategi Uji - Seperti aplikasi lainnya, merancang Strategi Uji untuk aplikasi Blockchain. Ini adalah salah satu tantangan terbesar karena Strategi Uji menuntut pengetahuan dan pemahaman mendalam tentang teknologi dan aplikasi.
- Ukuran Blok dan Rantai - Seiring dengan Pengujian standar, alat, dan praktik terbaik yang diterapkan, Pengujian ukuran blok dan ukuran rantai juga penting. Aplikasi blockchain mungkin gagal tanpa validasi ukuran blok dan ukuran rantai yang tepat.
- Pengujian Integrasi - Karena ada banyak komponen yang terlibat dalam aplikasi Blockchain, pengujian integrasi harus dilakukan dengan benar dan sering untuk menguji bahwa semua komponen terintegrasi dengan benar untuk menghindari kegagalan.
- Kinerja dan Beban- Gagal menguji kinerja dan pengujian beban memberi sedikit atau tidak ada wawasan tentang bagaimana kinerja aplikasi Blockchain baik dalam produksi maupun di bawah beban kerja dan kondisi jaringan tertentu.
- Keamanan - Mengamankan data harus menjadi yang paling penting dalam Aplikasi Blockchain. Blockchain dapat menjadi bagian dari berbagai sektor seperti Kesehatan, keuangan, dll. Semua jenis serangan berbahaya dapat memengaruhi aplikasi Blockchain
Tahapan Pengujian Blockchain
Fase Inisiasi:
- Memahami Arsitektur Blockchain : Pada fase ini, kami memahami dan menganalisis Bisnis dan persyaratan fungsional. Ini menjelaskan perilaku aplikasi dan bagaimana pengguna akan berinteraksi dengan aplikasi
- Full Test Strategy Designing : Selama fase ini, kami menjelaskan pendekatan pengujian untuk menguji aplikasi. Ini harus dilakukan secara detail sehingga setiap tujuan tercakup sepenuhnya.
Fase Desain:
- Pembuatan kasus uji : Dalam fase ini, tim QA menulis kasus uji dengan langkah-langkah yang tepat. Testcases ini ditinjau oleh Business Analyst (BA).
- Pembuatan Data Uji : Dalam fase ini, data uji dibuat atau diekstrak dari lingkungan sebelumnya terhadap persyaratan bisnis. Data pengujian dapat dibuat secara manual atau menggunakan alat otomatisasi.
- Penyetelan Lingkungan : Pada langkah ini, lingkungan pengujian dikonfigurasi sebagai kebutuhan untuk Bisnis atau aplikasi
- Metrik Kinerja : Metrik Kinerja mewakili informasi dalam hal kinerja aplikasi, Sistem atau komponen
Tahap Pengujian:
- Pengujian API : Dalam pengujian API, kami memastikan bahwa interaksi antar aplikasi dalam ekosistem blockchain seperti 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 pekerjaan 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 permintaan untuk mengembalikan output dengan protokol otentikasi khusus
- Pengujian Keamanan : Dalam hal ini, kami memastikan bahwa aplikasi rentan terhadap serangan dan Sistem dapat melindungi data dan mampu menangani serangan berbahaya, dll.
- Pengujian 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 dari logika dan proses bisnis.
Tahap Laporan:
- Laporan Ringkasan Proyek : Jelaskan gambaran umum keseluruhan dari rincian proyek, tanggal proyek, biaya, dan Rincian Tugas
- Laporan Pengujian Kontrak Cerdas : Laporan ini menjelaskan detail kontrak Cerdas, data, dan pemrosesan aturan
- Laporan Pengujian Keamanan : Menunjukkan 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 Utama pada Aplikasi Blockchain
Pengujian Fungsional
Pengujian Fungsional memainkan peran penting dalam Pengujian Blockchain karena membantu dalam mengevaluasi persyaratan bisnis, proses, dan keefektifan kasus penggunaan. Di bawah ini adalah komponen yang dapat diuji sebagai bagian dari Pengujian fungsional: 1) Ukuran Blok dan Ukuran Rantai 2) Penambahan Blok 3) Transmisi Data
Tes integrasi
Aplikasi blockchain bekerja di berbagai lingkungan. Jadi, penting untuk menguji koneksi antar-sistem
Pengujian Kinerja:
Ini membantu dalam mengidentifikasi kemacetan perangkat keras dan perangkat lunak sebelumnya. Ini juga dapat membantu Anda mengetahui potensi biaya menjalankan aplikasi di cloud atau lingkungan lain.
Pengujian Node
Semua node yang beragam di Jaringan harus diuji secara independen untuk memastikan kerjasama yang lancar.
Pengujian API:
Antarmuka Pemrograman Aplikasi menguji interaksi antar aplikasi dalam ekosistem blockchain. Pengujian API memastikan bahwa permintaan dan tanggapan diformat dan dioperasikan dengan benar.
Alat Pengujian Blockchain
Berikut, beberapa impor alat Pengujian Blockchain:
1) Penguji Ethereum:
Ini adalah pustaka pengujian sumber terbuka yang tersedia di repo GitHub. Mudah disiapkan dengan dukungan API yang dapat dikelola untuk berbagai persyaratan Pengujian.
2) Ganache:
Ini sebelumnya dikenal sebagai Testrpc , adalah perpustakaan yang banyak digunakan untuk menguji kontrak Ethereum secara lokal. Ia bekerja dengan memutar semacam rantai kunci B tiruan yang memberi Anda akses ke akun yang dapat Anda gunakan untuk T esting.
3) Komposer Hyperledger:
Hyperledger Composer adalah alat sumber terbuka yang membantu pengembang membangun aplikasi blockchain. Dengan menggunakan alat ini, kami dapat melakukan terutama tiga jenis pengujian: Pengujian interaktif, unit otomatis, dan pengujian Sistem.
Artikel ini dikontribusikan oleh Suman Dass.