yoshitake_1201’s diary

テストのこととか、ペンギンのこととか書きます。

テスト観点の共有会はとてもたのしい #Fusic #wacate

この記事は?

qiita.com

Fusic Advent Calendar 2019 16日目の記事です。
わたしとチームメンバーがやっている「テスト観点共有会」を紹介になります。 やっていることや目的、やってて楽しいことをまとめました。
この会はとても楽しいですよ。

テスト観点共有会とは?

チームメンバーとテスト観点*1について語り合う会です。 チームメンバーとテストの認識を合わせる目的でやっています。
会では、1つのテーマを選び、そのテーマについて「テスト観点」を語り合います。 私達はWebシステムを開発しているので、取り扱うテーマはWebシステムに関わるものになります。 例えば「電話番号」「メールアドレス」「PDF出力」「SPA(Single Page Application)」「アカウント登録機能」「ログイン画面」などです。

テスト観点を話すだけでなくそこで出た観点をまとめ、最終的には、テストデータ*2を添えたリストを作っています。

共有会のやりかた

会は「テスト観点を出す & まとめる」フェーズと「テストデータを出す」フェーズの2つにわかれています。
それぞれ以下の流れで進行します。

  1. ① テスト観点を出す & まとめる
    1. テーマを選ぶ
    2. 観点を出す(出した観点は箇条書きでメモする)
    3. 出した観点を階層をつけて整理する
    4. 2と3を繰り返す(深堀りしたり広げたり削ったりする) > 参加者全員の納得が得られれば観点出し終了
  2. ② テストデータ出し(リスト作り)
    1. ① のテキストをスプレッドシートに貼る
    2. 適当に体裁を整える
    3. テストデータを考えていく
    4. 参加者全員の納得が得られればテストデータ出し終了

例えば「電話番号」をテーマにしたときは、以下の感じになりました(抜粋)。
■ ①が終わったタイミング
f:id:yoshitake_1201:20191216223032p:plain

■ ②が終わったタイミング
f:id:yoshitake_1201:20191216223104p:plain

※ 画像のモザイク部分にはテストデータが記載されています。

共有会をやるときに大事にしていること

共有会をやるときには、以下に注意してやっています(運用ルールからそのまま抜粋)。

  • 観点出し中に出た意見を否定しない
    • とりあえず記入する
  • 観点出し中にテストデータ思いついたら書いても良い
  • 観点出し中に無理にテストデータを考えない
  • 「これは当然やるでしょ」なものこそ書く
    • 共通認識を得るためのものでもある
  • 「テストデータFail想定のもの」は対象の行のテスト観点に関わりが深いものを書く
    • どの行にも共通したテストデータが入るのはなにかおかしい

この観点共有会は「自分の中に持っているもの」だけでなく「世間一般ではどうなっているだろう」や「どんな規格があるのか」を調べたりします。 当たり前と思っているものこそ調べてみる。というのも大事にしています。

やってよかったこと

いっぱいあるのですが、特によいことは「話が脱線する」ことです。
主にテスト観点出しのフェーズで起きるのですが、「こんなバグがあったよ」という話から「そういえばこのときこんなバグもあったな」と他のバグの話になったり、「こんなニュースや規格があるよ」とWebページを調べていたら全然関係ない記事が目についてそっちの話題になったりします。
この脱線によって、新しい観点に気づいたり、まとめたリストを見たときにその会のことが思い出しやすくなります。

もちろん規格や定義も調べるので、そのテーマについても新たな発見があったりします。
たとえば、電話番号の市外局番について。
私は「2桁から5桁」と思っていたのですが、実は先頭の0は「市外局番」ではなく「国内プレフィックス」なので「市外局番」は「1から4桁」だったと初めて知りました*3

また、参加者の年齢がバラけていることもあり、お互いに学ぶことがあります(特に時事ネタ)。
そしてこの会には弊社のシニア・プリンシパルエンジニアも参加してくれるので開発時の視点や考えも教えてくれます。
いろいろと異なる視点での意見が出るのでとても良いですね。

おわりに

この共有会を少しカスタマイズして、WACATE 2019 冬の夜の分科会でやらせてもらいました。
そこでは「テスト観点を出す」フェーズしかできなかったのですが全然違うロールの方とやったので「そんなところが気になるのか〜」と勉強になりました。
そっちは別途記事にしようと思ってはいますが、とりいそぎ資料だけアップしました。
参加してくださった方が、分科会の記憶を思い出す材料にしてもらえると幸いです。

speakerdeck.com

このブログや↑の資料だけでは、楽しさや良さはなかなか伝わらないと思っています。
なのでテスト観点の共有会をやったことがない方はぜひ自分のチームでやってみてください。

*1:この記事では「テスト観点」を「テストするときに気になること/テストすること」という意味で使っています。

*2:この記事では「テストデータ」を「テスト設計やテスト実行時に参考にしたり使用するデータ」という意味で使っています。

*3:総務省 電話番号に関するQ&Aを参考にしました。