技術問答
技術文章
iT 徵才
聊天室
2026 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
2024 iThome 鐵人賽
DAY
25
0
佛心分享-IT 人自學之術
區塊鏈技術應用
系列 第
25
篇
邊界情況測試
16th鐵人賽
alex7777
2024-10-09 15:55:23
478 瀏覽
分享至
Boundary Condition Testing
是一種專注於測試系統極端情況的測試方法,這樣可以確保系統在特殊或邊界條件下依然能正常工作。
1.邊界情況測試類型
時間限制測試:設置了捐款的截止日期。
目標達成測試:測試在達成或未達成目標後的操作行為。
捐款者身份測試:測試不同身份的賬戶是否能進行正確操作。
極限金額測試:使用非常小或非常大的捐款金額,檢查系統是否能正確處理這些金額。
多賬戶交互測試:不同的捐款者同時進行操作,檢查合約是否能正確跟踪每個人的捐款。
時間限制測試範例
目標是募集 10 ETH,持續時間設定為 3600 秒(1 小時)。
web3.utils.toWei:將 10 ETH 轉換為 wei(智能合約使用的最小單位)。
time.increase:這是用來模擬區塊鏈時間的函數,這裡將時間增加 3601 秒,超過設定的 1 小時限制。
由於超過時間,合約應該拒絕捐款,並拋出帶有錯誤訊息 Crowdfunding has ended 的異常。
捐款者身份測試範例
contributor 捐款 5 ETH 進入合約,這是為了確保合約內有資金可以提款。
模擬 nonContributor 嘗試執行提款操作,這個帳戶並不是合約擁有者。
使用 web3.eth.getBalance(owner) 獲取合約擁有者的 ETH 餘額。
使用 assert 確認提款後擁有者的餘額是否增加,證明提款成功。
留言
追蹤
檢舉
上一篇
Web3.js 集成
下一篇
前端交互測試
系列文
區塊鏈技術應用
共
30
篇
目錄
RSS系列文
訂閱系列文
2
人訂閱
26
前端交互測試
27
如何在 Web3.js 中監聽智能合約事件
28
Crowdfunding
29
常見的智能合約安全漏洞
30
常見的智能合約安全漏洞2
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
902
組
團體組數
37
組
累計文章數
19831
篇
完賽人數
528
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
17th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
react
熱門問題
vm+openclaw+在地AI,有合適的組合嗎
磁碟寫入問題
中華電信-光世代小烏龜固定IP設定AP不會通?? 求解
無法登入路由控制畫面
WIFI問題遊戲延遲改善
趣味SQL,找出待簽核的員工 (AI來解題回答)
ASUS ProArt B550 Creator 主板與雙顯卡(N卡+I卡) PCIe4.0 x8頻寬問題
熱門回答
vm+openclaw+在地AI,有合適的組合嗎
WIFI問題遊戲延遲改善
中華電信-光世代小烏龜固定IP設定AP不會通?? 求解
磁碟寫入問題
ASUS ProArt B550 Creator 主板與雙顯卡(N卡+I卡) PCIe4.0 x8頻寬問題
熱門文章
Python數據分析完全指南:自動化辦公必備!
拒絕延遲!以WebSocket打造零時差的多幣別報價系統
新手必看!原來Power BI Desktop安裝可以這麼簡單?
庫存表格是什麼?Excel 管理庫存真的夠用嗎?
數位轉型是什麼?從定義、三階段到成功案例一次看懂
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}