Nagoya.Testing #2 in Tokyo に参加してきた #NagoyaTesting


(写真:当日会場に持ち込まれていた『テスト』関連書籍たち。)

先々月の2/26に、名古屋にて『テスト』に関する勉強会が行われておりました。この日その再演的なイベントが東京で開催されるという事で、(平日日中開催でしたが有休を取って)参加してきました。

そのイベントの名前は『Nagoya.Testing』。前回開催分の内容は以下の各種エントリをご覧下さい。

前回のおさらい


そしてここからは今回の参戦メモ。

開催会場は株式会社VOYAGE GROUP AJITO@神泉。VOYAGE GROUP様開催のイベントには過去何回か参加してましたが、この部屋開催での勉強課員参加は初めてでした。受付開始時刻の10:30頃には到着してましたが、その時点で半分位の参加者は既に来ていたように思います。

テストプロセス入門 (11:00 - 12:00)

当セッション直前には、『アイスブレイクタイム』として同じテーブルに座ったメンバー同士で自己紹介等を。

ちなみに当日の座席表はこんな感じです。勉強会界隈では主に&前回のNagoya.Testingでもおれんじクローバー(TwitterID:@orange_clover)さんが座席表マスターとしてその名を轟かせておりますが、今回は出席されていないようなので試しに自分も作ってみました。Google Docsの"Drawing"を用いてますが、割と簡単に作る事が出来てました。

話したテーマは以下の2点。

  • 1.あなたは何で(どんな理由で)NagoyaTestingに参加したのか?
  • 2.自分が何をしてるときが一番楽しい?

2つ目のテーマについては、前回名古屋編では『型を考えているときが一番楽しい』という人も居たそうです。さすが名古屋。

  • 自己紹介
    • 24歳うさみみ系男子『うさみみかわいいよね』
    • SCMBC、近いうちに札幌でもやるらしい。

イベント当日、セッション終了後にスライドは挙げられていた&自分の中で資料における単語レベルの理解なども不十分であるため、見出しレベルの記載のみに留めておきます。

イベント実施前にきょん君がブログでお勧めしていた書籍のうちの1冊『マインドマップから始めるソフトウェアテスト』を早速購入してみたので、当イベント参加における『次の一歩』はこの書籍を読み進め、理解を深める(自分の中で曖昧だった情報の整理整頓を行う)作業を行っていきたいと思います。

マインドマップから始めるソフトウェアテスト

