Flying Cat Penguin

ゆるゆる仕事、ソフトウェアテスティング関連のことについて綴ります。

ASTER-テスト設計コンテストのすゝめ

こんばんわ。
ぎりぎりで書き始めたおーだんです。

この記事はソフトウェアテストアドベントカレンダーの16日目の記事です。

さて、今回は2018年に色々あったASTER-テスト設計コンテストについて書きたいと思います。
ちなみに、私の参加経歴はこんな感じ↓

おーだんのASTER-テスト設計コンテストの参加経歴

  • テスト設計コンテスト'15 ⇒ 参加辞退
  • テスト設計コンテスト'16 ⇒ 関西予選未通過、審査員特別枠 決勝5位
  • テスト設計コンテスト'17 ⇒ 関西/東海予選通過、決勝5位
  • テスト設計コンテスト'18 ⇒ 関西/東海予選未通過、審査員特別枠 決勝優勝

今年は優勝ということもあり、4年間で一旦はチームでのコンテスト活動を終了としています。思えば色々あったなぁ…素材は良いけど、料理方法が最悪って言われたり、猫耳つける呪いの約束をしたり、意気消沈したけど役に立ったとコメントをくれる人がいて、実はちょっと涙ぐんだり などなど。
 このテーマにしたのは一つ理由があります。それは、参加者のポジティブな意見が中々発信されにくいからです。なので改めて「良いよ」ということを伝えるべく…。あとは、「良くない」と思われている部分も少し考えつつ…。あと宣伝。

良いこと

①「よくやる失敗はだいたい経験できること」

  • みんなのやりたいことを全部詰め込んだ目的のよくわからないテストを作る
  • テスト設計技法をあまり使ったことがないので、適当に使う
  • ISO規格をそのまま適用してとりあえず型にはめたテストをやる
  • テスト要求を考えすぎて、テストケース自体がつくれなくなる
  • 優勝者のやり方をパクってみたけど結局わからなくてやめる
  • 「やりました」だけを言う伝わらないプレゼンをする などなど

コンテストで一番良いのは、"きちんと失敗できること"です。普段、会社でやるテストは、そもそも失敗かどうかすらわからないことも多く、失敗なんて口にできないのではないでしょうか。私は、予選や決勝でキツイことを言われましたが、でもそれはやりたいことができていないと感じていたことで、清々しく認めることができます。
 そもそもソフトウェア開発は失敗の連続が当たり前なのですから、テスト開発でもそうなるのは当然です。
大丈夫、最初は失敗するから!そういうもんだって!

②「変なバイアスがなく、テストを考えることができること」
「テストって何のためだっけ?」を根本から見つめ直すことができます。それこそ今までのテストがゲシュタルト崩壊していきます。そして、個人のテストの思考が強く出るため、議論していくとチーム間で必ず衝突が起きます。
 単純な思いのぶつけ合いになる気持ちの良い喧嘩はとても大切です。あと、まともな喧嘩はチームメンバとちょっと仲良くなります。河原で殴り合いの喧嘩をするとちょっと仲良くなる奴です(笑)

③「チームメンバの個性を生かしたテスト設計ができること」
開発するテストの根源は、チームメンバになります。必然的に、開発するテストはチームメンバのスキルに依存します。そのため、スキルをテスト設計でどう生かすかをチームで考えることになります。チームリーダは非常に悩みますが…チームの個性を伸ばすテスト設計を考えることができれば、きっと業務でもそういった柔軟なテスト設計ができるようになるはずです。逆に、スキルがなければ、学ぶことを想定した活動ができます。
 あと、集まったチームメンバの意外と凄いところをたくさん発見できます。集まった人たちはみんな凄いがところあるんですよ。

良くないこと

①「過去の参加者や審査員が否定眼寄りになること」
テストには物事を否定的にみる側面があることは、なんとなく納得できます。ただ、参加者のブログ記事で気になるのは、"否定眼"の文面になっていることです。「あれができてない」「これができてない」といった話だけで終始する記事や審査員のコメントもあり、そういったことを目にすることが多いと新たな参加者となる、コンテスト聴講者はやりたいと思えなくなってしまうのでは... っと気にしています。直接フォローできるなら良いのですが、ブログ記事ではそういったことは難しいでしょう。
 あと、登竜門だなと思っているので、審査員のコメントに慣れるとそうでもないのですが、厳しいコメントは参加者じゃなくて聴講者が結構ヒくらしいです。

