Microsoftは膨大な数の不具合に「トリアージ(緊急度判断)」で対応 ―― ソフトウェアテストシンポジウム 2012東京(JaSST'12 Tokyo)(1)
2012年1月25日~26日,「ソフトウェアテストシンポジウム 2012東京(JaSST'12 Tokyo)」が目黒雅叙園(東京都目黒区)にて開催された(写真1).本シンポジウムは,特定非営利活動(NPO)法人ASTER(ソフトウェアテスト技術振興会)が,ソフトウェア業界全体のテスト技術力の向上と普及を目指して,全国各地で開催しているものである.2003年3月に開催した最初の「JaSST'03」から数えて今年は10年目にあたる.
この10年で,ソフトウェア・テストに対する関心は高まってきた.本シンポジウムの開催地域も,2011年2月より新たに加わった新潟を含め,全国7カ所(北海道,東京,東海,大阪,四国,九州)となっており,2013年には東北での開催も予定されている.
写真1 ソフトウェアテストシンポジウム 2012東京 会場受付の様子

開催初日の基調講演には,「How We Test Software at Microsoft」の著者としても知られるBj Rollison氏が,「How We Test At Microsoft マイクロソフトでどのようにテストをしているのか?」と題した講演を行った.また開催2日目には,JaSST'03で基調講演を行った東海大学 山浦 恒央氏が,「ソフトウェア・テストの30年前と30年後」と題した招待講演を行った.ここでは,Bj Rollison氏の基調講演の内容についてレポートする.
Bj Rollison氏(写真2)は,米国Microsoft社のプリンシパルSDET(Software Design Engineer in Test)リードとして,Windows Phoneにおけるソーシャル・ネットワーキング機能を統合するプラットホーム・サービスのテスト・チームを率いた経験を持つ.
写真2 米国Microsoft社のBj Rollison氏

●膨大な数の不具合には災害医療のように対応
まず同氏は,Microsoft社におけるテストの現状について概略を説明した(写真3).同社には全世界で9,800名のテスト・エンジニアが勤務しており,基本的にデベロッパ(開発者)とテスト・エンジニアの比率が1:1という体制をとっている(ただし,製品や案件によっては例外もある).この体制で年間1,500万件の不具合が検出され,1日あたり約500回のビルドが行われている.
写真3 同社における製品テストの現状(Product testing)

このような膨大な数の不具合に対処するために必要となってくるのは,「トリアージ」という考え方であるという.「トリアージ」とはもともと医療用語である.人材や資源の制約が著しい災害医療において最善の救命効果を得るために,多数の傷病者を重症度と緊急性によって分別し,治療の優先度を決定することを指している.不具合検出の現場でも,この「トリアージ」という優先順位付けを応用しようというのが同社の考えである.膨大な数の不具合に優先順位を付け,より重要な不具合から対処するのだ.不具合の優先順位の判断基準は,その不具合がユーザに与える影響の多寡になる.
さらに同社では,不具合を修正した後,修正した不具合がシステムの他の部分に悪影響を及ぼしていないかどうかを検証するためのテストを「プライオリティ・ゼロ・テスト」と呼んでおり,この検証を非常に重要視しているという.こうした検証を行うために,同社では大規模かつ包括的な「バグ・トラッキング・システム」を導入している.