Blockchain Test Eğitimi

Blockchain nedir?

Blockchain, blok adı verilen, sürekli büyüyen kayıt listesi içeren, paylaşılan bir veritabanı deposudur. Her blok, önceki bloğun karma değerini ve bir zaman damgasını içerir.

Bu eğitimde şunları öğreneceksiniz:

Blockchain'in özellikleri şunları içerir:

  • Merkezi Olmayan Sistem: Finans, emlak vb. Gibi Çeşitli Sektörlerde Faydalıdır.
  • Daha iyi güvenlik: İşlemleri tamamlamak ve doğrulamak için birden fazla düğüm kullanır
  • Gerçeklik: Benzersiz algoritmanın verileri işlemesine izin verir
  • Artan Kapasite: Tüm Ağın kapasitesini artırır

Blockchain Türü

İşte üç tip Blockchain:

Konsorsiyum Blockchain'i:

Birden fazla kuruluşun Ağ üzerinden erişimi ve yetkisi olacaktır. Tamamen merkezi olmayan bir sistemdir

Halka Açık Blok Zinciri:

Bu tür blockchain testlerinde herkesin Ağa erişimi vardır ve Consensus'ta yer alabilir. Merkezi Olmayan Sistemi.

Özel Blockchain:

Ağ üzerinde yalnızca Tek kuruluşların erişimi ve yetkisi olacaktır. Kısmen merkezi olmayan bir sistemdir.

Açık Alan Özel Etkinlik konsorsiyum
giriş
  • Kimse
  • Tek organizasyon
  • Çoklu organizasyon
Katılımcılar
  • Permissionless
  • Anonim
  • izin verildi
  • Bilinen Kimlikler
  • izin verildi
  • Bilinen Kimlikler
Güvenlik
  • Konsensüs Mekanizması
  • İş Kanıtı/Yığın Kanıtı
  • Önceden onaylanmış katılımcılar
  • Oylama/çok partili fikir birliği
  • Önceden onaylanmış katılımcılar
  • Oylama/çok partili fikir birliği
İşlem Hızı
  • Yavaş
  • Daha Hafif ve Daha Hızlı
  • Daha Hafif ve Daha Hızlı

Blockchain'in Ana Bileşenleri

Düğüm Uygulaması

Her Düğüm, katılmak istediği ekosisteme özgü bir bilgisayar uygulamasını kurmalı ve çalıştırmalıdır.

paylaşılan Ledger

Düğüm uygulamasının içinde bir veri yapısı (defter) yönetilir. Ekosistemin içeriği, düğüm uygulaması çalışır durumda olduğunda görüntülenebilir.

Konsensüs Algoritması

Konsensüs algoritması, düğüm uygulamasının bir parçası olarak uygulanır ve ekosistemin defterin tek bir görünümüne nasıl ulaşacağına ilişkin 'oyunun kurallarını' sağlar.

Sanal makine

Talimatlarla çalıştırılan ve ekosistemdeki her katılımcının çalıştırdığı düğüm uygulamasının bir parçası olarak uygulanan bir makinenin soyutlanması.

Blockchain Nasıl Çalışır?

Blockchain'in Avantajları

  • Zaman tasarrufu: Blockchain işlem süresini günlerden dakikalara indirir. İşlem çözümü daha hızlıdır çünkü merkezi bir otorite tarafından doğrulama gerektirmez.
  • Uygun Maliyetli: Blockchain İşlemlerinin daha az işlenmesi. Katılımcılar değerli eşyaları doğrudan takas edebilirler. Blockchain, katılımcıların paylaşılan bir deftere erişimi olduğundan, tekrarlanan çalışmaları ortadan kaldırır.
  • Güvenliği Artırın: Blockchain'in dolandırıcılığa ve siber suçlara karşı güvenlik koruması.

