********************************************************************** セッションS4-a テーマ:Wモデルはなぜ普及しないのか 講師:野村 卓司 氏 日時:2012/8/31 13:00〜14:20 参加人数:21名 ********************************************************************** ・自己紹介  FAのパッケージ製品の品質保証に従事  組込の世界の人間ではない ・品質保証について現場から発信  JaSST09東京「テストによらない品質保証をめざして」  JaSST10東京「テストにおける勘の考察」  JaSST11東京「使い勝手も品質のうち」  SQiP09「表計算ソフトによるモデル検査の試行」 ・状態遷移表は活用  Excelなどを用いた表計算ソフトによるモデル検査の試行において状態遷移表を活用した ・Wモデルって何?  IT情報マネジメント「Wモデル」より引用  Wモデルは,英国の大手調査会社オーパムのアナリストであるポール・エルズリッシュ  が1993年にロンドンで開催されたEuroSTARカンファレンスで行ったプレゼンテーション  「The Politics of Testing」で語ったものが最初とされる。日本ではドイツ・ブレーメ  ン州立経済工科大学のアンドレアス・シュビルナーのモデルが注目を集め、2000年代半ば  ごろから研究や実践の取り組みが盛んになった。 ・導入と定着  当初の目的は,品証のレビューとテストまでの手待ちの解消し,品証がテスト設計を行  うことで,設計者の作業を軽減するために導入した  つまり,本来とは異なる目的で導入した  導入当初は,仕様書が出来てからレビューは長くて半日程だった  慣れてくるとレビューとテストを同時に行うことが可能になった ・体調不良とテーマを考案した動機  習熟度が上がってきたところでメンバーの入れ替わり,馴染めずに体調を崩す  しかし,復帰し,やれることをやろうと決意 ---------- ○質疑応答 <質問者>  そもそもなぜWモデルというのか?普通にやっていることではないのか? <応答>  名前を定義した方が分かりやすいからWモデルと付けた。  テストとレビューを製品開発の上流からやってることをWモデルと呼ぶ。  (ここでそもそもWモデルの根本的理解が足りないと判明し,補足説明へ) コメント1:「ここでそもそもWモデルの根本的理解が足りないと判明し」を       「講師の説明不足の為」ではどうでしょうか?        ---------- ---------- ○補足説明 ・上流での不具合が多く散見される  不具合を減らすには   −上流開発技術を向上   −上流評価技術を向上  方法:下流技術をフロントローディングさせる ・何故フロントローディングすると設計や要求仕様の質が向上するのか?  気付かなかったことに気付くことが可能になる   動くものを見せろというプレッシャーにさらされ,品質を高めるというプレッシャー   には意外にされされていない  ダメじゃないけど低品質の設計   バグとして報告されないと直さなかったりする  例:カーナビ   道路交通法の対応が必要だが,道路交通法は後から設定することが多い=バグの原因  腕のあまりよくないプログラマは担当だけを集中して作ろうとする   メインのロジックだけ考える   設計ロジックが正しければよいとする   派生開発時に変更要求だけみる ○補足終了 ---------- ---------- ○質疑応答 <質問者>  説明されたWモデルとはテストをするためのチームがいるのを前提としたものなのか? <応答>  テスト設計のチームが開発と別にいます。 <質問者>  チームがいないとWモデルが出来ないのか? <応答>  これについてはそのような職場を知らないのでわからない。 <質問者>  開発者はテストを考慮するが,テストをする人は開発のことを考えているのか? <応答>  テスト設計のチームはユーザ視点でのテストを行う。  開発エンジニアは製品を動かすという点についてのみ考えてしまうが,横にテストエン  ジニアが客観的にコメントをするので中に中にと考えがちな開発エンジニアの助けになる。  しかしながら,開発者のことも分かっている人はテストエンジニアとしても有用ではある。 <質問者>  テスト設計者は開発者と一緒に開発を行うことが出来るのか? <応答>  テスト設計者はテスト技法としてモデルの勉強をしているので開発と同じようなことを  勉強しているといえる。よって開発のことも理解することが可能です。 <質問者>  上流工程のテスト設計とは何ですか? <応答>  これから説明します。 ---------- ・テスト設計者  設計書がよめるテスト設計者は半分もいない  仕様書への朱書きとは?   使用の曖昧なところを指摘する  なぜそれを指摘できる?   曖昧な単語を取り上げるという手法   境界値テストで決める ・上流階級でのテストは安全性を増すのか? コメント2:「上流階級」は「上流工程」ではないかと思います。  (参加者の中にいたヴィッツの開発担当者に対しての質問)  途中で担当を2つに分けて,監視体制をしいた   パラメータの不備などに気付いたりした   うまくいく前提で実装してしまいがちなのを防ぐことが出来たので上流でテストを行   うことは大事であると実感    テストの作業を持っていくのではなく,開発者側に意識を高め,品質を高めようと心がけようとさせる   仕様を細かく書けといっても高められないが,テストを書けというと仕様が細かくな   ることがよくある   開発時にテスト項目と一緒に出せというと開発時にテストを意識して,品質があがる。   手動TDDのような状態になる   (TDDはリズムをよくするためのもので、もともとTDDはテスト意識によって最初から    品質の高いコードをかくという趣旨) コメント3:ここは、石山さんがのべられた「テスト設計の視点で設計作業と併行して、       レビューするというアプローチです。」のことでしょうか? ・テストを行う上での手法  モジュール2つに依存関係がない場合,組み合わせテストを行わなくていい  テスト項目が爆発的に増えるホットスポットを見つけて,これを見直すと設計がすっきりする  どうしても依存関係をなくせない場合はその2つの間に新たに管理機構を設けることで,設計を改善 ・テスト法の粒度  1.テストケースを具体的に書くテスト法  2.テストをするときに必要な考え方を上流工程に持ってくるテスト法  3.批判的にものをみることによるテスト法 ・Wモデルはなぜ流行らないのか  Wモデルの中はコミュニケーションで成り立っている  テスト設計者も設計力がないとWモデルを成立させるのが難しいのが流行らない理由だと推測 ---------- ○質疑応答 <質問者>  テスト設計者は設計に役立つことを指摘した方がいいのではないか? <応答>  通常,コピー&ペーストで以前の製品開発で用いた項目を再利用して増やしていく方法  が取られることが多く,どうしても作業的に成りがちであることが多い。 <質問者>  (参加者への質問)今までの話を聞きWモデルに対してどのように思ったか? <応答>(複数人の応答)  設計に存在する例外を効率よく検証出来ることは有益だと感じた。  どうしても設計者にとっては負担を減らすように設計してしまうという話には共感が持てた。  「動くだろうなぁ」で設計を進めしまう。  コピー&ペーストの手法が悪いばかりでなく,用いれば仕様への理解が深まる有用な場  面があると考える。 ---------- ・私の考えるWモデルの未来形  品質保証を本当に活用出来るのがWモデルだと考える ---------- ○質疑応答 簡単なアンケート:Wモデルを導入することは有益だと思った方は挙手 結果:大多数が挙手 <質問者>  (参加者への質問)Wモデルを導入すればいいのに何故導入出来ないのか? <応答>(複数人の応答)  物を先に作れという圧量があるので上流工程に力をかけられない。  Wモデルはよく考えれば意識して開発していることが今日の話を聞いて分かった。  動くものを早く出したいとどうしても考えてしまいがちである。  コストがかかってしまい,難しい。  テストエンジニアになりたいという人がなかなかいない。  上手に管理したいことはしたいが,上手に管理するために上手に開発することを諦めてしまう。 ---------- ■まとめ  参加者の意見を聞いてみると意外とWモデル的な考え方をしていることは多いことが判明した。  これはつまり,開発者のレベルがあがっていると考えられる。  テスト用の知恵を出す時間を作るためという理由をその設計を前倒しする理由に出来れ  ば,うまくWモデルを普及できる。  ちょっとづつ考え方をかえていけば,Wモデルを普及することが出来る。