マインドマップから始めるソフトウェアテスト

  • テストとは?
    • JSQTBの定義するテスト(Testing)
    • kyon_mm氏の定義するテスト
    • #なごやこわい の定義するテスト
  • テストプロセスについて
    • テスト戦略策定(テスト計画)
      • テスト戦略手順
      • テスト戦略
        • テスト要求
        • テスト対象
        • テスト目的
      • テスト戦略:キーワード
        • ソフトウェアの品質特性
        • テストタイプ、テストカテゴリ
        • テストフレーム、テストアーキテクチャ
        • テスト技法、レビュー
    • テスト分析
      • テスト分析手順
    • テスト設計
      • テスト設計手順
      • テスト技法(テスト設計技法)
      • テスト設計:キーワード
        • テスト技法:同値分割、境界値分析、制御パスフロー、All-Pair法、状態遷移テスト、デシジョンテーブル、原因結果グラフ、リスクベースドテスト
        • 静的解析
        • 網羅基準
    • テスト実装
      • テスト実装手順
    • テスト実施/報告
      • テスト実施/報告手順
  • まとめ
    • テストプロセスは長いと思われがちだけど、実際は良くやっている事を明確に定義付けたもの。
    • テスト自体がまだまだ未成熟な領域が広いので、違和感があるかも。
    • 一元的に正しいものは存在しない。
  • 質疑応答
  • Q.テスト戦略、どの辺で実施することを考えているか?
    • A:2つの面がある。
      • 戦略で、システムで必要なモノを全て考える(システムテスト〜単体)
      • また、システムテストでのみ…というばあいもある。(きょん君の考えるのは後者)
      • 完成させようとしているタイミングによる。大枠としては開発と並行してやるのがベスト
      • →基本・概要設計が終わる辺りのタイミング。
      • 一番大事。ベストなのは出来るだけ前(の段階)でやる。
  • Q.仕様を明確にするためのテスト、何処に当てはまる?
    • 各フェーズのインプットがそれに当たる。
  • Q.テストプロセスのフロー、気になる点2つ。(1).上から下へ手戻りが無い前提で話してるけど? (2).設計がおかしいかどうかのチェックはどこで?
    • 変更可能性
    • テストプロセスをはっきりと打開する方法は今の所無い。でも頑張っている。
    • テストのマイルストーン
    • テスト実装まで進んでって、仕様が間違ってる事が発覚したら?
      • →いまのところ、無い。
      • →テストの中でバリデーションを取る。
      • トレーサビリティを取る。テストケースにIDを振る。どの仕様書のIDを元にやっているか。
  • Q.トレーサビリティ、現実に管理することは難しいと思うけど…
    • 管理コストが非常に高いので厳密に出来てるところはあんまないんじゃないか
  • Q.スプリントを止めるかどうかの判断
    • 仕様変更でスプリントを中断すべきかの判断
    • 実際やりきったときに、トレーサビリティが残っていれば次スプリントで判断を下す。
  • Q.となるとある程度詳細な設計書がそれなりに出来てなければいけない前提?
    • JSQTBは全てをカバーしようとしている前提で。
    • ある時点で足りてないのであれば、掛け合っていき、自分達で作って行く。
    • 無いものはないよ、って言われたらそこはビジネスの話。
    • 非機能要件等も含めて言っている。

ハンズオン (トータル1時間×3回)


昼食後のハンズオンは、出されたお題について、戦略を立ててテストケースを作るまでのテストプロセスを4人1チームで行いました。

お題はこちら:【issue管理ツールの作成】。

github上に記載された情報を参考に、諸々の作業を進めていきます。

画面仕様はこちら。(Google Docs)

機能リストはこちら。(Slideshare)

一緒にハンズオンワークショップを行った方々は私を含めてこちらの御三方。


計3つのスプリントで目標とされた各タスクは以下の通り。その時々で取ったメモやつぶやきなどを交えてメモ。

  • 【Sprint0: プロジェクト開始テストチームのタスク: 全体戦略をたてる】
    • テスト戦略を考える テスト要求分析
      • ビジネスの話
        • テスト対象プロダクトに焦点をアクセス
        • テスト目的に合致した戦略を。
      • まず、ビジネス側の話で【やりたい事】の話をしている
      • 制約の話はしてない。これから必要だけど。
      • スプリント内で検討したテストを入れるか、入れないか、というのが重要。
      • 考えておく事は勿論重要だし必要。
      • テストは出来るだけ広く、深く考える
      • その後に優先度、枝を落とすかどうか考える
    • レビューの後、模範解答の提示。

  • ソフトウェア技法ドリルを参考に。

ソフトウェアテスト技法ドリル―テスト設計の考え方と実際

ソフトウェアテスト技法ドリル―テスト設計の考え方と実際

  • 各種ツールの紹介
  • 状態遷移表
    • astah*を使えば簡単に状態遷移表が作成される。
  • 画像のメモ
    • 2スイッチ:QAはここまで網羅
    • 1スイッチ網羅
    • 0スイッチ:開発者はここまで網羅
  • 【Sprint1: 実装完了テストチームのタスク: 全体戦略を見直す】

(以下はチームでの雑感。)

    • ユースケースとモックを渡して了承を得る、というのは最強
      • 模範解答:(チーム的には)目的はほぼ一致していた。
      • 100%幅広く全網羅するなら模範解答の方がベター?
      • 限られたリソースでタスクを消化するなら、ユースケースの方が好ましい。