Blockchain Testindeki Zorluklar

  • Teknolojiyi Anlamak– Blockchain yeni bir teknolojidir ve teknolojiyi alan bilgisi ile anlamak Blockchain Uygulamasını test etmede çok önemlidir.
  • Blockchain Test Araçlarının Eksikliği– Blockchain tabanlı uygulama testleri tamamen araçlarla ilgilidir. Uygulamaya göre doğru aletin seçilmesi önemli kararlardan biridir.
  • Test Stratejisinin Tanımlanması– Her uygulamada olduğu gibi Blockchain uygulaması için Test Stratejisi tasarlamak. Test Stratejisi, teknoloji ve uygulama hakkında derinlemesine bilgi ve anlayış gerektirdiğinden, bu en büyük zorluklardan biridir.
  • Blok ve Zincir Boyutu– Standart Testler, araçlar ve mevcut en iyi uygulamaların yanı sıra blok boyutu ve zincir boyutu için testler de önemlidir. Blockchain uygulamaları, blok boyutu ve zincir boyutunun doğru şekilde doğrulanması olmadan başarısız olabilir.
  • Entegrasyon Testi– Blockchain uygulamasında birden fazla bileşen bulunduğundan, herhangi bir arızayı önlemek için tüm bileşenlerin uygun şekilde entegre edildiğini test etmek için entegrasyon testleri düzgün ve sık sık yapılmalıdır.
  • Performans ve Yük- Performans ve yük testinin yapılmaması, Blockchain uygulamasının hem üretimde hem de belirli iş yükleri ve ağ koşullarında nasıl performans gösterdiğine dair çok az fikir verir veya hiç fikir vermez.
  • Güvenlik– Blockchain Uygulamasında verilerin güvenliğinin sağlanması en önemli konu olmalıdır. Blockchain, Sağlık, finans vb. çeşitli sektörlerin parçası olabilir. Her türlü kötü niyetli saldırı, Blockchain uygulamasını etkileyebilir.

Blockchain Testinin Aşamaları

Başlangıç ​​Aşaması:

  • Blockchain'i Anlamak Archidoku: Bu aşamada İş ve fonksiyonel gereksinimleri anlıyor ve analiz ediyoruz. Bu, uygulamanın davranışını ve kullanıcının uygulamayla nasıl etkileşimde bulunacağını açıklar.
  • Tam Test Stratejisi Tasarımı: Bu aşamada bir uygulamayı test etmek için test yaklaşımını açıklıyoruz. Bu, her hedefin tam olarak kapsanması için ayrıntılı olarak yapılmalıdır.

Tasarım aşaması:

  • Test senaryosu oluşturma: Bu aşamada QA ekibi test senaryolarını uygun adımlarla yazar. Bu Test Senaryoları Business Analyst(BA) tarafından incelenir.
  • Test Verisi Oluşturma: Bu aşamada, iş gereksinimlerine göre test verileri önceki ortamdan oluşturulur veya çıkarılır. Test verileri manuel olarak veya otomasyon araçları kullanılarak oluşturulabilir.
  • Ortam Kurulumu: Bu adımda test ortamı İş veya uygulama ihtiyacına göre yapılandırılır.
  • Performans Metrikleri: Performans Metrikleri; uygulamanın, Sistemin veya bileşenlerin performansı açısından bilgileri temsil eder

Test Aşaması:

  • API Testi: API testlerinde blockchain ekosistemindeki uygulamalar arasındaki etkileşimin beklendiği gibi olmasını sağlıyoruz
  • Blok Testi: Uygun işbirliğinin sağlanması için Ağdaki tüm bloklar ayrı ayrı test edilmelidir.
  • Fonksiyonel Testler: Fonksiyonel Testte, Blockchain'in çeşitli fonksiyonel parçalarının (örneğin akıllı sözleşmeler) çalışmasını değerlendiririz.
  • Performans testi: Blok boyutuna, ağ boyutuna, beklenen işlem boyutuna bağlı ağ gecikmesi ve özel kimlik doğrulama protokolüyle bir sorgunun çıktıyı döndürmesinin ne kadar süreceği gibi ayrıntılar
  • Güvenlik Testi: Bunda, uygulamanın saldırılara karşı savunmasız olmasını ve Sistemlerin verileri koruyabilmesini ve kötü niyetli saldırıları vb. ele alabilmesini sağlıyoruz.
  • Entegrasyon Testi: Entegrasyon testlerinde uygulamanın tüm bileşenlerinin doğru şekilde entegre edilmesini ve aksiyonların uygun şekilde gerçekleştirilmesini sağlıyoruz.
  • Akıllı Sözleşme Testi: Akıllı Sözleşme testi, iş mantığı ve sürecinin ayrıntılı işlevsel testinin gerçekleştirilmesiyle ilgilidir.

