In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-01-16 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >
Share
Shulou(Shulou.com)06/01 Report--
This article mainly introduces the relevant knowledge of how to do blockchain project testing, the content is detailed and easy to understand, the operation is simple and fast, and has a certain reference value. I believe you will gain something after reading this article on how to do blockchain project testing. let's take a look.
1 background
Review of the characteristics of the blockchain:
● disintermediation / centralization trust.
● is stable, reliable and continuous. Because it is a distributed network architecture, no central node can be attacked or attacked, so it has stronger stability, reliability and persistence in the overall technical layout.
● strong security, consensus mechanism does not require the entry of a third party, but through a technology to achieve, a previously scheduled technology to achieve the completion of the entire transaction.
Open transparency and unusurable modification of ● transactions.
Simple summary: decentralized, untampered, all nodes open full ledger, account information is continuously traceable, peer-to-peer network, there is no God role (system administrator, etc.).
2 technical reserve
2.1 difficulties in Block chain testing
Blockchain testing is very different from traditional software testing, mainly reflected in the following points:
The boundary of ● system is fuzzy.
Traditional software, whether independent applications or client / server mode applications, has obvious system boundaries and can be tested through the UI user interface or the client. At the bottom of the block chain is a completely decentralized distributed network. This network has the potential to span multiple subnets, multiple data centers, multiple operators, or even multiple countries, and its boundaries are blurred. The testing of the bottom layer of the blockchain involves not only the testing between the front-end API and a certain blockchain node, but also a large number of tests between the blockchain nodes and nodes.
● fault types are complex.
General software failures include three types: a. Downtime failure (Crash Failure); b. Downtime-recovery failure (Crash-Recovery Failures); c. Byzantine failure (Byzantine Failures).
The so-called Byzantine fault comes from a famous "Byzantine General problem", which means that there are some malicious nodes in the system, which is called "the renegade General Byzantine" in a vivid analogy. From the perspective of different observers, such nodes show inconsistent symptoms, which will often lead to system service failure in systems that need consensus.
The general software only needs to solve the first two faults at most, while the block chain system needs to deal with all the faults at the same time to ensure the reliable operation of the system.
● block chain types are different
The blockchain itself includes many types, such as public chain, private chain, alliance chain and so on. Different types have different characteristics of the platform, such as management, user identity, maximum number of nodes and so on. The evaluation needs to consider all the modes, which makes the test scheme more complex. (such as the table below)
2.2 consideration of test points
According to the current white paper issued by the industry, the evaluation criteria of the block chain include:
Technical requirements
The landing system related to the blockchain may also include the testing content of the traditional architecture software that we are familiar with. For example, some vendors used to share bandwidth and shared cloud, and also have independent APP to support online query management. For testing at the bottom of the blockchain, you need to master the following technologies:
1. First of all, it is necessary to master the basic knowledge of cryptography (such as symmetric encryption, asymmetric encryption, the principle of digital signature)
two。 Understand the concept of linked list and tree in data structure
3. Transaction accounting model of block chain (how to achieve transfer, how to avoid double flowers, how to achieve ownership verification)
4. If it is based on ethernet code, you have to understand the principle of virtual machine operation.
The blockchain project focuses on the following tests:
1. Transfer, transfer to single / multi-signature address, transfer to script
two。 If the mechanism of the currency is modified, the double flower attack test
3. Intelligent contract function and security testing
4. Packaging and transaction confirmation efficiency.
In fact, any software testing can be based on the "input-output-behavior" model (also known as IBO model) to do test analysis and design.
3 business scenarios and performance testing
3.1 Business scenario
Let's take financial business as an example, which is usually divided into implementation business and non-real-time business. The characteristics of the two services are as follows:
1. Real-time services: second-rate payment, private chain, no single point of failure and high scalability
two。 Non-real-time services: decentralization, alliance chain, tamper-proof, zero data loss
The details are as follows:
3.2 some thoughts on performance testing
For the performance evaluation part, we mainly focus on four metrics:
For different performance indicators, here are some thoughts:
● latency: P2P systems are full of virtual links, and the actual routing may be different each time.
● consensus rate: some nodes are set in the system to deliberately tamper with and release false data to see if it is successful.
● throughput: check the efficiency of miners, that is, the number of effective transactions per second of the entire system.
In the current performance evaluation of ●, it is common to talk about transactions per second (TPS) regardless of network size and block size.
a. In practice, the larger the network size, the more nodes need to reach consensus, the slower the progress of reaching consensus, the lower the throughput (TPS).
b. The larger the block, the greater the scalability, the throughput jitter may occur, and the probability is lower.
This is the end of the article on "how to do blockchain project testing". Thank you for reading! I believe that everyone has a certain understanding of the knowledge of "how to do blockchain project testing". If you want to learn more knowledge, you are welcome to follow the industry information channel.
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.