テスタは遅かれ早かれ、ブロックチェーンテクノロジを組み込んだITソリューションのテストを求められるようになるだろう。ブロックチェーンベースのアプリケーションでは、フトウェア開発もこれまでとは異なる。ブロックチェーンは我々の慣れ親しんだやり方に影響を与えるのだ – Dutch RailwayのソフトウェアテスタであるSanne Visser氏は,このように主張する。氏はEuropean Women in Techで、ブロックチェーンベースのソフトウェアに対処する方法について講演した。
Dutch Railwayでの最初のコンセプト検証は、グループとしてあまり経験のないサプライチェーンプロジェクトであった。チーム全体にとって、ブロックチェーンを扱った問題解決が初めてだったのだ、とVieser氏は説明した。最終的に氏らは、最小限実行可能なプロダクト(MVP)をhyperledger fabric上に構築することにした。動作はしたがひどいものだった、と氏は言う。救われた点は、開発過程がとても楽しいものであったことだ。チームの個々がボランティア的に作業し、それによってモチベーションや意識を高めることができた。
テストにおけるブロックチェーンの影響が大きいのには、このテクノロジが我々の慣れ親しんだ作業方法に影響することが理由としてある、と氏は言う。ソフトウェア開発で一般的な、開発、テスト、ユーザ受け入れ、最終的なプロダクションという4つのステージは、ブロックチェーンベースのアプリケーションでは異なったものになる。
例として氏は、テスト環境について説明した。一般にテスタは、インストールするアプリケーションのバージョンを選択し、これをテスト特有のアプリケーション属性としてオペレーションする。しかしブロックチェーンテクノロジでは、テスタは,テスト環境が存在しないか、あるいはテスタのコントロール下にないブロックチェーン"テストネット"でテストすることになる、とVisser氏は言う。テストネットを利用可能な場合でも、さまざまな点で実際のブロックチェーンとは異なっている(国境を越えたノード分布など)ため、パフォーマンスなどいくつかの品質属性については、テストが困難か,場合によっては(現時点では)不可能でさえある、と氏は指摘する。
Visser氏は企業に対して、ブロックチェーンテクノロジを極めて実験的に扱うように提唱した。ブロックチェーンがITソリューションに付加価値をもたらすことができるかどうか、調査するためのスペースを可能な限り設けるべきだ、と氏は言う。その結果,不変で共有可能な台帳がメリットとなる可能性があれば、MVPを構築してビジネスの役立つかどうかを確認をする、というのが氏のアドバイスである。
自身の運営するエコシステムやビジネスパートナ、競合他社、顧客に注目するべきだ,と氏は提言した。"その理由は、共有台帳が最もうまく機能するのは、それが共有されている時なのだからです。このテクノロジのベストユースケースは、企業の枠を越えています。"
InfoQではEuropean Women in Techの様子をQ&Aや要約で伝えている。Sanne Visser氏に、ブロックチェーンに関する自身の経験について聞いた。
InfoQ: 講演では、多くの人たちにとってブロックチェーンテクノロジは難しい、あるいは一部しか理解できていない、と話していましたが、それはなぜでしょうか。
Sanne Visser: 人は馴染み親しんだ概念の面から,新たなテクノロジを理解します。携帯電話の仕組みを説明できる人はごくわずかですが,プロセッサや無線といった基本的な概念は馴染み深いものです。ブロックチェーンについても同じように,その部分部分から理解するのですが,例えば講演の聴衆はピアツーピア共有は理解できても,メルクルツリーには馴染みがありません。
ブロックチェーンを特に理解し難いものにしているのは,サードパーティとして動作するソフトウェアを想像する必要があることです。例えば私たちは,商品を購入した会社に支払いを行う上での銀行の役割を理解しています。ブロックチェーンを理解するには,それが支払いを行う際の銀行のようなエンティティではなくソフトウェアである,という位置まで考え方を進める必要があります。このソフトウェアこそがブロックチェーンなのです。私たちが一般的に考えるトランザクションや台帳に対して,これは大きな概念的変化になります。
InfoQ: ブロックチェーンの知識を社内に紹介して広めるために,どのようなことをしたのでしょうか,それにはどのような効果がありましたか?
Visser: 最初に試したのは堅実な方法でした。ブロックチェーンの仕組みを説明するプレゼンテーションを実施したのです。私は社内で,このテクノロジの実験を始めたいと思っていたので,ブロックチェーンプロジェクトの機会を探していました。プレゼンテーションは好評でしたが,期待した結果は得られませんでした。そこで目標を達成するために,社内ITマーケットにブースを設置したり,イントラネットで宣伝したり,さまざまな方法を試みました。
最終的に最も効果的だったのは,シニアレベルのビジネスマネージャにコンタクトを取って,技術的な説明をアレンジした上で,コーヒーを飲みながら話をする方法でした。プレゼンテーションは意識を広めることには成功しましたが,ブロックチェーンプロジェクトには結び付きませんでした。成功したのはコーヒーミーティングの方だったのです。
InfoQ: 概念実証から学んだことは何でしたか?
Visser: たくさん失敗しました。専門家の支援がなければ,間違いを正すことはおろか,それに気付くことさえできなかったと思います。最初のPoCからのおもな教訓は,最悪の事態を避けるためには,専門家の助けを得るべきだということです。一例を挙げると – 私たちはブロックチェーンに写真全体をアップロードしていました。今は,そのような大量データをブロックチェーンに保存すべきではない,ということを知っています。専門家の支援を得ること以外の手段としては,ブロックチェーンの開発コミュニティに頼る方法があります。残念ながらこの方法は,プロジェクトの詳細を社内に留める必要のあった私たちには,選択肢になりませんでした。
InfoQ: ブロックチェーンテクノロジは,テスト専門家にはどのように影響するのでしょう?
Visser: 遅かれ早かれ,ブロックチェーンを組み込んだITソリューションのテストを求められるようになると思います。ブロックチェーンをテストするプロジェクトの数も増えています。ブロックチェーンのテスタのための優れたリソースもいくつかあるのですが,散在していて,簡単には見つけられません。ブロックチェーンベースのアプリケーションを扱うテストフレームワークを開発したいと思っています。現存するベストエフォートをすべて組み込み,さらに追加していくことができればと思います。
さらに,この知識を共有し,テストコミュニティ全体のメリットとなるような,ブロックチェーンのテストグループを組織したいと思っています。私は先頃,EuroSTAR Rising Star賞を頂きました。32人のサポータが,自身の時間を半日使って私をサポートしてくれています。来年にはそのサポートを使って,デモブロックチェーン環境を使用したワークショップを開催したいと思います。そこではテスタにこのテクノロジを教えると同時に,テストが行われる方法を実験できるようにします。