Rapor Aşaması:

  • Proje Özet Raporu: Proje ayrıntılarına, proje tarihlerine, maliyete ve Görev Ayrıntılarına genel bakışı açıklayın
  • Akıllı Sözleşme Test Raporu: Bu raporda Akıllı sözleşmenin, verilerin ve kural işlemenin ayrıntıları açıklanmaktadır
  • Güvenlik Test Raporu: Müşteri ve üst düzey yönetim için hassas bilgileri resmi bir belgede gösterir. Rapor test tarihini, test verilerini ve bulunan güvenlik açıklarının özetini içerir
  • performans testi Raporu: Bu rapor, hız, ölçeklenebilirlik, güvenilirlik vb. gibi uygulamaların performansına ilişkin ayrıntıları gösterir.

Blockchain Uygulamasında Temel Test Türleri

Fonksiyonel Testler

İşlevsel Test, iş gereksinimlerinin, süreçlerin ve kullanım senaryolarının etkinliğinin değerlendirilmesine yardımcı olduğundan Blockchain Testinde önemli bir rol oynar. Fonksiyonel Testin bir parçası olarak test edilebilecek bileşenler aşağıdadır: 1) Blok Boyutu ve Zincir Boyutu 2) Blok Ekleme 3) Veri Transmission

Entegrasyon Testi

Blockchain uygulaması birden fazla ortamda çalışır. Bu nedenle sistemler arası bağlantıların test edilmesi önemlidir

Performans testi:

Donanım ve yazılım darboğazlarının önceden belirlenmesine yardımcı olur. Bu aynı zamanda uygulamayı bulutta veya diğer ortamlarda çalıştırmanın potansiyel maliyetlerini anlamanıza da yardımcı olabilir.

Düğüm Testi

Sorunsuz bir işbirliği sağlamak için Ağdaki tüm çeşitli düğümler bağımsız olarak test edilmelidir.

API testi:

Uygulama Programlama Arayüzü, blockchain ekosistemindeki uygulamalar arasındaki etkileşimi test eder. API Testi, isteklerin ve yanıtların düzgün şekilde biçimlendirilmesini ve çalıştırılmasını sağlar.

Blockchain Test Araçları

İşte bazı ithal Blockchain Test araçları:

1)Ethereum Testçi:

GitHub deposunda bulunan açık kaynaklı bir test kütüphanesidir. Ayarlamak kolaydır Çeşitli Test gereksinimleri için yönetilebilir API desteğiyle.

2) Ganaj:

Daha önce şu şekilde biliniyordu: Testrpc, test için yaygın olarak kullanılan kütüphanedir Ethereum yerel olarak sözleşme yapar. Bir çeşit sahteyi döndürerek çalışır Bkullanabileceğiniz hesaplara erişmenizi sağlayan kilit zinciri Ttest.

3) Hyperledger Oluşturucusu:

Hyperledger Composer, geliştiricilerin blockchain uygulamaları oluşturmasına yardımcı olan açık kaynaklı bir araçtır. Bu aracı kullanarak temel olarak üç tür test gerçekleştirebiliriz: etkileşimli test, otomatik birim ve sistem testi. Blockchain uygulamalarının nasıl oluşturulacağını ve Hyperledger Composer gibi araçlarla nasıl çalışılacağını öğrenmek istiyorsanız şu adresteki bu kılavuza göz atın: blockchain geliştiricisi nasıl olunur Bu heyecan verici alanda yolculuğunuza başlamak için.