組み合わせテストにどっぷり浸かる2日間─「WACATE2012 夏」レポート

はじめまして。WACATE2012夏、レポートを担当する畠山と申します。

WACATE(Workshop for Accelerating CApable Testing Engineers)とは、若手テストエンジニアによる若手テストエンジニアのためのワークショップです。夏冬と年に2回開催しており、10回目を迎える今回は組み合わせテストがテーマ。⁠禁則にときめけ!無則にひらめけ!」を合言葉に、晴天の三浦マホロバ・マインズで、2012年6月30日~7月1日、1泊2日の合宿が開催されました。

画像

今回、後述するベストポジションペーパー賞を受賞し、この場でWACATE2012夏を紹介する機会をいただきました。WACATE初参加の、それどころか社外の勉強会やコミュニティにすら参加したことがないという初心者の私がレポートを担当させていただきます。どうぞ最後までお付き合いください。

知らない人ばかりでも安心! ―人と人との距離を縮める仕掛け―

WACATEはセミナーでも講習会でもなく「ワークショップ」です。手を動かして技術を身につける、しかもチームでの行動となると、参加者同士のコミュニケーションが欠かせません。WACATEには交流を促す仕掛けが随所に施されています。

まず参加者のネームプレート。初参加の人は黄色、2回目以降の人は緑色のカード、そして5回以上参加している常連さんは青色のカードになっています。WACATE経験者の方は右も左も分からない初参加者を積極的にフォローしてくださり、また、書籍を執筆されている方、JaSSTの実行委員をされている方など、社外に飛び出したばかりの私には雲の上の存在だと思っていた方々も分け隔てなく接してくださり、貴重な交流の機会を十分に得ることができました。

初心者同士の交流の場も設けてあります。初日夜、ディナーセッションの後に行われる「分科会」は、いくつかの提示されたテーマの中から好きなものを選び、興味のある人同士が集まって語り合うというものです。⁠初心者集まれ!」とリードしたのは実行委員の奥村健二さん。それぞれテストに関して悩んでいることを挙げ、回答ができる人が答える、初心者同士が自分たちで解決していくことで自信に繋がる時間でもありました。

これらの交流の要になるのが「ポジションペーパー」の存在です。ポジションペーパーとは自己紹介や参加の意気込み、問題提起、議論したいことなどをA4用紙1枚にまとめたもので、参加者は申し込み時に全員が提出しています。全員のポジションペーパーは冊子にまとめられ開始時に配布されているので、それを元にお互いの情報を知ることができます。WACATE最初の大きなセッションは、このポジションペーパーを使っての交流です。1人3分時間が与えられ、チーム内で順番に発表していくのですが、テストに対する熱い想いを持って参加した人ばかりですから、3分という時間はあっという間。私も語りきれませんでした。熱い想いを語り合い、仲間意識が芽生えたところで、テスト尽くしの2日間がスタートするのです。

画像

技術を学ぶその前に―意欲を高めるヒント―

