こんにちは。フクダです。
前回の勉強会に続き、第二回のテストの勉強会に行ってきました。
会場は前回と同じAIP cafeです。
今回の講師はJaSST'12 Tokyoで行われたテスト設計コンテスト優勝者の河野 哲也さんに、テスト設計についてお話ししていただきました。
事前に今日の発表資料を頂いたのですが、正直ついていけるかとっても不安でした。
難しそう
実質ワークなしで2時間弱話されていたので、詳細は割愛。
というより、勉強不足、知識不足でちゃんと理解吸収出来なかったな。と思いました。(河野さん スミマセン)
ですので、印象的だった話をいくつか書きます。
テスト設計と言っても、大きく二つある!
テスト設計以前に、テストといっても大きく二つの意味がある。
■その1 『test』
テストケースの組み合わせ
■その2 『testing』
プロセスそのもの
ですので、各々のテスト設計というと
■その1 『test』
→成果物
■その2 『testing』
→行為そのもの
ということになるらしいです。
無則のテストについて
テストをしていると、仕組みや構造を知っている人にとっては、一見関連性がなさそうなところでテストを省いても問題なさそう。でも、バグがひそんでいるかもしれない。
というところがありますよね?
このような場合に、全部の組み合わせをすればいいのだろうけど、非効率!(だって、基本的には関係性ないからバグでないはずだもん!)
そんな時のペアワイズ法!
複数因子を二つの組み合わせのみ保障することで、最低限の保障をまかなう。
その技法を使用できるPictMasterというツールもあるそうです。
この項目については かなり知りたかった技法で、ソフトウェアテスト技法ドリルという前にも紹介した本に説明と、PictMasterの使い方も載っているということなので
勉強しようと思います。(後にblog書きたい)
テスト設計はなんでいるか
→レビューできるから!人は間違うからレビュー大事!
→意識合わせ
→その後の保守もし易くなる
その為には、共通に認識出来る技法や図法は必要
→道具はそろえろ
でも、技法ありきだとうまくいかない
テストは仕様書の外のことを考える仕事だ!
テスト設計コンテスト
今回の話の中で、テスト設計コンテストで実践した方法も教えていただきました。
■テスト設計はモデルで表現
表現できないものは対象としなかった
例)
・ユーザビリティテスト
・性能テスト
・意地悪テスト
■DFDを使って全体を理解した
◯と□と矢印で構成
・◯は機能や処理
・□はデータの入出力
矢印が多くで入りしている部分を重点的に設計する
→なぜか?
その部分にテストするためには、結果的に使用することになる
所感
テストもそうなのですが、テスト設計においても『こういうもの!』という定義はないようです。
しかし、図法や技法を知っていれば、選択肢は増えますし今あやふやになっているテストをより明確にすることができると思います。
とくに図に起こせるのは、文章よりも理解しやすく、頭の整理にもなるなぁとあらためて思いました。
過去に5年ほどPG経験がありますが、設計を殆どしていない&上流工程のことをやっていないので、テストケースを考えるときもローレベルテストをすぐ考えようとしていると気づきました。そのために整理できないこともあるので、今後の課題の一つにしたいです。
テスト技法、図法について無知すぎるので、道具を揃えるべく勉強したいと思います。