準備好了?測試人員遲早會被要求測試包含區塊鏈技術的解決方案
測試人員遲早會被要求測試包含區塊鏈技術的 IT 解決方案。基於區塊鏈應用程式的開發是不一樣的軟體開發;區塊鏈會影響我們習慣的工作方式,荷蘭鐵路公司的軟體測試人員 Sanne Visser 如是說。她在 European Women in Tech 大會上探討了專業人士如何處理基於區塊鏈的軟體。
荷蘭鐵路公司的第一次概念實證是一個供應鏈專案,我們整體上沒什麼經驗;對整個團隊來說,這是我們第一次研究並搞明白了區塊鏈,Visser 這樣解釋道。他們最終在 hyperledger fabric 上構建了一個最小可行產品(MVP)。雖然它可以工作,但 Visser 聲稱這很糟糕。讓他們聊以自慰的是,他們在這個過程中得到了如此多的樂趣,他們每個人都自願工作,積極性和精氣神都很足。
按照 Visser 的說法,區塊鏈對測試的影響非常大,這主要是因為技術會影響我們已經習慣的工作方式。軟體開發通常包括開發、測試、使用者驗收和最後投入生產應用四個階段,對於基於區塊鏈的應用程式,每個階段都是不同的。
在一個例子裡,她提到了測試環境,測試人員決定安裝哪個應用程式版本,並操作應用程式測試特定的應用程式屬性。Visser 指出,對於區塊鏈技術,測試人員面對的要麼是沒有測試環境,要麼是在區塊鏈“testnets”上測試,這些都不在他們的控制範圍內。她說,實際上,testnets 與生產環境中的區塊鏈在許多方面(如國際節點分佈)存在著很大的差異,因此,測試一些質量屬性,如效能,非常困難甚至(現在)不可能。
Visser 鼓勵企業試驗性探索區塊鏈技術。她認為,只要有可能,就要允許研究區塊鏈技術是否可以增加 IT 解決方案的價值。她建議,當有機會從一個不變的共享分類賬獲得額外的好處時,構建一個 MVP,看它對於你的業務是否有效。
Visser 建議研究一下你自己、你的業務合作伙伴、競爭對手和客戶所在的生態系統。她表示,“因為共享分類帳在它們真正地共享時工作得最好。這項技術的最佳用例是跨越公司邊界的。“
InfoQ 正以問答、概述的形式對European Women in Tech 大會進行報道,並對Sanne Visser 進行了採訪,以瞭解她的區塊鏈經驗。
InfoQ:您在演講中提到的,人們很難理解區塊鏈技術,或者只是部分地瞭解。為什麼會這樣?
Sanne Visser:人們用熟悉的概念來理解新技術。很少有人能解釋他們的手機是如何工作的,但對基本概念都很熟悉,比如處理器或無線訊號。同樣,人們對區塊鏈技術的理解也是零零碎碎,例如,我的聽眾會明白點對點共享,但不熟悉 merkle 樹。
讓區塊鏈特別難以理解的是,它需要將軟體視為第三方。例如,我們知道,銀行為我們向我們買東西的企業付款提供便利;要理解區塊鏈,你需要實現飛躍,它不是一個為付款提供便利的實體銀行,它是一個軟體,這個軟體叫區塊鏈。相對於我們對交易和分類賬的一般看法,這是概念上的一個重大變化。
InfoQ:為了在您的公司裡引入和傳播區塊鏈知識,您都做了什麼?結果如何?
Visser:為了引入區塊鏈,我首先嚐試了一種可信任的方法。我做了演講,解釋了區塊鏈的工作原理。我想實現的是開始在公司裡試驗這項技術,所以我在尋找區塊鏈專案的機會。演講很受歡迎,但沒有達到我的預期。我嘗試了許多不同的方法來實現我的目標;我在我們內部的 IT 市場上有一個攤位,我在我們的內網發表文章,等等。
最終,效果最好的是專門聯絡高層業務經理,安排一個介紹,然後坐下來喝杯咖啡。演講適合傳播認知,但是,他們並沒有促成任何區塊鏈專案;咖啡會議做到了。
InfoQ:您從概念實證學到了什麼?
Visser:我們犯了很多錯誤,沒有專家的幫助,我們無法糾正甚至確認我們犯了錯誤。第一次 PoC 的主要經驗是,我們希望有專家為我們提供幫助,引導我們遠離最嚴重的錯誤。舉個例子:我們要把全部照片上傳到區塊鏈,我現在知道你不應該像這樣在區塊鏈上儲存大量的資料。作為向專家尋求幫助的替代方案,我們將轉向區塊鏈開發社群;不幸的是,對於我們來說,這不是一個選項,因為我們必須保證所有的專案細節都僅限公司內部瞭解。
InfoQ:區塊鏈技術對測試行業有什麼影響?
Visser:我認為軟體測試人員遲早會被要求測試加入了區塊鏈技術的 IT 解決方案,區塊鏈測試專案的數量將會增長。區塊鏈測試人員有一些不錯的資源,但它們是分散的,很難找到。我想開發一個測試框架來處理基於區塊鏈的應用,結合所有已經盡最大努力完成並希望加入其中的工作。
此外,我還想組建一個區塊鏈測試小組,分享這些知識,使整個測試社群受益。我最近獲得了 EuroSTAR Rising Star 獎;有 32 位支持者承諾用半天的時間給我提供支援。明年,我將藉助這項支援幫助我利用一個區塊鏈 Demo 環境發展一個研討會,讓我可以教授測試人員這項技術,讓他們嘗試可能的測試方法。