マイクロソフトでは「開発プロセスのすべてにテスターが関与している」 JaSST'12 Tokyo

2012年1月31日

ソフトウェアのテストに関わるエンジニアが集まる国内最大のイベント「ソフトウェアテストシンポジウム JaSST'12 Tokyo」が1月25日、26日の2日間、都内で開催されました。

基調講演を行ったマイクロソフトのプリンシパル テストリードのBj Rollison氏は、会場からの質問に答え、テストで重視していることはテスターが開発プロセス全体に関与していること、単体テストを促進するためにテスト用のデータを開発者に提供していることなど、より効果的にテストを行い品質を高めるためのアドバイスをくれました。

fig

(この記事は「マイクロソフトの責任者が語る「われわれはどのようにソフトウェアをテストしているか?」 JaSST'12 Tokyo」の続きです)

開発プロスへの関与、テストデータの提供

会場 テストのアーキテクチャやプロセスの改善についてお話をされていましたが、マイクロソフトの社内では、どういったテストのプロセスが重視されているのでしょうか?

Rollison氏 もっとも重要なのは、開発プロセスのすべてにテスターが関与している、ということ。プロジェクトマネージャとはシナリオについてディスカッションし、コンセプトができた段階から関与し、どんなシナリオがよいのか、手もとのデータなどを提供している。

また、開発者がシナリオを見て仕様を決めていくときにも、そこにテスタビリティがあるかどうか、そこでどんなテストができるかを一緒に考える。そうすると、コードが書かれたときには、すでにテストができることが分かるからだ。

会場 開発者もテストに関わるという話があったが、開発者は仕事の何割程度をテストに費やしているのでしょうか。

Rollison氏 私と一緒に働いている開発者は、おおむね15%ほどの時間を単体テストに使っているように思う。しかしまだ不十分だと思っている。

開発者がもっと単体テストのことを考え、それを実行してくれることで、下流工程のテストはもっとやりやすくなる。これは開発者とテスターの敵対や役割分担ということではなく、プロセスの中でより効率的に時間を使おう、ということである。ビルドに入る前にテストについて考慮されていれば、ビルド後にバグが多数見つかり、それを管理し、修正するという手間を節約できるのだ。

開発者が単体テストをやりやすくするように、私は単体テストに使ってほしいデータを渡している。境界テストでの原因分析を行うと、99%は単体テストレベルで発見できるものなのだ。だからそのためのデータを開発者に渡すことで、お互いに時間を節約できることを分かってもらえるし、その分テスターは本来のテストに時間をたくさん使うことができるようになる。

社内レポジトリでツールの共有

会場 テスターの知識やツールなどを全社的に共有する方法はどうしているのでしょうか。

Rollison氏 社内のテストツールを登録する、「ツールボックス」と呼ばれるレポジトリが社内にあり、それを使っている。ここに開発したツールを登録し、目的や使い方も書いておく。これは私たちの会社のオープンソースのようなもので、登録されたツールは誰でも使っていいし、さらに独自の機能を追加していくこともできる。

会場 テストに関する資格、ISTQB(International Software Testing Qualifications Board、国際ソフトウェアテスト技術者認定資格)を持ってる人とそうでない人の違い、といったものを現場で感じることはありますか?

Rollison氏 資格の価値や差については答えづらいし、難しい面がある。資格について個人的に評価するとすれば、誰かと会って話すときに、基本的なテストのコンセプトやその背後にある数学的な理論ややり方についていちいち説明する手間が省ける、という面がある。資格を持っている人にはそういう価値があると思う。

せっかく資格を取るのならば、きちんと勉強をしてより多くを学べるように努力するべきで、単純に資格を持つのがよいとはいいにくい。もちろん資格を取ることは悪いことではないが。

マイクロソフトでは、テストのディレクターになると5日間のトレーニングを行うことになっている。そういう正式なトレーニングを行うのは良いことだと思っている。

ソフトウェアテストシンポジウム JaSST'12 Tokyo

あわせて読みたい

ソフトウェアテスト・品質 プログラミング言語 Microsoft システム開発




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本