『ビューティフルテスティング』――テスターの美学は「醜いよりも美しい方がいい」
ビューティフルテスティング ソフトウェアテストの美しい実践 Tim Riley (編集)、Adam Goucher (編集) 大西建児(監訳・翻訳)、 児島修 (翻訳) オライリージャパン 2010年10月 ISBN-10: 4873114748 ISBN-13: 978-4873114743 3360円(税込) |
■テストにおける永遠のテーマから、最新テスト手法まで
美しいテストとは何か?
上記の問いについて、テストのプロフェッショナルたちが経験に基づいて語ったものを集めたエッセイ集――それが本書『ビューティフルテスティング』です。
バグ管理やテストの自動化といった「テストにおける永遠のテーマ」から、ファズテスティングやテスト駆動型開発、アジャイル・テスティングといった、日本でも注目を集め始めた新しいテスト手法の紹介までと幅広く、まさにアメリカのテストの「今」がここにあると言っても過言ではないでしょう。
本書の内容は、あくまでアメリカのテスト現場に関する話なので、日本の事情とは異なる部分もあります。そのためか、ところどころに違和感を覚える部分がありましたが、そのような部分には、脚注に解説があります。そちらを併せて読めば、違和感はいくらか解消されます。
■あなたの横にいるテストエンジニアは何を考えているのか
本書は「テスターはお役に立っていますか?」という章から始まります。ここでは、テスターがどんな人たちなのか、何を考えながら仕事をしているのかについて、(皮肉混じりの)ユーモアたっぷりに描かれています。
「テスターはバグを見つけるのが好き」
「テスターが生きがいを感じるのは『ひどい』バグ」
「開発やマネジメントのメンバーがぞっとするようなものがテスターにとっては『ビューティーなこと』」
などなど。これには開発者もテストエンジニアも思わずニヤリとしてしまうのではないでしょうか(その意味はまったく逆でしょうが)。
これだけ書くと、「テスターってやつは、なんて性格の悪い連中なんだ!」と思われるかもしれません。しかし、テスターについてはこうも書かれています。
「周囲から仕事ぶりを評価され、感謝されるからこそ、もうひと頑張りできる」
テスターも人の子です。ちょっと褒めてもらえるだけで、頑張ろうと思えるのです。
テストの現場を支える「テスター」という存在を知るために、テストエンジニアはもちろん、テストエンジニアと一緒に働く開発者にもぜひ読んでほしいところです。
■Pythonや乱数ジェネレータって、どうやってテストしているの?
本書には、さまざまなテストについてのエピソードも掲載されています。例えば、プログラミング言語「Python」(第9章)や、医療系ソフトウェア(第12章)といった、皆さんにとっても身近なもののテストの様子が臨場感をもって描写されています。また、乱数ジェネレータのテスト(第10章)では、ランダムな数値を出力するうえでの「ランダムであること」をどのようにテストするか、何を基準にしてテスト合格にするかという、普段はなかなか気付かない素朴な疑問にも答えてくれています。
私はテストエンジニアなので、自分が普段扱っているテスト対象については、どのようにテストしているかはもちろん分かります。しかし、それ以外のものはどうやってテストしているのか、意外と知らないことに気付きました。そのため、「ほうほう、あのソフトウェアはそういうところに注意しながらテストしているのか」など、大変興味深く読むことができました。
■コミュニティ活動×テストがアツい
また、個人的にはコミュニティと連携したテスト(第3章、第20章)というのも気になりました。
第3章「オープンソースQAコミュニティの構築」では、オープンソースプロジェクトでQAチームを発足させたときのエピソードが語られています。
オープンソースプロジェクトでは、メンバーの大半がボランティアというチームも珍しくないと思います。この章で取り上げられているQAチームも例外ではありませんでした。
そのようなチームを回していくためのコツや、リーダーの心構えなど、本書はコミュニティをうまく運営するために大切なことについても言及しています。
- それぞれのメンバーがプロジェクトに何を期待しているか見極める
- メンバーには早い段階で小さな責任を与えるべき
- チームリーダー自身が学ぶ姿をメンバーに見せる
これらのアドバイスは、QAチームに限らず、どのコミュニティでも使えるものではないでしょうか。私自身、新潟でテストのコミュニティを立ち上げているところなので、この話はとても参考になりました。それと同時に、コミュニティと一緒にテストを作っていくという活動に、とてもワクワクしました。
このような話を聞くと、「そんなのアメリカだけの話でしょ」と思われる方もいらっしゃるかもしれません。いえいえ、日本にも「ソフトウェアテスト技術交流会(TEF)」という、ボランティアベースのテストコミュニティが存在します。このコミュニティでは、テスト専門書の翻訳や、地域独自のテストツールの作成など、さまざまな活動をしています。
コミュニティのメンバーはその多くがボランティアですが、ユーザーの目線とテスト対象への深い愛着を持ち合わせた存在です。彼らの力を借りない手はありません。コミュニティと一緒にテストを作っていく。今後、日本でもこのような活動が盛んになっていくかもしれません。
■日本語版の付録「組み込みテスト事情」にも注目
本書には、日本語版の付録として山浦恒央さんのエッセイも収録されています。私は以前、本書の監訳を担当された大西建児さんとお会いする機会があり、この付録についてのお話を伺いました。
先にも書きましたが、本書はアメリカのテストの現場のお話です。そのため、日本人にはピンとこない部分もあります。また、日本に多い組み込み系のテストに関する話題がありません。大西さんいわく「だから、日本のテスト事情と、組み込み系のテストに詳しい山浦さんのエッセイを収録したといういきさつがあった」そうです。
私自身が組み込み系のテストを主に担当していることもありますが、実際にこの付録は読みやすい印象を受けました。私が「日本のテストの現場で働く日本人テストエンジニア」の典型がどうかは分かりませんが、日本のテストの専門書を読み、日本のテストの現場(特に組み込み系)でOJTによって教育を受けた人なら「なるほど」と思えるのではないかと思いました。
■テストを愛する人たちが語る「美しいテスト」
本書の全体を通して感じたのは、執筆陣の「テストに対する深い愛情」です。彼らが口をそろえて主張することは、「美しいテストとはシンプルで、効率のよいテストである」ということです。
なんだ、意外と普通で当たり前のことじゃないかと思われるかもしれません。しかし、それがわざわざ強調されるということは、その“当たり前”がまだ実現されていないとも言えます。
山浦さんのエッセイに、『ソフトウェア・テストの技法』(マイヤーズ著)という本が紹介されています。30年以上ベストセラーとして売れ続けている本と紹介されていましたが、裏を返すと、30年前からほとんどテストの技術が進歩していないということでもあるわけです。
実際、書店に行ってIT関連の技術書のコーナーを見てみると、開発向けの専門書は本棚いっぱいに並べられ、しかも短期間のうちに新しい書籍が次々と発売され(そして一部は消え)ています。それに引き換え、テストの専門書は本棚の隅っこに申し訳程度にコーナーが設けられていることがほとんどで(小さい書店にはそもそもコーナーがなかったりします)、取り揃えている書籍も開発向けのそれに比べると、数も種類も少ないのです。
本書には、現在進行形の取り組みについての話題が多く収録されていました。美しいテスト実現への道はまだまだ長そうです。
そんな長い道のりを歩む力になってくれる、シンプルだけどしびれる言葉を最後にお伝えしたいと思います。
「醜いよりも美しい方がいい」(第9章タイトルより)
(『オブリガート ~感謝されるテストエンジニアになる~』
コラムニスト 第3バイオリン)