[JaSST '07]第2日目 賢人パネラー
Amazonでソフトウェア・テストPRESSを購入予約したが、まだ届かない。JaSSTの会場で買ったほうがよかったなあ。
==
JaSST'07の第2日目はパネルディスカッションやテスティングライブなど、論文発表以外にもイベント系のセッションが多かった。
ソフトウェアテストの展望:SW機能テストから、システム挙動の評価へ
ソフトウェアの品質を効率的・効果的に向上させるために、今まではどういうアプローチをしていたかなど。上流工程アプローチは「下流工程に潜在する欠陥の数を減らす」ということに関しては貢献したが、それは直接的に下流工程(特にテスト工程・手直し工程)の効率化につながったとはいえない。上流工程アプローチではテスト対象を絞り込む(テスト空間を小さくする)取り組みをすることで、直接的なコスト削減につながる。
講演中に登場した「禁則」「無則」「有則」といった考え方。テスト空間を小さくする、というのは、「無則」部分を小さくすることになる?
"Taming a Monster" - 品質をいかにコントロールするか
松尾谷氏、山浦氏、ヨードン氏が、それぞれ、品質コントロールにおける3つのプラクティスを提案。チーム成熟の説明ででてきたタックマンモデルはもう少し調べてみたい。
| 固定リンク
この記事へのコメントは終了しました。

コメント
Jasstに2日間私は参加しましたが、選んだセッションが良かったのか非常にためになりました。
特に、3賢者テストを語るでは、お題があり、それぞれ違ったアプローチでテストケースを抽出していたのは非常に具体的であり、良かったです。
司会の池田さんとお話をさせていただく機会があり、様々視点から捉えてみたら面白いのではないかということで、今回このような企画を立てたとおっしゃっていました。
投稿: ただいま修行中 | 2007年2月 5日 (月) 22:33
>ただいま修行中さん
「3賢者テストを語る」のミニパネルは僕も見たかったですー。社内でも
テストケース抽出方法は人それぞれだったりします。品質の均一化という面
ではよくはないですが、アプローチの仕方という面では視野を広げやすい
なあと思います。
ただいま修行中さんは、どんな気づきがありましたか?
投稿: softest | 2007年2月 6日 (火) 09:31
私の気づきとしては、様々な組み合わせを考えるための技法は多々あると感じたことと、その組み合わせの前提条件の一つ一つを抽出することが非常に重要であり難しいと感じました。この一つ一つを抽出することがテストエンジニアの技術の見せ所ではないかと思いました。
投稿: ただいま修行中 | 2007年2月 6日 (火) 22:06
>ただいま修行中さん
前提条件の抽出はおっしゃるとおり、重要かつ難易度も高いですね。担当者の主観が大きく影響しやすいので、
僕の考えでは、
(0)目標品質レベルの設定
(1)テストエンジニアなど熟練担当者の抽出
(2)実装担当者・設計担当者・検査担当者でのレビュー
といった3点をおさえておくといいのかな、と思っています。
投稿: softest | 2007年2月 7日 (水) 11:43
> テスト空間を小さくする、というのは、「無則」部分を
> 小さくすることになる?
テスト設計するときに、ブラックボックスで行うと、
松尾谷さんが「無則」と名づけた因子、つまり、
因子間の相互関係があるのかないのか分からない因子が
増えます(24枚目のスライド)。
「無則」のテストは、直交表やモデル検証等々の手法で
因子間の「相互作用がない事」を確認するのですが、
いくら直交表でも因子が増えるときついわけです(21枚目)。
そこで、上流工程と下流工程の人がきちんと情報を交換
しあって「無則」が本当の(確認不要な)「無則」で
あるようにすることでテスト空間が小さくなると言って
いるのだと思います(23枚目)。
投稿: あきやま | 2007年2月16日 (金) 08:11
>あきやまさん
コメントありがとうございます。
無則と呼ばれるテストケースの中には上流/下流の情報交換によって、自明な無則(造語)にできるものも
あり、それがテスト空間を小さくすることにつながる。といった認識ですかね。
「テスト空間を小さくする」という言葉の捉え方が、自己流に解釈していた部分があるかも知れません。
投稿: softest | 2007年2月16日 (金) 10:31
softestさん
> 無則と呼ばれるテストケース
松尾谷さんは、「無則」を、「組合わせても何の影響もない入力セット」と定義しています(15頁)。
つまり直交表で言うところの因子であり、それも、機能が直交している(相互作用を与えない)因子のことを指していると思います。
言い換えると、
・因子同士に相互作用があるもの → 有則(の因子)
・因子同士に相互作用が無いもの → 無則(の因子)
ということだと思います。
例えば、レックス・ブラックの『ソフトウェアテスト実践ワークブック」という本でも、上記と同じ区分けで、
・有則の因子の組み合わせテスト → ドメイン・テスト
・無則の因子の組み合わせテスト → 直交表・pairwise
を使い分けるようにと書いてあります。
本来なら「無則」は相互関係が無いのだから組み合わせテストは不要なはずです。
その証拠に、建築業界では水道管からガスがでるという確認(テスト)はしていないわけです(16頁)。
でも、ソフトウェアの場合はそれ(直交表等のテストを使って関連性が本当に無いことを確認する作業)が必要です。
その理由は、建築業界では水道管にガス管が接続されていないことが自明(見りゃ分かる)のに対して、ソフトウェアでは関係していないことの証明が困難だからです。
なぜ、ソフトウェアで困難化というと、仕様書に書かれているのは有則の定義だけで、無則についてはほとんど書かれることがないからです。
このままでは、無則のテスト空間は小さくならないので、無則を証明できるような独立性の高い設計(モジュールをきちんと分ける等々)をして、その情報をテスト側へ伝えようというのが松尾谷さんの招待講演の主旨だと思います。
投稿: あきやま | 2007年2月16日 (金) 14:09
>あきやまさん
なるほど。
無則(の因子)=相互作用のない因子たち
なのですね!因子。
# 確か具体例としてチップ自体を独立させちゃおうとかをおっしゃっていた記憶が。
投稿: softest | 2007年2月16日 (金) 15:17
自動車に搭載されている電子機器をエンジンの制御とか、ミッションの制御といったようにそれぞれ独立させることによって問題の発生を抑えるという話でしたね。
ボードを独立させるとコストはあがるけどって仰ってました。
投稿: あきやま | 2007年2月16日 (金) 23:53
>あきやまさん
Web系サービスだと、筐体・サーバを分けるとか、ネットワークを分けるとか、IPアドレスを分けるとか。ってところですかね。
個人的には、ユニットを小さく小さくしていく方向で相互作用がなくなるように設計するのがいいかな、と思ったりしてます。
(凝集度も高くなる?)
投稿: softest | 2007年2月21日 (水) 23:55
そうですね。
あいまいなお客様の要求を、
1. 人がやることとシステムにやらせることの境を決める
2. システムをHWがやることとSWがやることに上手に分割する
3. それぞれをさらに関係が疎な単位に分割していく
がアーキテクトの仕事だと思います。
で、それをお客様の視点でレビューするのがテスト設計者のしごとかな。
投稿: あきやま | 2007年2月22日 (木) 07:21
>あきやまさん
疎な単位に分割・・・因数分解みたいなイメージ。
いったん、因数(ユニット)を見つけると他の多項式
(プロジェクト)でもその因数単位で分割しやすく
なるかも。
投稿: softest | 2007年2月28日 (水) 00:42