(そして代表1チームによる発表。)

  • (きょん君指摘):+-付けたのが良い。自分は数字でやる(1,2,3...)
    • テスト分析レベルまではホワイトボードで可。必要に応じて文書化
  • 【Sprint2: テスト開始テストチームのタスク: テスト実施】

自チームは戦略に基づいて作成したユースケースを元に、手分けしてテストケースなどを作成してました。

最後には全てのチームが簡単な成果報告発表を実施。

ちなみにうちのチーム、@shuji_w6e さんが当初からリードして頂いたお陰で、軸をぶれさす事も無く、作業もスムーズに行う事が出来ました。またチームとしても適宜疑問点や不安点を議論の場に挙げて、対応可能なものについては速やかに反映(※うちのチームは付箋や紙を使わず、Google Docsベースで作業を進めていた)し、単体テストケースまでそれなりのクオリティで作成出来ていたと思います。@shuji_w6e さん、@k_0kamotoさん、@skowataさん、ありがとうございました!


また、今回主催及び運営サイドでイベントを円滑に進められた(うさみみ装着者の)@kyon_mm君、@oota_kenさん、-@tosikawaさん、会場提供頂いたVOYAGE GROUP及び-@katzchangさん、当日イベントに参加された皆さん、ありがとうございました!


個人的にはこの『テスティング』という分野、社会人になりIT関係のお仕事を進めてきた上で『何となく』であったりこれまでの経験から来る『感覚的』な部分で進めてきていたり、力技の部分で乗り切ってきた部分が多かれ少なかれ(多分多い)あった部分でした。

その辺りを『戦略的に』見つめ直し、一定の基準で判断を下してテスト計画を進めていく…という作業は、あんま使わない筋肉を使った感が半端無かったです。新鮮ではありましたが、如何にこの分野についてそういう風に見つめてきてなかったか(個人の経験・資質のみでやってきたか)、って事でもありますけど。恥ずかしい限りです。^^;


主催者自らブログエントリで、今回の『テスティング』に関するオススメ書籍を挙げております。自分もこの辺りのポイントを抑えて今後の仕事に役立てるべく、まずは1冊目の『マインドマップ』の本から手を付けて(読み進めて)行こうと思います。

マインドマップから始めるソフトウェアテスト

マインドマップから始めるソフトウェアテスト

はじめて学ぶソフトウェアのテスト技法

はじめて学ぶソフトウェアのテスト技法

ソフトウェア・テストの技法 第2版

ソフトウェア・テストの技法 第2版

  • 作者: J.マイヤーズ,M.トーマス,T.バジェット,C.サンドラー,Glenford J. Myers,Todd M. Thomas,Tom Badgett,Corey Sandler,長尾真,松尾正信
  • 出版社/メーカー: 近代科学社
  • 発売日: 2006/08/01
  • メディア: 単行本
  • 購入: 7人 クリック: 267回
  • この商品を含むブログ (47件) を見る
ソフトウェアテスト教科書 JSTQB Foundation 第3版

ソフトウェアテスト教科書 JSTQB Foundation 第3版

  • 作者: 大西建児,勝亦匡秀,佐々木方規,鈴木三紀夫,中野直樹,町田欣史,湯本剛,吉澤智美
  • 出版社/メーカー: 翔泳社
  • 発売日: 2011/11/12
  • メディア: 単行本(ソフトカバー)
  • 購入: 5人 クリック: 85回
  • この商品を含むブログ (12件) を見る


その他関連:


(P.S.)イベント終了後には参加者数人と新宿にてとんかつを食し、付近のルノアールで茶をしばく(a.k.a. 休憩し語らい合う)等しておりました。とんかつは超美味し!

