Apa itu Blockchain?
Blockchain adalah kedai pangkalan data bersama yang terus berkembang senarai rekod, yang disebut blok. Setiap blok mengandungi hash dari blok sebelumnya dan cap waktu.
Dalam tutorial ini, anda akan belajar:
- Apa itu Blockchain?
- Ciri-ciri Blockchain merangkumi
- Jenis Blockchain
- Komponen Utama blockchain
- Kelebihan Blockchain
- Cabaran dalam Pengujian Blockchain
- Fasa Pengujian Blockchain 7
- Jenis Ujian Utama pada Aplikasi Blockchain 10
- Alat Ujian Blockchain 10
Ciri-ciri Blockchain merangkumi
- Sistem Desentralisasi : Bermanfaat dalam Pelbagai Industri seperti kewangan, harta tanah dll.
- Keamanan yang Lebih Baik : Menggunakan beberapa nod untuk menyelesaikan dan mengesahkan transaksi
- Keaslian : Membolehkan algoritma unik memproses data
- Peningkatan Kapasiti : Meningkatkan kapasiti keseluruhan Rangkaian
Jenis Blockchain
Berikut adalah tiga jenis Blockchain:
Blockchain Konsortium:
Beberapa organisasi akan mempunyai akses dan kuasa melalui Rangkaian. Ini adalah Sistem terdesentralisasi sepenuhnya
Rangkaian Sekatan Awam:
Dalam ujian blockchain jenis ini, setiap orang mempunyai akses ke Rangkaian dan dapat mengambil bahagian dalam Konsensus. Sistemnya yang Terdesentralisasi.
Blockchain Peribadi:
Hanya organisasi Tunggal yang akan mempunyai akses dan kuasa melalui Rangkaian. Ini adalah sistem separa terdesentralisasi.
Awam | Peribadi | Konsortium | |
---|---|---|---|
Akses |
|
|
|
Peserta |
|
|
|
Keselamatan |
|
|
|
Kelajuan Transaksi |
|
|
|
Komponen Utama blockchain
Aplikasi Node
Setiap Node mesti memasang dan menjalankan aplikasi komputer yang pasti untuk ekosistem yang ingin mereka sertai
Lejar Berkongsi
Struktur data (lejar) diuruskan di dalam aplikasi nod. Kandungan untuk ekosistem dapat dilihat setelah aplikasi node dalam keadaan berjalan.
Algoritma Konsensus
Algoritma konsensus dilaksanakan sebagai sebahagian dari aplikasi simpul, yang menyediakan 'peraturan permainan' untuk bagaimana ekosistem akan tiba pada satu pandangan lejar.
Mesin maya
Pengambilan mesin yang dikendalikan dengan arahan dan Dilaksanakan sebagai sebahagian daripada aplikasi nod yang dijalankan oleh setiap peserta ekosistem.
Bagaimana Blockchain Berfungsi?
Kelebihan Blockchain
- Penjimatan Masa : Blockchain mengurangkan masa transaksi dari beberapa hari hingga beberapa minit. Penyelesaian Transaksi lebih pantas kerana tidak menuntut pengesahan oleh pihak berkuasa pusat.
- Jimat Kos : Transaksi Blockchain kurang dikendalikan. Peserta dapat bertukar barang secara langsung. Blockchain menghilangkan pertindihan usaha kerana peserta mempunyai akses ke lejar bersama.
- Meningkatkan Keselamatan : Perlindungan keselamatan Blockchain terhadap penipuan, dan jenayah siber.
Cabaran dalam Pengujian Blockchain
- Memahami Teknologi - Blockchain adalah teknologi baru dan memahami teknologi dengan pengetahuan domain sangat penting dalam menguji Aplikasi Blockchain
- Kekurangan Alat Ujian Blockchain - Pengujian aplikasi berasaskan Blockchain adalah mengenai alat. Memilih alat yang tepat mengikut aplikasi adalah salah satu keputusan penting.
- Mendefinisikan Strategi Uji - Seperti aplikasi lain, merancang Strategi Uji untuk aplikasi Blockchain. Ini adalah salah satu cabaran terbesarnya kerana Uji Strategi menuntut pengetahuan dan pemahaman mendalam tentang teknologi dan aplikasi.
- Ukuran Blok dan Rantai - Bersama dengan Ujian standard, alat, dan amalan terbaik yang ada, Pengujian untuk ukuran blok dan ukuran rantai juga penting. Aplikasi blockchain mungkin gagal tanpa pengesahan ukuran blok dan ukuran rantai yang tepat.
- Ujian Integrasi - Oleh kerana terdapat banyak komponen yang terlibat dalam aplikasi Blockchain, pengujian integrasi harus dilakukan dengan betul dan kerap untuk menguji semua komponen disatukan dengan betul untuk mengelakkan kegagalan.
- Prestasi dan Beban- Gagal menguji prestasi dan pengujian beban memberikan sedikit atau tidak ada wawasan tentang bagaimana kinerja aplikasi Blockchain dalam kedua-dua produksi dan juga di bawah beban kerja dan keadaan rangkaian tertentu.
- Keselamatan - Menjamin data harus menjadi yang paling penting dalam Aplikasi Blockchain. Blockchain boleh menjadi sebahagian daripada pelbagai sektor seperti Kesihatan, kewangan, dan lain-lain. Segala jenis serangan berbahaya boleh mempengaruhi aplikasi Blockchain
Fasa Pengujian Blockchain
Fasa Permulaan:
- Memahami Senibina Blockchain : Pada fasa ini, kami memahami dan menganalisis keperluan Perniagaan dan fungsi. Ini menerangkan tingkah laku aplikasi dan bagaimana pengguna akan berinteraksi dengan aplikasi tersebut
- Merancang Strategi Ujian Penuh : Selama fasa ini, kami menerangkan pendekatan pengujian untuk menguji aplikasi. Perkara ini harus dilakukan secara terperinci agar setiap objektif diliputi sepenuhnya.
Fasa Reka Bentuk:
- Pembuatan kes ujian : Pada fasa ini, pasukan QA menulis kes ujian dengan langkah yang betul. Kes Ujian ini disemak oleh Penganalisis Perniagaan (BA).
- Penciptaan Data Uji : Pada fasa ini, data ujian dibuat atau diekstrak dari lingkungan sebelumnya terhadap keperluan perniagaan. Data ujian boleh dibuat secara manual atau menggunakan alat automasi.
- Persediaan Lingkungan : Pada langkah ini, lingkungan pengujian dikonfigurasi sebagai kebutuhan untuk Bisnis atau aplikasi
- Metrik Prestasi : Metrik Prestasi mewakili maklumat dari segi prestasi aplikasi, Sistem atau komponennya
Fasa Ujian:
- Pengujian API : Dalam pengujian API, kami memastikan bahawa interaksi antara aplikasi dalam ekosistem blockchain adalah seperti yang diharapkan
- Pengujian Blok : Semua blok di Rangkaian harus diuji secara individu untuk memastikan kerjasama yang betul.
- Pengujian Fungsional : Dalam Ujian Fungsional, kami menilai kerja pelbagai bahagian fungsional dari Blockchain (contohnya, kontrak pintar).
- Pengujian Prestasi : Perincian seperti latensi rangkaian berdasarkan ukuran blok, ukuran rangkaian, ukuran transaksi yang diharapkan, dan berapa lama permintaan diperlukan untuk mengembalikan output dengan protokol pengesahan khusus
- Ujian Keselamatan : Dalam hal ini, kami memastikan aplikasi rentan terhadap serangan dan Sistem dapat melindungi data dan mampu menangani serangan berbahaya, dll.
- Ujian Integrasi : Dalam pengujian Integrasi, kami memastikan bahawa semua komponen aplikasi diintegrasikan dengan baik dan melakukan tindakan dengan tepat
- Pengujian Kontrak Pintar : Pengujian Kontrak Pintar adalah mengenai melakukan pengujian fungsional terperinci mengenai logik dan proses perniagaan.
Fasa Laporan:
- Laporan Ringkasan Projek : Jelaskan gambaran keseluruhan keseluruhan butiran projek, tarikh projek, kos, dan Perincian Tugas
- Laporan Pengujian Kontrak Pintar : Laporan ini menerangkan perincian kontrak pintar, data, dan pemprosesan peraturan
- Laporan Ujian Keselamatan : Menunjukkan maklumat yang rapuh dalam dokumen rasmi untuk pelanggan dan pengurusan yang lebih tinggi. Laporan tersebut mengandungi tarikh pengujian, data ujian, dan Ringkasan kelemahan yang dijumpai
- Laporan ujian prestasi : Laporan ini menunjukkan perincian mengenai prestasi aplikasi seperti kelajuan, skala, kebolehpercayaan, dll.
Jenis Ujian Utama pada Aplikasi Blockchain
Ujian Berfungsi
Pengujian Fungsional memainkan peranan penting dalam Pengujian Blockchain kerana membantu dalam menilai keperluan perniagaan, proses, dan keberkesanan kes penggunaan. Berikut adalah komponen yang boleh diuji sebagai sebahagian daripada Pengujian fungsional: 1) Ukuran Blok dan Ukuran Rantai 2) Menambah Blok 3) Penghantaran Data
Ujian Integrasi
Aplikasi blockchain berfungsi di pelbagai persekitaran. Jadi, penting untuk menguji sambungan antara sistem
Ujian Prestasi:
Ini membantu dalam mengenalpasti hambatan perkakasan dan perisian terlebih dahulu. Ini juga dapat membantu anda mengetahui kemungkinan kos menjalankan aplikasi di cloud atau persekitaran lain.
Ujian Node
Semua nod yang berbeza di Rangkaian mesti diuji secara bebas untuk memastikan kerjasama yang lancar.
Ujian API:
Antaramuka Pengaturcaraan Aplikasi menguji interaksi antara aplikasi dalam ekosistem blockchain. Ujian API memastikan bahawa permintaan dan respons diformat dan dikendalikan dengan betul.
Alat Ujian Blockchain
Berikut adalah beberapa alat Ujian Blockchain import:
1) Penguji Ethereum:
Ia adalah pustaka pengujian sumber terbuka yang terdapat di repo GitHub. Sangat mudah untuk disiapkan dengan sokongan API yang dapat dikendalikan untuk pelbagai keperluan Ujian.
2) Ganache:
Sebelumnya dikenal sebagai Testrpc , adalah perpustakaan yang banyak digunakan untuk menguji kontrak Ethereum di dalam negara. Ia berfungsi dengan berputar sehingga sejenis mock B lockchain yang memberikan anda akses kepada akaun anda boleh gunakan untuk T esting.
3) Komposer Hyperledger:
Hyperledger Composer adalah alat sumber terbuka yang membantu pembangun membina aplikasi blockchain. Dengan menggunakan alat ini, kita dapat melakukan tiga jenis pengujian: Uji interaktif, unit automatik, dan pengujian Sistem.
Artikel ini disumbangkan oleh Suman Dass.