How Google Tests Software
テストから見えてくる-グーグルのソフトウェア開発- Written by James A. Whittaker, Jason Arbon, Jeff Carollo
読破後に自信がついた
原著は2012年に書かれた書籍を、2020年にQuality Assurance Engineerの立場で読みました。 今はDevOpsと呼ばれているSystem Administrator職で数年、Software Testを専門として数年が経った頃に本書を同僚に勧められました。 ちょうど読み終わりましたので感想を書いておきたいと思います。
再認識させられたのは、Software Testを職としていても、自信を持って世間に向かって発信するのは、どのプロダクトを造っているかという事実であるべき。ここには純然たる商品への熱意が込められている。どれだけテストという作業を効率よく日々実施していても、品質の高いプロダクトに結びつなければ、100%の職務を果たしているとは言えないと定義している著者の意見には、自分の考えを支えてもらいました。
Test Engineerとして心を打たれた
ここで本書を読んで、特に覚えておきたい3箇所を整理していきたい。
北極星
目指すべきはDeveloperに尊敬される様な技術的スキルを身につけ、プロダクトのエンドユーザーのためにDeveloperを抑制できる立ち位置。Testには痛みが伴うもの。簡単であってはならない。Developerが手間暇かけて作り上げた成果物を、破壊的な目で分析をし修正を依頼するのだから、やはり知識や経験の裏付けがある言葉を発する人がいいでしょう。
加えてTestのEngineeringに留まらずTestをDesignするTest Designerへ変貌すること。これは企業の成長ステージによるかもしれない。 DesignerはRisk Heat Mapから始まるVisualiseを実施し、専門能力が必要な箇所を見分け、クラウドソース等を利用して多方面から「テストを実行」する。データ分析のためにツールを作成することも考えられる。
テストプラン
この当時のGoogleでは、売り文句や誇張された装飾が含まれた段落を含む文章は、テストプランとして歓迎されていない。
立案者本人を含む複数人が変更を容易に修正を加えることができる箇条書き形式にし、例えハイレベルな要点であってもテストケースの作成に全て結びつくものが良い。読み手を意識してストーリー形式で書き記すことは、書き手の思考も整理されるため、くれぐれも行動できない点をプランに含めない様に、且つ素早くプランを立てられることが望ましい。
ACC Analysis
- Attribute, why customers choose you
- Component, how values are engineered
- Capability, deliverable of attribute by component
プロダクトと対面する時には、このACCをスプレッドシートに書き出して分析をしていきたい。Attributeを横軸、Componentを縦軸に据えることで、カスタマーにとって最も重要なCapabilityが効率的に一目瞭然になるところが良い。AttibuteとComponentは複数回出現するのが基本なので、単純に数を数えるだけで重要度の高い項目を絞れる点も素晴らしい。
SETとSEM
Software Engineer in Test & Software Engineering Managerの章はあまり共感することができなかったが、期待されている業績などに本書を通して触れることができました。Test Engineerの職種は専門性を追求するスペシャリストのキャリアへ進むか、Testを包括するマネージャーへのキャリアを進むかの言及があったので、各職務内容を知ることができたのもよかった。
最後に
変化の多いこの業界で8年も前に書かれた本書、世界最大級のソフトウェア企業のテストにおける分野はどこまで進化しているのだろうか。読者として得た教訓が時代遅れでないことを祈りたいのだが、この本に書かれてあることがだけが、世界の真理ではないということも覚えておきたい。
https://www.amazon.co.jp/dp/482228512X
Updated: 12 July, 2021
Created: 24 May, 2020