前述したポジションペーパーに3つの賞が用意されています。その中のひとつ「ベストポジションペーパー賞(BPP賞⁠⁠」は、参加者が選んだ最優秀ポジションペーパー賞のこと。今回のテーマ「組み合わせテスト」の世界に入る前に、WACATEに参加することでどのようなことが得られ、どう業務に生かしていけばよいのか、そのヒントを前回のBPP賞受賞者である藤崎祐美子さんが講演します。

画像

藤崎さんの最初の一歩は、Twitterのつぶやきなのだそうです。ほんの小さな一歩から繋がったのが、このWACATEやソフトウェアテストに関わるたくさんの人たち。そして藤崎さんは、以下の3ステップで人生が変わったといいます。

  • みんなの力を組み合わせることで加速
  • 気づく、考える、発信する
  • 世界に視野を広げてみよう

多くの人たちから刺激を受け、自分の立ち位置を意識するようになり、徐々に周りの人たちへも影響を与えるようになったという藤崎さん。これからは世界にもどんどん視野を広げていきたいと語っていました。得たものを持ち帰り、生かしている先輩の声を聞き、⁠この小さな一歩に大きな可能性が秘められている」初参加の私は今日ここで一歩を踏み出せたように思い、大きく胸が膨らみました。

組み合わせテストって??―基礎を積む―

今回のテーマ「組み合わせテスト」について、参加者の知識レベルはばらばらです。グループワークに入る前に全員が同じスタートラインにつくため、1日目の午後は、実行委員の井芹洋輝さん、近江久美子さん、加瀬正樹さんが講師となり、組み合わせテストの基礎を学習します。

「組み合わせテスト」をするには何をしなければならないのか、ラーメン屋を例に挙げて講義は進みます。組み合わせが多すぎたり洗い出した条件が複雑であったりする場合、解決策として、⁠デシジョンテーブル」「直交表⁠⁠、⁠ペアワイズ」といった組み合わせテスト技法を用います。しかし、最初から技法を使用するべきではありません。テスト対象や目的に応じて適宜使い分ける必要があるだけではなく、組み合わせテストをする場合、他にも落とし穴があるかもしれません。

画像

たとえば、組み合わせを網羅する中で、条件によっては⁠肉なしチャーシュー麺⁠ができあがります。組み合わせても問題は起きませんが、メニューとしてありえない、そのような「禁則」は事前に見つけ出しておく必要があります。また、メニューには書かれていない⁠麺の堅さ⁠が選べるかもしれませんし、壁に⁠冷やし中華はじめました⁠と書いてあるのを見逃してしまっているかもしれません。このような「抜けや漏れ⁠⁠、⁠隠れた仕様」も、きちんと探っておく必要があります。

抜けや漏れ、隠れた仕様を見逃してしまうと、それは丸々テスト漏れになってしまいます。そのようなことがないよう、テストをする前には分析、設計が大切です。仕様の分析にも便利な手法があります。⁠マインドマップ」「FV表⁠⁠、⁠ラルフチャート」などを活用しながら詳細化することで、因子や水準をよりよく抽出でき、適切なテスト技法を選択する手がかかりになります。また、順を追ってテスト実施に至ったとしても、それが完璧かどうかはわかりません。テスト条件、要因・因子、粒度・水準・範囲、テスト技法、それらが適切かどうか、随時、見直しをすることが大切です。このように「良い手法」を用い、⁠良い習慣」をつけることにより、適切なテスト、即ち「良いテスト」をすることができるのです。

画像

講義の間にはミニワークも行われました。書かれたことしか読み取れなかったガチガチの頭は、小さな実践と振り返りで、少しずつ柔らかくなっていきます。段階を踏んで学ぶことで、徐々に身についていくのがわかります。

実践して身につける! ―ワークショップ―

2日目は1日目の学習を生かし、午前午後の5時間を使ってのグループワークです。配布されたWACATEオリジナルの仕様書を元に、以下の課題をチームで解いていきます。

グループワーク

1.ワークの内容
配布された仕様書の追加機能部分について、登録する際の組み合わせを考える。設定の組み合わせが多く発生するので、効率的にテストができるようにテスト項目を絞りたい。
2.成果物
  • 方向性、方針
    どういった方針や方向性で組み合わせを考えたか(使う技法など)

  • 洗い出した因子、水準
    登録機能の組み合わせテストで用いる因子、水準

説明や発表を交えての5時間なので、課題を解く時間は実質3時間半ほど。チームビルディングができたら、あとは時間との勝負です。課題解決までのスケジュールを立て、タイムマネジメントも行いながらのワークとなります。私たちのチームでは、各自の経験や得意分野を生かして役割分担を決め、進めていきました。

まずは課題に対する疑問や解決の糸口となりそうなものを全員で付箋に書き出し、発散していきます。一人では気づかなかった仕様の曖昧な部分、書かれていない部分、解決の方法がどんどん出てきます。それらを基にテストの方針を決め、仕様の分析はマインドマップやFL表を用いました。仕様が曖昧な部分に関しては質問事項をまとめ、確認が取れなかったものに関しては仮定を立てそれを提示した上で作業を進めます。初日の学習だけでは得られなかった技法やヒントを、同じチームの先輩方から学びます。

課題を解きながらプレゼンテーションの資料も作成します。模造紙での成果物の他、PictMasterを使った組み合わせ例についてはPCを用いて発表することにしました。プレゼンは原則、リーダーに選任された初参加者が行うこととなっており、活躍が期待されます。こうして、短時間ではありますが、テストの開発プロセスと検討結果の報告を一度に体験することができるのです。

画像

最後は8つのチームが順番に成果を発表していきます。各チーム、さまざまな方針が掲げられ、さまざまな手法が用いられました。テストという活動には適切な方法はあるかもしれませんが、正解は一つではありません。各チームが見出した条件の下、新しい発見がたくさん見つかるグループワークでした。

画像

WACATEから世界へ羽ばたこう ―先輩からのアドバイス―

今回のWACATEには、たくさんの方が応援に駆けつけてくださいました。ASTER(ソフトウェアテスト技術振興協会)の辰巳敬三さんは、カナダで開催されたICST2012組み合わせテストワークショップに参加した時の貴重なお話をしてくださいました。参加したアジア人は全体の7%、しかも日本人は4名しか参加していなかったとのこと。⁠もっと世界へ飛び出そう!」と後押ししてくださいます。

PictMasterを開発した岩通ソフトシステム株式会社の鶴巻敏郎さんは、世界のさまざまな組み合わせテストのツールを使用した中からPICTを選び、日本人が使えるように開発を進めた経緯をお話してくださいました。組み合わせテストを現場に導入するためのアドバイスを、経験を踏まえながら提示してくださいました。

画像

CFD法の提唱者である松尾谷徹さんは「ここは失敗しても構わない場所。早く失敗して早く身につける、それが成長のコツ!」と激励してくださり、HAYST法で有名な秋山浩一さんは参加したファンからのサイン攻めに笑顔で対応してくださいました。細川宣啓さんは「仕様変更に応えられるよう汎用性を考慮したテスト設計を心がけるべし」と説いて歩きます。日本を代表するテスト界の大御所に直接声をかけていただき、夢は大きく広がっていきます。

濃密な2日間でした ―WACATEで得られた成果―

今回、私が参加したきっかけは、テストについてもっと勉強したいという思いからでした。⁠テストエンジニア 勉強会」で検索をして見つけたこのWACATEで、私はテストの技術を得ただけではなく、これからのビジョンが明確になり、かけがえのない仲間にも出会うことができました。WACATEのキーワードである「加速(Accelerating⁠⁠」を、ワークショップの場でも、WACATEが終わり、こうしてレポートを書いている間にも感じています。

レポートでは簡単にしかご紹介できませんでしたが、興味のベクトルが同じ方向を向いている人たちが集まって2日間を過ごすと言うのは、とても愉しい時間でした。休憩時間を惜しんでいろんな人たちと交流したり、話が盛り上がりすぎて夜が更けていったり。紹介しきれなかった充実したコンテンツを用意し、体を張って盛り上げ役をかってくださっている実行委員の皆さんには本当に感謝しています。ありがとうございました。

読者の皆様の中で、興味はあるけど一歩を踏み出せずにいたという方がいましたら、何も心配することはありません。温かく迎え入れ、未来へ向かって背中を押してくれるこの輪に、是非参加してもらえたら嬉しいです。

画像

おすすめ記事

記事・ニュース一覧