※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

素人とSQuBOKの話をしてみた(お話風)


まえがき


私はSQuBOK読破会メンバだ。よくSQuBOKを持ち歩いている。
ある日の昼下がり、SQuBOKをカバンに入れたまま友人女性のところを訪ねた。
1歳の息子を一生懸命面倒みている子育てママだ。

登場人物


Aさん(29) 人妻
趣味:ヨガ、ウォーキング、自分磨き
好きな色:イエロー
欲しいもの:マイホーム


着いて間もなく、お茶とお菓子を出してもらった。

A「安い紅茶でごめんね。」

たぶん本当に安い紅茶なのだろうが、ティーカップまでよく温まっている。
子育てで忙しいだろうに、こういうところまで気が利くのはさすがだ。
母子と他愛もない会話をしていたら、母のほうがこう言ってきた。

A「何その分厚い本?」

私「あ、これのこと?」
どうやら分厚くて僕のカバンからはみ出ていたよう・・・

私「SQuBOKっていう、ソフト品質に関する本だよ。」

A「なんでそんなの持ち歩いてるの?」

なんででも良いじゃないか・・・
そう思いながら、

私「仕事柄、ソフトの品質についていろいろ勉強しとかないといけなくてね・・・」
とりあえず適当に答えた。

A「ふーん、大変ね。」

うん、適当に答えたのがバレバレらしい。
適当に返されてしまった。
話を戻そう・・・そう思っていた矢先、

A「実は私、ソフトの開発したことあるよ。」

私「え、そうなの?」

A「産休に入る前はネットワークスイッチの制御ソフトの開発をしてたんだ。」

これでは素人とSQuBOKの話をしてみたというタイトルに矛盾するじゃないか。

私「プログラミングとかしてたの?」

A「プログラミングももちろんだけど、設計からテストまでやってたよ。まぁ先輩に頼りまくってたけど。」

私「スイッチの制御ソフトのテストってどんな感じなの?」

A「別に普通だと思うよ。」

いや、スイッチの制御ソフトというテスト対象に対して、ほかのソフトにないテスト観点でもあるのかなと思って聞いたんだけど・・・確かに聞き方が悪かった。

私「テストケースとか作ってたでしょ?どういうテストケースなの?」

A「テストケースはあったけどあんま覚えてない。それよりテストケースじゃないところでよくバグを見つけていた覚えしかないんだけど。」

私「あぁ・・・アドホックテストでバグ出しちゃう感じね。」

A「何それ?」

私「思いつきのままテストすることをアドホックテストって言うんだよ。テストの質がテスト担当者の経験にものすごく依存するからそれだけだといまいちで、なのでテストケースを作って計画的なテストもしてるわけ。こういう思いつきのようなものは、経験や直感に基づいたテスト技法って言ってこの本にも書いてあるよ。」
そう言ってSQuBOKをカバンから出した。

A「別にいいよ、難しそうだから。」

読んではくれないらしい。
でもここまで話したら、もう止められなくなっていた。

私「テストケースを使ったテストであまりバグがでないのは、きっと殺虫剤のパラドックスってやつだね。この本じゃないけど、JSTQBというテストの資格試験のシラバスに書いてあるよ。テストケースを使いまわしていると、そのテストで出せるバグは当たり前だけど出なくなってくるでしょ?」

私「あと、経験や直感に基づいた技法としては探索的テストというものがあるよ。ソフトを動作させて対象ソフトを学習しつつもテスト設計とテスト実行を探りながらやっていくようなテストだよ。よくテスト技法っていうと同値分割とか境界値分析というのが出てくるけど、いろいろあるんだよ。」

A「へーそんなのあるんだ。」

A「でも同時にやるってことはテストケースを最初に作らないんでしょ?ってことはテストケースの数とか決まってないんだよね?そしたらきっとサボると思う。テスト期間短すぎて余裕ないもん。」

A「みんながあなたの周りにいるようなやる気満々なエンジニアばかりならしっかりやるんだろうけど。」

私「それたぶんテクニックとしてのテスト技法の話だけ見ていて、マネジメントの話をまったく考えていないからだと思う。」

私「探索的テストだけじゃなくて他の技法でも、特に客観的な目標が示されなければ適当にテストケースを作っちゃうんじゃない?」

私「かといって、ふつうよく使われているテストケース数や密度を適当に決めてあげるのが最適かと言うと、そんな気もしないよね。そもそもバグは偏在するっていうのにバグ密度やテストケース密度だけでプロダクトやテストプロセスの出来栄えを見るのは良くなさそうだよね。(と似たようなことを誰かが言ってた)」

私「なのでテスト対象や目的に応じてテストの重みについてテストケース数とかじゃなくても良いので関係者間で合意を取れればよいと思ってる。重視する品質やテストの重みについてはまず大きな戦略や方針があると思うんだけど、そういった方針をテストケースに落とし込むには、その手前のテスト設計というところで、重みを考慮した構造を示してあげればいいんじゃない?」

A「言ってることがさっぱりわかんない。」

私「ちょっと違うけど、SQuBOKにはメトリクスの話(3.1/p.196)やテストマネジメントの話(2.18/p.166)も載ってるよ。たとえばテスト計画とか言ってよく線表だけ出てくることない?SQuBOKにはIEEEのテストドキュメント体系の規格が紹介されていたりして、計画ってそれだけじゃないんだよってことが書かれていたりして勉強になると思う。」

「あいとっぴー」

だれが喋ったかと思ったら息子さんか。ここまで大人しくLEGOで遊んでいた息子さんがついにしびれをきらしたらしい。しかしこの年でIEEE(あいとりぷるいー)を口にするとは。

A「あーごめんねー。おじさん変な話ばっかりしてるね。」

そうして僕らのテスト話は終わった。

あとがき


  • この話はフィクションです。著者の妄想によって書かれています。
  • 関係者にレビューしてもらったら、「テストの重みについて関係者間で合意とれば」とか書いてあるけど、テストケース数に拘るおっさんがいるし、関係者多すぎて無理。って一蹴されました。
  • なんかもっと、素人奥様とのふつうの日常会話でもSQuBOKは役立つんだぜ、というようなことを書きたかったのですが、難しかったです。ごめんなさい。