今日のつぶやき 2012/04/06

  • @natsu_nanana 確かに、なつななさんの方は金曜夜は早めに寝ておかないと土曜大変ですもんね〜^^; あのイベントは一日終えたらかなり体力使ってると思われます。 posted at 23:55:49
  • @natsu_nanana お陰様でだいぶ休息は取れたような気がします。色々やりたい事はあるのでそういう時間も惜しかったりするけれど、やっぱり休息は必要ですね。4月は週末慌ただしいので尚更です(笑) posted at 21:38:45
  • @natsu_nanana おはようございます〜(つω-) さっき夕飯食べたので、程良い時間に3度寝に入ると思いますw posted at 20:15:00
  • (釗3[▓▓] #mkr 二度寝からたった今、目覚めました。 posted at 19:51:06
  • 私とごはんたべたい人が1人いるそうです。あなたとごはんたべたい人数もわかるそうです→ http://t.co/J5OrSMbh #gohantabeyo posted at 14:22:16
  • 同感! 昨日のイベントを経て強く思いました。 RT @mike_neck: Java7のEffective Javaが望まれるが、Effective JUnitが望まれる。 posted at 14:15:53
  • @natsu_nanana わたくしはマスターには程遠いでございますw Ryuzeeさんという大師匠がおりますので・・・ posted at 14:14:49
  • 分かった!休み休み考えて15分位掛かった・・・(つД`) / Eric Martindale - Google+ - I'll post the answer in the comments within a few days.… https://t.co/svTMM6Aw posted at 14:13:30
  • しばし気絶(昼寝)→起きたらRedBull++;してお勉強するか.... (釗3[▓▓] #btnq posted at 14:06:00
  • んおっと、ryuzeeさんのはあの括りじゃない再演で、nawotoさんのはあの括りでの再演か。4月の彼の地は熱いな。 posted at 13:42:50
  • うっ、予想通り昼飯食ったら眠みが・・・ posted at 13:26:01
  • @changeworlds www まぁでも、これまでと同じペース、スピード、テンション(笑)でやる事はどうかな〜というか、検討はしてます。 posted at 13:15:43
  • @Solti 可能であれば今日どこか探してみるってのも手では?症状が症状だけに、とても気になります・・・。 posted at 12:01:31
  • @changeworlds まぁ今回はあんなに素晴らしいイベントのつぶやきまとめがあの時点で作成されて無かったので、血が騒いだというのもありましたが^^;(笑) posted at 11:37:43
  • @natsu_nanana やった!徳利様の許可が出た。んじゃ日本酒かっくらって寝るか・・・w 睡眠はある程度取れてる感はあるので、午後スケジュール空いてたら整体行ってこようかな〜。 posted at 11:35:38
  • @Solti さんの健康及び回復が最優先ですよ。一刻も早くお医者さんへ! posted at 11:33:45
  • @changeworlds ありがとうございます。作る事で喜ばれるのであればそれは自分も嬉しいし、そこに掛かる手間なんて大した事ないですよ。 posted at 11:32:18
  • RT @kopipedoujou: 「1分でも遅刻は遅刻」なのに「1分でも残業は残業」にならない時点で笑える posted at 11:23:46
  • @t_wada 昨日はTLで式及び会の雰囲気を拝見してましたが、つぶやきや写真からも素晴らしさや楽しさが存分に伝わって来ていました。改めまして、ご結婚おめでとうございます! #wadacon posted at 11:22:53
  • 作ったの夜中だったので再掲してみた posted at 11:15:22
  • 【再掲】 つぶやきまとめました。おめでとうございます! / 2012/04/07 和田卓人( @t_wada ) &あき子夫妻 結婚式 #wadacon - Togetter http://t.co/lZ9SgJbb posted at 11:14:56
  • @natsu_nanana そうかww そして今日は昼飯食ったら昼寝落ちしそうなモードではある。( -ω-) posted at 11:12:24
  • RT @macneko_ayu: 「プロジェクトが炎上してるときに使えない人がつぎこまれるぐらいなら猫の方がいい」には笑ったな posted at 11:02:17
  • ほ、ホタテマン・・・( ;ω;) posted at 11:01:47
  • @natsu_nanana おはようございます〜。時間的にはどうやらそのようでw posted at 10:59:33
  • (釗3[▓▓] #mkr おはようございます。 posted at 10:49:18
  • まとめときました。(誰でも編集可能です) やましろさんも幹事お疲れ様でした! http://t.co/lZ9SgJbb @yamashiro: #wadaconTweetを Toggetter にまとめてくれる有志を募集しております。さすがに僕は幹事業務で疲れますた… posted at 02:09:38
  • つぶやきまとめました。おめでとうございます! / 2012/04/07 和田卓人( @t_wada ) &あき子夫妻 結婚式 #wadacon - Togetter http://t.co/lZ9SgJbb posted at 02:04:49
  • 誰も作らないなら作っちゃおうかしら。TL上でしか拝見してないですけれども(・∀・)<wadacon posted at 01:43:20
  • @amameci なるほど。いずれにせよ新陳代謝は高まる訳ですね。 ・・・はっ、もしや兄妹合わせて最終形態(冥土化)に?w posted at 01:26:09
  • @amameci 量見て驚きましたが、そんなに汗かくもんなんですね。 posted at 01:18:20
  • @amameci やべぇ、全力の冥土様が見られるとは・・・オラわくわくしてきたぞ!(・∀・)w posted at 01:16:46
  • @amameci 了解です。ありがとうございます。冥土様は当日は正装で? posted at 01:07:17
  • @amameci やっぱそうなりますよね。マッサージって事で皆さんその辺は認識は合ってるのかな。 posted at 01:02:31
  • @amameci 冥土様、4/10の件、当日はジャージ的なものを用意してった方が吉ですかね? posted at 01:00:58
  • @orange_clover 入場時(もしくは座席決定時)にアイコンを各自で操作してもらうってのはアクションとしても良いかも。手軽さを求めるのなら、iPadで操作出来るアプリは何か欲しいとこですね〜。移動アイコン用意するのが割と面倒なのでそこは効率化したいですね。 posted at 00:49:15
  • [勉強会][Testing]Nagoya.Testing #2 in Tokyo に参加してきた #NagoyaTesting: 4月6日 Nagoya.Testing #2 in Tokyo(東京都) (写真:当日会場に持... http://t.co/sYghFy6w posted at 00:47:02
  • @orange_clover IDと実人物の紐付けだったり、会話のきっかけになるのは大きいですね。参加自体少なかったり、顔見知りが少ないような会だと、会の前半〜中盤までに告知出来れば交流を広めるきっかけにもなりますし。 posted at 00:39:08
  • @orange_clover でもあの座席表作る作業、結構楽しいですよね(笑)やってみてそう思いました。 posted at 00:33:06
  • @katzchang 若い頃、国道16号線をひたすら北上して立川方面に向かいましたが、渋滞に巻き込まれまくりで5〜6時間掛かった苦い経験があります。 posted at 00:32:22
  • www 消しておきましょうか?^^; RT @orange_clover: 「Google Docsの"Drawing"を用いてますが、割と簡単に作る事が出来てました」ばらされた。 posted at 00:30:05
  • @ar1skem @natsu_nanana 呑めば呑む程…というやつですよ。…おっと誰か来たようだ。 posted at 00:28:50
  • 参加レポート書きました! 当日イベントに関わられた皆様、ありがとうございました! / Nagoya.Testing #2 in Tokyo に参加してきた #NagoyaTesting - Shinya’s Daily Report http://t.co/k7YKBlBP posted at 00:22:09
  • @natsu_nanana お疲れ様です。 Queen of "Tokkuri". posted at 00:12:24
  • @irof おお…いろふ神の闘いは終わる事は無いのか…(ホント休める時に休んでくださいね。) posted at 00:08:51
  • RT @kakutani: さいきんはie6対応は別料金にしてる posted at 00:07:49