②「参加者が複数年続けて参加していないこと」
コンテストに出る場合、参加者は大抵一年ではテストを作り切れません。私も言われましたが、まず「自分だけの開発方法論」を作る必要があります。「自分だけの開発方法論」がない場合、コンテスト参加者は、審査員の「なぜこのようなテストにしたのか」という質問に答えられないため、コンテストに勝つことは難しくなります。また、大抵は自身の所属するテストプロセスか国際規格を利用して作成しますが、これも審査員の「なぜこのようなテストにしたのか」という質問に答えられず、同様の結果なります。
 大事なのは、「なぜ」に答えられることなのですが、大抵の参加者はこれに答えられないケースが多く、まじめな人も多いので、答えられないと「自分は何もわからない、ダメな奴なんじゃなかろうか…」と落ち込んで出なくしまうのではと考えられます。
本当はそんなことないんですけどね。完璧でなくともより良いテストが作れれば良いんです。

③「チーム間で切磋琢磨する機会が少ないこと」
コンテストは、結構な時間を掛けて活動します(私たちのチームは一年で600時間位…)。ただ、チームだけで活動するとなかなかモチベーションは維持しにくいです。私は、有志のコンテスト参加者ということもあり、関西で別チームと交流会をやっていましたが、そういったことも必要なように感じます。
 コンテストがコンペという立ち位置を取るのであれば、どういう風に他のチームが戦ってくるのかを知るのも大事ではないでしょうか。コイツには勝ちたい!…って思う気持ちは大事です。

④「参加者の発信が少ないこと」
参加者は、予選や決勝の後などを含め、「私、こんなテスト設計考えたの!どう?どう?」となかなか言えない気がしています(いや、いないわけじゃないんですが…)。ネット上には重鎮がいるのでとても恐れ多いという感覚を持っている人も多い気がしています。
 部分的でも、優れた面は堂々と発信するのはどうでしょうか。パクられる?いやいや、パクられたらいいじゃないですか。オリジナルがいつだって先を行っているんです。じゃんじゃん出しちゃいましょう。
できてなくても出したチーム(てすにゃん)もあるくらいですから(笑)

良くないことを変えるために…

まず、「自分だけのテストを極める、開発する」という意識を持ちましょう。
そして、すぐには完成しないと覚悟しましょう。
少なくとも三年はやるつもりで!
何言われても気にしないで、とりあえずコンテストにだしちゃいましょう!
コンテストじゃなくても、とりあえず誰かに出してみましょう。
きっと誰かがコメントをくれます。
でも、そのコメントは全部受けなくてもよいのです。
いいと思ったことを取り入れて「自分のテスト」を育てていきましょう!

結論
コンテストの参加は、参加者の想いがとっても大事です。
参加する方は、テスト設計コンテストをうまく活かして、
自分のテストスキルの成長につなげていきましょう!
コンテスト審査員なんて審査の数が多くなって困らしたらいいんですよ。
私、U30の審査員になりましたが、その方がきっといいんです!!
じゃんじゃん出しちゃいましょう。

あと…参加開始の案内もう少しだから!

テスコンに参加したいけどよくわからないとかあれば相談乗るので声かけてね!

参考文献
ASTER-テスト設計コンテスト'20-過去のテスト設計コンテスト
http://jasst.jp/symposium/jasst16kansai/pdf/S4-1.pdf
てすにゃんblog – アジャイルテストについて書くにゃん
http://www.jasst.jp/symposium/jasst18kansai/details.html#S3B-3

www.slideshare.net
www.slideshare.net

他のチームの方の記事
テスト設計コンテストって何? | TEF-DO
テストカタマリーを活用したテスト設計プロセス案(まとめページ) | どしろうと製作所:WebLog

地味にまだまだ更新するかも…