高信頼化ソフトウェアのための開発手法ガイドブックセミナー

高信頼化ソフトウェアのための開発手法ガイドブックセミナー ~ テスト網羅性の高度化 ~
3
鈴木三紀夫 @mkoszk_live

これで秋山さんの講義は終了です。僕は講師なので、次のつぶやきは秋山さんに期待かな? でも、演習中心なので、ツイートすることは無いかも知れません。

2011-10-24 15:30:06
鈴木三紀夫 @mkoszk_live

「使用頻度などを考慮してシナリオテストを考えていきます。」

2011-10-24 15:29:02
鈴木三紀夫 @mkoszk_live

「業務のフローといっても、組込みの場合シンプルなものになりがちです。AからBは30%、AからCは70%ですね。このようなフローの遷移確率を作ります。業務フローに対して繰り返しをやっていくか。組込みの場合、機械の状態などを変えながらやっていきます。」

2011-10-24 15:28:33
鈴木三紀夫 @mkoszk_live

「シナリオを使ったテストを組込みで使う場合には、どのような考慮が必要ですか?」 ・・・ 「組込みでは周期とかが無いことが多いです。しかし、フローの観点は使えます。また、組込みの場合、遷移確率を用いたシナリオを作ります。状態遷移テストと混じることが多いのです。」

2011-10-24 15:26:09
鈴木三紀夫 @mkoszk_live

「シナリオの漏れをなくすためのテスト観点は観点1ですか?」・・・「業務フローの漏れを無くすために使う観点は観点1ですね。」

2011-10-24 15:23:52
鈴木三紀夫 @mkoszk_live

「あと、機能間に論理的な関係がありながら、直交表を使うというのは誤った使い方です。論理関係があるものに関しては、デシジョンテーブルなどを使うのが必要です。」

2011-10-24 15:22:26
鈴木三紀夫 @mkoszk_live

「不具合が出たときには、単に全部テストをやれではなく、最低2機能間を網羅するとして、不具合の原因を見つけ、設計を変えていく。テストで全部対応しようとするのはダメです。」

2011-10-24 15:21:17
鈴木三紀夫 @mkoszk_live

「直交表とかを使って間引いたところでバグがでると、全部テストやれと言われてしまう。どうしたらいい?」・・・「2機能間の網羅であれば全部やるわけですから、3機能間以上の組合せでバグがでたとします。たとえば5機能間の組合せとか。それはテストではなく設計の方でみていかないといけません」

2011-10-24 15:19:46
鈴木三紀夫 @mkoszk_live

これから質疑応答の時間。

2011-10-24 15:16:30
鈴木三紀夫 @mkoszk_live

「データの変化に着目したテストシナリオを作ります。」

2011-10-24 15:15:06
鈴木三紀夫 @mkoszk_live

「ソフトウェアというのは流れとデータの二つしかありません。テストも流れとデータの二つしかありません。直交表の場合、流れが1つに対して、複数のデータに対してテストをしていきます。」

2011-10-24 15:14:12
鈴木三紀夫 @mkoszk_live

「業務シナリオテストの中には、逆演算によるテストデータを作成しないとテストできないものがあります。これは難しい。」

2011-10-24 15:12:43
鈴木三紀夫 @mkoszk_live

「例外シナリオの作り方。」

2011-10-24 15:03:34
鈴木三紀夫 @mkoszk_live

「それぞれの商品にしては直交表を使った網羅しましたが、システム全体をみる場合ピンポイントテスト、つまりシナリオを作ってテストをします。シナリオは闇雲に作るのではなく、バグを見つけやすいようなシナリオを作ります。」

2011-10-24 15:02:51
鈴木三紀夫 @mkoszk_live

ピンポイントテストの解説。

2011-10-24 15:00:29
鈴木三紀夫 @mkoszk_live

「乱数でやると上手くやれるかもしれないし、できないかもしれない。抜けが生じてしまうかも知れない。三機能間の組合せになると、数学的に対応していかなければならない。」

2011-10-24 14:57:10
鈴木三紀夫 @mkoszk_live

ただいま、直交表の解説中。

2011-10-24 14:51:22
鈴木三紀夫 @mkoszk_live

「あるエンプラ系のテストの場合、組合せ網羅は経験で組み合わせていました。そのため、おおよそ30%しか組み合わせていませんでした。このような状況では、出荷後に障害が発生してしまいます。直交表やAll-pairを使うことで、組合せ網羅率80%にしました。」

2011-10-24 14:49:38
鈴木三紀夫 @mkoszk_live

「また、ロジックが複数組み合わさるというのであれば、デシジョンテーブルを使います。」

2011-10-24 14:46:09
鈴木三紀夫 @mkoszk_live

「直交表を使った組合せテスト。組込みではよく使われているのですが、エンプラ系ではあまり使われていないということで、取り上げています。直交表は網羅するということを狙っています。機能に対する組合せが難しい。機能があり入力がたくさん。入力の組合せが多い。それをなんとかしよう」

2011-10-24 14:45:13
鈴木三紀夫 @mkoszk_live

「ここまで前半の話です。後半は直交表の話とシナリオテストの話をします。」

2011-10-24 14:43:21
鈴木三紀夫 @mkoszk_live

「基本構造、派生構造、組合せ構造、期待結果構造。」

2011-10-24 14:40:35
鈴木三紀夫 @mkoszk_live

「4つのテスト観点を結びつける方法を日本語の文法に合わせて考えるというのが、本書の特徴です。」

2011-10-24 14:39:51
鈴木三紀夫 @mkoszk_live

いや、テストレベルというのは誤解があるかも。テスト対象の大きさなんだな。

2011-10-24 14:38:02
鈴木三紀夫 @mkoszk_live

「開発の規模とか、いつテストをするか、テスト対象のアーキテクチャなのか」・・・ いや、この規模って、テストレベルのことだったんだけど。

2011-10-24 14:37:39