2012年5月14日月曜日

レポート:マイクロソフトのテスト環境はどう進化したか?-ソフトウェアテストシンポジウム 2012基調講演レポート|gihyo.jp … 技術評論社


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

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

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

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


つ星のうちどのようなグループ化は、画像を形成する

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

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

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

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


temperturesに変換する方法

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氏)。



These are our most popular posts:

Amazon.co.jp: 人類はどのように進化したか (シリーズ認知と文化): 内田 ...

Amazon.co.jp: 人類はどのように進化したか (シリーズ認知と文化): 内田 亮子: 本. read more

マイクロプロセッサはこの先どのように進化するのか? - Publickey

2011年6月6日 ... 記事ではこれまでにマイクロプロセッサの進化を振り返り、現在が大きなターニング ポイントであることを示しています。 ... クロック数の向上も難しく、単純なコアの増加にも 上限があるとすれば、今後どのような方法でマイクロプロセッサの性能向上は実現され るの .... Publickeyはアルファブロガー・アワード 2010を受賞しました! read more

Dev-2

手話はどのように進化したか. (1)手話をめぐる誤解 (2)誰にでも備わった手話能力 (3 )側頭平面と絶対音感 (4)感覚モードにとらわれない言語情報処理 (5)手話認識と 文字理解 (1)手話をめぐる誤解 最近、私が主に興味をもって取り組んでいるテーマの 一つ ... read more

Science Talk 心はどのように進化したか Chap.1

心はどのように進化したか ... 進化心理学が誕生した背景には、1970年代から1980 年代にかけて動物学がパラダイム転換したことがあげられます。 ... 動物というのは 決して本能に従うロボットではなく、環境を評価し、その環境要因に応じて適応的に行動 を選択している、つまり動物がデシジョンメーカーであるという考え方が定着しました。 ... これは素朴な疑問なのですが、具体的にはどのような方法で心の進化を研究するの ですか。 read more

0 件のコメント:

コメントを投稿