プレシジョンテスト
ソフトウェアテスト

ソフトウェアテストの刷新があなたのビジネスを変え、そして世界を変える

次の記事

フリースロー対決はトヨタのバスケ・ロボが完勝――『スラムダンク』が開発のきっかけ

【編集部注】著者のTodd PierceはBill&Melinda Gates財団の元チーフデジタルオフィサーであり、Salesforce.comの運営とモビリティの元担当副社長である。

ソフトウェアは「世界を食らう」ものではない。世界に栄養を与え、世界を癒し、世界を教育し、私たちの抱える最も困難な問題の解決へと最も優れた人びとの心を集める役割を果す。少くとも私が、Bill & Melinda Gates Foundation、Genentech、そしてRock Healthという組織の中でデジタルトランスフォーメーションを率いていた際に目撃したのはそういう役割だ。

私は、より健康で平等な世界を創造するために、イノベーションを拡大していくことに情熱を燃やしている。ほぼグローバルなモバイルコネクティビティによる力の集約、開発生産性の信じられないほどの進歩、そしてデジタル時代に慈善を持ち込もうとする組織の台頭によって、この星はソフトウェアによって真に良い場所へ向かうことができる準備が整った。

どのように?まず2025年までに、地上の95%がモバイルプラットフォームで接続される。世界で最も貧しい人びとも、これまでにないアクセスが可能になることに、私は魅了されている。そのことでインフラストラクチャが貧弱で、情報へのアクセスが難しい場所でも、問題を解決できる素晴らしい機会が生み出される。

たとえば、私は最近インドのビハール(Bihar)でのプロジェクトで働いていた。そこは、おそらくこれまでの私の生涯の中で、最も医療インフラが整っていない場所だった。そこでは毎年数百万人もの赤ん坊が生まれているが、産科の数は50未満である。だが需要を満たすだけの十分な数の医療専門家を訓練して、ビハールに連れて行くことはできない。しかし、モバイルヘルスの取り組みにより、私たちは妊婦とその家族を遠隔で支援することができる。このことで出産による母親の死亡を減らし、生まれてくる赤ん坊の健康状態を向上させることができるのだ。

残念なことに、最も有望なITプロジェクトであっても、常に望ましい結果が得られるわけではない。私が知っているCIOたちは皆、大規模で重要なプロジェクトたちが、大幅な遅れを引き起こしたり、あるいはキャンセルされてしまうような困難をしばしば経験してきている。それは開発の終盤に至って、もはや小手先で手直しのできないような基本的な問題が発覚するからだ。

業界を問わず、このことで組織は、より革新的で敏捷な競争相手に遅れをとるリスクが高まる。必然的にCIOの評判と地位は危険に晒されることになる。そして多くの業界で、そのことは真に人びとの人生を変えてしまう。展開の遅延が、コミュニティの経済的機会に影響することは珍しくない。そして、救命救急医療とサービスへのアクセスを提供する私の業界では、それは本当に生死を分かつ問題になるのだ。

多くの人びとは、ソフトウェアテストのようなありふれたものが、イノベーションを拡大し加速する私たちの能力に対して、多大な影響を与えていると聞くと驚く。しかし、それは事実なのだ:開発者の生産性は2000年以来、既に目覚ましい勢いで向上している。しかしテストはほとんど進化していないのだ。ほとんどの組織は、今でも手動テストやスクリプトベースのテストに集中している…それがスピードとリスクの面で望ましい結果を提供していないにもかかわらず。「同じことを何度何度も繰り返しているのに、違った結果が得られることを期待する」これはアインシュタインが述べた狂気の定義だ。

この星はソフトウェアによって真に良い場所へ向かうことができる準備が整った。

イノベーションの効果を最大にするには、テストをより速く、より良く、より安く行う必要がある。私の職業人生のなかで、いつも次の言葉がジョークとして語られてきた「速い、良い、安い ―― 選べるのは2つだけ」。しかし、私たちがテストの刷新に心を向ければ、これらのトレードオフは最早必要ないことがわかる。実際、ソフトウェアのテストをより良くかつ速くしていくことで、それは自然に安くなるのだ。

ソフトウェアのテストをより良くするには、高度な自動化が重要だ。私はこれを「プレシジョンテスト」(precision testing:精密テスト)と呼んでいる。例えばプレシジョンメディシン(精密医療)は、患者の特定の状態に関わる深い遺伝的理解を利用して、最適な治療法を選択する。これと同様に、プレシジョンテストは、テストされるアプリケーションを深く理解し、その理解を使用して最適な方法でテストを行うのだ。

ソフトウェアのテストを高速化するには、テストを非専門家にも開放し、劇的に簡素化する必要がある。革新のスピードが増すにつれ、 コードを書かないあるいは少ししか書かないテストや、自動テストのような、テスト自動化アプローチをとることなしに、私たちが追いついていくことは不可能だ。

ソフトウェアのテストを安くするには、それに伴う労力と再作業の量を減らす必要がある。組織のアプリケーション開発予算のおよそ40%がテストに費やされている。ソフトウェアのテストを速く行うことができれば、その自然な副作用としてコストは減少する。

これらのすべてが、いまでは私たちの手の届く所にある。私たちは変革に向けて踏み出ださなければならない。技術革新の真の可能性を達成するための準備は、整っているのだ。私たちは挑戦に立ち向かうのか、それとも機会が通り過ぎて行くことをただ見ているだけなのか?

最後にこの言葉をお贈りしよう。もし1マイルの道を切り拓けば、1マイル進むことができる。これは手動テストやスクリプトベースのテストのようなものだ。作った分だけ進むことができるだけだ…そして程なくそれは重荷となり、新たな価値を付け加えず絶え間ない注意を要するものと成るだろう。しかし、プレシジョンテスト、スクリプトレステスト、そしてより効率的なテスト手法に移行すれば ―― テストを本当にデジタルトランスフォーメーションのための触媒とし、技術イノベーションの真価を実現できる準備が整ったならば ―― あなたは滑走路を手に入れることができる。そのためのささやかな投資を行うことで、あなたはやがてどこへでも自由に行くことができるようになるのだ。

[ 原文へ ]
(翻訳:sako)

Image Credits: maciek905