レポート

マイクロソフトのテスト環境はどう進化したか?-ソフトウェアテストシンポジウム 2012基調講演レポート

この記事を読むのに必要な時間:およそ 3 分

1月25,26日の2日間にわたって,東京,目黒雅叙園にて「ソフトウェアテストシンポジウム 2012 東京」⁠JaSST '12 Tokyo)が開催中です。

開催の挨拶に立つJaSST12 Tokyo 共同実行委員長の古川善吾氏(香川大学)⁠主催組織であるASTERの2012年の活動についての紹介がありました。今年は「エンタープライズ向けテスト振興に取り組む」とのことです。

開催の挨拶に立つJaSST12 Tokyo 共同実行委員長の古川善吾氏(香川大学)。主催組織であるASTERの2012年の活動についての紹介がありました。今年は「エンタープライズ向けテスト振興に取り組む」とのことです。

例年のように海外からテスト著名人を招聘して基調講演が行われる同イベントですが,今年はMicrosoftで長年テストチームを率いてきたBj Rollison氏による「How We Test At Microsoft-マイクロソフトでどのようにテストをしているのか?」と題した講演が行われました。

Rollison氏は「オハヨウゴザイマス!」の挨拶とともに登壇。ときにユーモアを交え,終始なごやかな雰囲気で講演は進みました。

Rollison氏は「オハヨウゴザイマス!」の挨拶とともに登壇。ときにユーモアを交え,終始なごやかな雰囲気で講演は進みました。

超巨大開発現場で起こっていること

Microsoftでは全世界で9800名の常勤,社員テストエンジニアが働いています。開発者とテスターの全社比率は1対1=開発者一人にテスター一人という体制です。⁠ただ内部ではばらつきがあり,開発グループによっては開発者の方が多かったり,逆にテスターの多い職場もあります」⁠Rollison氏)⁠

この体制で,年間1500万のバグが発見され,1日に500回ビルドが行われます。⁠テスター一人当たりのバグの数なんか計算しないでくださいよ(笑)⁠これだけのバグに対処するには,⁠トリアージ』が必要になります」⁠Rollison氏)⁠つまり,バグに優先順位をつけて,より重要なものから対応していくことになるわけです。順位付けの判断基準は「どのバグが顧客に最も大きな影響があるか?」です。

また,バグをフィックス後のテストでは,バグフィックスが他の部分を壊していないかも見る必要があります。これを「プライオリティゼロテスト」と呼び,最も重視しているとのこと。このため,大規模で包括的なバグトラッキングシステムを導入しているそうです。

21世紀に通用するテスターの資質とは?

そしてこの体制を支えるために重視しているのは「テスターの質」です。Microsoftでは,2000年ごろからテストに対する意識が変わってきたと言います。⁠世の中のITへの投資が活発だったころ,コンピュータやエンジニアリングの知識がない人もテスターとして大量に採用していました。バグを見つけるのは得意でも,テストを自動化したり,コードレビューやデザインレビューができない人がたくさんいたのです」⁠Rollison氏)⁠Rollison氏は当時CEOだったBill Gates氏から,テストエンジニアの採用を見直すように提案されたそうです。⁠Billはあまり指示や命令を出しません。提案するだけです」⁠

新たな採用にあたっての課題は⁠エンジニアリングの持続可能性(Sustained Engineering)⁠でした。⁠つまりWindows 8を手がけながらWindows XPもメンテナンスしなけらばならない,小声で言いますがVistaも(笑)⁠以前のように大量に人材を採用できない中,質の高いテスターを確保するのに非常に苦労したそうです。⁠コンピュータサイエンスの学位を取ったら普通はデベロッパになりたいですよね。テスターになってもらうよう説得するのは非常に難しかった」⁠Rollison氏)⁠このため,コンピュータ以外の学位や,エンジニアリングだけではないバックグラウンド,資質をもった人にも手を広げて採用していったそうです。

採用の際には「バグを見つける」といったレベルではなく,⁠会社や製品に対してどんなものを提供できるか?」を見極めるようにしました。その基準で見たテストエンジニアとしての価値とは,個々のプロジェクトや製品の問題だけでなく「ビジネスの進め方の問題」を見つけることだと言います。⁠我々は⁠消防士⁠になりがちです。その場の火消しだけに対応しようとする。でも同じ問題がまた起こるのです。このスパイラルから逃れるために,同じ問題が起きいないようにビジネスそのものを見直さなければなりません。より高度な問題解決能力とクリエイティビティが必要になります」⁠Rollison氏)⁠

満員となった会場

満員となった会場

管理職という“枷”

こうして採用した人材を活かすため,組織も変える必要があります。アジャイルな考え方,メンタリティが必要になってきた,とRollison氏は言います。ここで言っているアジャイルとは,ただ速く開発することではなく,⁠変化に素早くきちんと対応できるか⁠ということです。そのために重要なのはコミュニケーションです。メール,メッセージなどの非対面コミュニケーションの他,Face to Faceの打ち合わせも重要と言います。またこれはテストエンジニア同士だけでなく,デベロッパとテスターとの間にも必要で,そのために「開発のすべての要素に全員が関係する」フラットな組織作りが進められました。

さらにこうした組織作りは,構成員のキャリアパスにも影響を与えます。それまでは,キャリアを積んだテスターは管理職的な地位に就くという出世コースしかありませんでしたが,同社では2005年ごろに「テストアーキテクト」というポストを新設しました。これは高度な技術力が求められるポジションで,管理職的な仕事はせず,通常のグループとは独立して働くためディレクターの命令に従う必要もありません。その代わり,開発のエンジニアリングプロセス改善について責任を持つというものです。テストアーキテクトを設けてから,次々とクリエイティブな試みが提案されるようになったとRollison氏は言います。

またこのしくみは,優れた人材の流出を防ぐ効果もあります。⁠管理職の枷(かせ)を外したことで,最高のエンジニアが離職するのを思いとどまらせる場合もありました。⁠ブレインドレイン⁠(頭脳流出)は今や深刻な問題なのです」⁠Rollison氏)⁠

著者プロフィール

小坂浩史

gihyo.jp編集部 所属。最近では電子書籍の制作にも関わる。

コメント

コメントの記入