みなさん、はじめまして。タカハシカズナリと申します。今回WACATE2014夏BPP(Best Position Paper)賞をいただき、その副賞として寄稿の機会をいただきました。皆様にWACATEの模様を少しでもお伝えできればと思います。よろしくお付き合いください。
BPP(Best Position Paper)賞を手にする筆者
まず「WACATE」とは「Workshop for Accelerating CApable Testing Engineers」の略で、「 内に秘めた可能性を持つテストエンジニアたちを加速させるためのワークショップ」という意味だそうです。夏と冬の年2回、神奈川県の三浦半島で開催しており1泊2日の二日間ソフトウェアテストに没頭します。今回WACATE2014夏のテーマは「テストの再利用」 、熱い2日間のワークショップがいよいよ始まります。
WACATE始まる!~オープニングセッション~
WACATE実行委員小池香織さんよりWACATEの成り立ち、歴史について話をしていただきました。キーワードは「加速」 。自分が加速することで「自分」が変わり、さらに「職場」を変え、ゆくゆくは「会社全体」を変えていこう!!というWACATEの強い思いが伝わり、オープニングから刺激を受けました。
みんなの思いが詰まっている!~ポジションペーパーセッション~
WACATEでは、参加登録の時にポジションペーパー(参加表明書)を提出します。これは自分のことや職場で悩んでいること、ワークショップに期待することを書きます。本セッションでは、ポジションペーパーを使ってグループ内で自己紹介をします。参加者全員に共通していたのは、必ず何かを得ようとしているのがひしひしと伝わってきたところでした。こんな熱い人たちと過ごせる2日間が楽しみです。
自分にできることを率先してやろう!~ BPPセッション~
WACATE2013冬でBPP賞を受賞されたフクダリナさんによるBPPセッションです。ポイントは「刺激」を受けたら「熱いうちに」 、「 率先してやる」でした。その結果、フクダリナさんはソフトウェアテストシンポジウムであるJaSST Kyushuにて参加者119人を集めたという輝かしい結果を残したそうです。まさにWACATEのいう「加速」を常に実践しており、WACATE参加者の手本となる存在であると感じました。
まずは勉強!!~テスト分析入門~「ゆもつよメソッド」を例に~
テストの再利用にあたって、まずは既存のテスト対象のソフトウェアに対して「何に対して」「 どこに着眼する」べきだったのかを分析するために「ゆもつよメソッド」というテスト分析・方法論を学びました。ゆもつよメソッドの完成図は下に示したとおりで縦軸に「何に対して」を示す機能一覧、横軸に「どこに着眼する」といった観点(ここではテストカテゴリと呼んでいました)を羅列したマトリクスを作成して、マトリクス内に「テストをする」または「テストをしない」を見えるようにする方法です。
ゆもつよメソッドの完成図イメージ
機能一覧は仕様書から抽出して、テストカテゴリは「機能モデル」「 品質モデル」を手がかりに、何に着目していくのかを抽出していきマトリクスを完成させます。マトリクス完成イメージを見ると、この「ゆもつよメソッド」の良さは、全部で何をテストしないといけないのかが直感的にわかりやすくなることであると感じました。ここで講義をした朱峰錦司さんから「マトリクス作成の際、機能一覧の作成はさほど難しいことではないが、テストカテゴリを作成することは難しい」と聞きました。
この「難しさ」について私なりに考えてみました。機能軸は分割の粒度について考え方の差はあるものの、製品の振る舞いや開発するソフトの機能単位など比較的イメージしやすいと考えました。しかし、テストカテゴリは「機能モデル」「 品質モデル」といった「手がかりとなるもの」からテスト目的にあわせて具体化していく過程で、担当した人により、テスト目的の置き方の判断要素が異なることが「難しさ」だと考えました。ゆもつよメソッドでマトリクスを作成する際は、テストカテゴリ作成のプロセスを筋道をたてて説明できるかがポイントだと思いました。
いよいよ突入!!テストの再利用実践!!まずは分析!!
いよいよワークショップが始まります。今回は音楽再生プレーヤーの試作版のテストを経て、市場出荷版を開発するにあたり、改善機能を織り込む際のテストの再利用シーンを想定したワークショップになります。1日目は試作版のテストを分析するフェーズとなります。講演で習ったとおり、まずはゆもつよメソッドによる機能一覧を作成、テストカテゴリを作成していきマトリクスを完成させます。そして、次のステップに「既存のテスト項目をマトリクスにマッピングしていく」という作業があります。
既存のテスト項目がマトリクス内のどこに該当するテストなのかを検討していき、どこまでテストできていてどこがテストできていないのかを「見える化」します。既存のテスト項目は「期待結果に複数の確認がある」「 設定・手順・期待結果のみ記載されたテスト項目の羅列だけ」で「何を確認したいのか理解が困難」といった問題点を抱えていましたがマトリクスにマッピングすることにより全体像を捉えることができ、「 どこまでテストができているか」が直感的に捉えることができました。
みんなで宴会、さらにゲームで景品ゲット(^O^)お便り紹介も??~ディナーセッション~
ワークショップでの疲れを温泉で癒したら、美味しい料理を堪能しながらのディナーセッションです。ここでは食事をしながら参加者との交流を深めますが、クイズ大会や抽選会があり、景品(みんなが欲しがる技術本)をゲットできます。私も景品をゲットしてより一層楽しむことができました。またWACATE参加申し込み時に記入したメッセージをラジオ番組よろしくお便り紹介形式で読み上げ、それを実行委員さんたちが笑いアリのコメントをいれつつ盛り上げてくれました。
テストを語り尽くす!でも語り尽くせない!!~夜の分科会~
宴会が終わり、就寝となると思いきやみんなでテストを語り尽くす、夜の分科会が開催されました。ここでは4つのテーマを設けて、参加者が自分たちで参加したいテーマに参加して語りあおうというものでした。私は「テストの悩み」をテーマに「テストはいつ終わればよいのか??」という悩みを打ち明けたところ、「 期限がくるまでやれることをやる」や「バグ収束曲線を使う」といった事例を紹介いただき、また、予定より前倒してテストが終わったときテストをやめるのか??という議論も新たに始まり、あっというまに時間は過ぎていきました。
印象に残ったのは参加者の皆さんがどんな悩みを打ち明けても親身になって聞いてくれることです。私の悩みもそうですが、初参加の方で「よいテスト設計とは何ですか??」といったざっくばらんな悩みをぶつけてもみんな自分のことのように悩んで議論していました。そして議論の途中でタイムアップ…「テストは語り尽くせない」と感じました。
2日目のオープニング「テストは戦い!!」~テスト設計コンテスト'14優勝チーム講演~
2日目のオープニングは寝起きのダルさを吹き飛ばす、ASTER主催の2014年度のテスト設計コンテスト優勝チームTFC KA・RI・YAさんの講演です。TFCとは「Test Fighting Club」の略で、「 現場をもっとハッピーに」のコンセプトに集まった「戦闘集団」と語っていました。
講演で特に刺激を受けたのは「テストアーキテクチャはまだまだ未成熟だから頑張ればNo.1になれる」というメッセージでした。そして、TFC KA・RI・YAさんは本気でNo.1を目指し、テスト設計コンテスト優勝という結果を残しつつも、現場改善のためまだまだ戦い続けていこうとする闘志があることに感動すら覚えました。「 加速」すれば、チャンスがある!!そういった「希望」を参加者みんなに与え、参加者のモチベーションを一気に高める講演であったと思います。
昨日の続き ~テストの再利用!今日は追加・変更!
寝起きのダルさが吹き飛び、さあやろう!!というモチベーションで昨日の続きに入ります。昨日までは試作版のテスト項目を整理しました。今日は改善機能の仕様書から追加機能を昨日作成のマトリクスに反映させ、それをもとにテスト項目を作成していきます。
マトリクス作成については「追加機能」「 それに伴い何を確認しなければならないか」をいかに説明しやすいようにするかがポイントでした。私のチームは追加機能に伴って追加した機能、テストカテゴリ、追加するテストに関してはマトリクスに色を変えて表現しました。また、変更を加えたものが仕様書のどこから来たものなのかをわかるように仕様書とマトリクスのトレーサビリティをとりました。テスト項目についても、マトリクスとのトレーサビリティがとれるようにして、テストの意図がマトリクスを見ることによってわかるようにしました。
このワークショップを通してですが、ゆもつよメソッドはマトリクスとして全体像が見えるため、機能に追加変更があった際、追加・変更箇所、影響範囲が特定しやすいというところにメリットがあることがわかりました。
みんなで発表「俺たちの再利用!!」
演習が終わり、各グループ7分間で成果を発表していきます。変更点を既存のマトリクスの上に重ねて表現し、変更前・変更後を切り替えながら説明していたグループや、状態遷移表を加えて説明しているグループ、最初にプロセスのフロー図を作成して作業に着手して効率化をしたグループなどさまざまな事例を聞くことができました。
私は自分のチームの発表を担当したのですが、時間配分が考慮できておらず、7分を経過してしまいました。にもかかわらず、実行委員の方々の配慮により最後まで発表させていただきました(実行委員会の方々ありがとうございました) 。次回WACATEも参加する予定ですが、その際は、「 良い成果」「 良い発表」をテーマに参加したいと思います。できればそこで作業の効率的な進め方のヒントも得ることができればさらに参加することに価値が見いだせると思いました。
今後の活動のヒントへ~クロージングセッション~
最後は招待講演者による講演で、今回は日本電気( 株) 吉澤智美氏によるセッションです。10個以上のテーマをお話いただきさまざまなヒントをいただきました。その中で私がこれだと思ったキーワードは「記録」です。テストはいかに「記録」を残し、その「記録」をいかに活用していくかが大切なことであると感じました。そう考えるとテスト活動における成果物はすべてその活動の「記録」であり、それを「記録するだけ」で終わらせるのではなく、それをいかに有効活用して未来に活かしていくかが大切なことではないかと思いました。
「テスト」がいくつ出てくるかで評価する? ~ポジションペーパー賞発表~
最後にWACATE実行委員長の澤田悠介さんより、ポジションペーパー3賞の発表がありました。
実行委員が最も加速していると認定した「Most Accelerationg Paper賞」
招待講演者が独断で決める「Biased Favorite Paper賞」
参加者の投票で決める「Best Position Paper賞」
私は光栄にもBest Position Paper賞をいただいたのですが、Biased Favorite Paper賞を決めていただいた吉澤智美氏は「テスト」という単語が出てきた回数を測定して一番多く使っていた方を選出されており、定量的なデータを用いて熱意を評価するといった独創的な評価方法を用いており最後まで勉強になりました。
最後に~必ず何かを持ち帰ろう!!~
世の中には勉強会・研修といった名前のものがたくさんあります。私もいくつかの勉強会・研修に参加しましたが、これといって有効活用できているものはありませんでした。しかし、今回は参加するからには必ず何か持ち帰ろうという意気込みで「何が持ち帰れるのだろう」と常に考えながら講演・演習に臨みました。結果、想像していたよりも多くのものを持ち帰ることができたと思っております。すばらしい講演・演習を企画してくださったWACATE実行委員会の方々、講演者の方々のおかげもあると思いますが、自分が何かを持ち帰ろうという意識でこの2日間を過ごしたことも大きな要因のひとつであると感じております。
この記事を読んでおられる皆さんも「会社の指示で」「 上司の勧めで」というかたちで勉強会などに参加する方々が少なからずいると思います。そのときはただ言われたままに参加するのではなく、「 必ず何か持ち帰ろう」という意識を持って参加すれば、得るものはたくさんあり、貴重な経験を積むことができるのではないかと思います。次回は私もBPPセッションを担当します。少しでも参加者のみなさんへ「持ち帰れる何か」を提供したいと思っておりますのでよろしくお願いします。