HOME > 活動報告 > イベント報告 > JaSST'19 Tohoku
2019年5月31日(金) 於 仙台市中小企業活性化センター
第7回となるJaSST Tohokuが開催された。今回のテーマは「基本のキ ~明日のテストを楽にする~」であり、基調講演、事例紹介、スポンサーによるライトニングトークス、そしてJaSST Tohokuの名物となっているワークショップが行われた。各講演資料は公式サイト(末尾にリンクあり)から公開されているので、合わせてご覧いただきたい。
会場は満員御礼で盛況だ。9時半に真鍋氏の司会で始まった。会場左側にはプロジェクターで常にtwitterの画面が投影されており、参加者のつぶやきがリアルタイムで見られるようになっている。
オープニングセッションのトーカーは今回3代目実行委員長に就任した梅津氏で、とても緊張しているとのこと。参加者の事前アンケート結果が紹介されたあと、アイスブレイクが行われた。配布資料の「テストの問診票」に、テストの気になることや悩みを書き、それをネタに隣席の3~4人で自己紹介と雑談をおこなった。筆者と同じグループになった方々は、AIのテストや開発知識の習得に関心を持っていた。
そして今回の目玉である参加者特典「ソフトウェアテストの練習帳」が紹介された。表紙のデザインは子供向け学習帳を模しているが、なんと約250ページというボリュームの本格的なソフトウェアテスト技法の問題集だ。1年間かけて作成したとのこと。
「ソフトウェアテストの練習帳」には驚いた。同値分割法と境界値分析11問、デシジョンテーブル10問、状態遷移テスト6問、組み合わせテスト8問、総合テスト3問、計38問あり、丁寧な解説付きだ。実行委員の、ソフトウェアテストを広めたいという強い熱意を感じた。
冒頭、小山氏は実行委員会から事前にテーマと共に3つのリクエストがあったと語った。「冒険の始まり」「テストの基本を」「エモく」とのこと。
これまで色々なテストプロジェクトに入り、ゼロからテストのやり方を構築する仕事をやってきた。その経験にもとづいて、以下の講演を行なう。
色々な現場でテストを実施してきた経験から、どんな現場でも使えるJSTQBの「テストの目的」の定義(下記)の重要性を実感している。
テストの本質として、テスト自体はあくまで「知ること」しかできない。また、テストは無限から最適だと考えられる有限を選定することであり、状況や対象によってもテストの目的や知りたいことが変わる。そのため、自分で考える必要がある。
freeeの商品は、会計情報などを取り扱うため、品質にこだわり、品質を犠牲にしない速度で開発することが共通認識となっている。
「やらなきゃ損」のリスク識別は、早めにヤバイところがわかり、リーズナブルである。欠陥が埋め込まれてから摘出されるまでの時間は早いほど良い。リスクを識別・分析するためには、まずはテスト対象を知ることが必要である。
リスクに基づくテスト設計では、有限を選定するために使うテクニックとして様々なテスト技法がある。カメラでの撮影とテストは似ている。
テスト技法を使う前に認識すべき大切なことは、現状を知り考えることだ。そのためには、リスクを考え、それが起こらないことを知りたい。ところが、全てをテストすることは不可能である。そこで、どう工夫するかを考える。方法のひとつとして、テスト技法がある。テスト技法は、無限から最適だと考えられる有限を導き出すテクニックだからである。
小山氏は講演の最後を「冒険の始まりでは、町の酒場で仲間を見つけ、旅に出よう。」という言葉で締めくくった。テスト初心者に向けて「新しいことを恐れず、みんなで協力して挑戦しよう」と言っているように感じた。
小山氏が推奨するJSTQBの「テストの目的」に立ち返り、テスト対象やリスクについて自分で考えてから、テスト技法などを使うことの大切さを学んだ。
2016年のときには少人数の組織だったため、ひとつのチームで各自が複数のロールを受け持ち、手動によるテストとテスト自動化の両方を行なっていた。2018年頃から組織の規模が大きくなり、マニュアルチームが手動によるテストを実施し、オートメーションチームがテスト自動化を実施するようになった。そして発生した課題は以下の通りである。
1. テスト自動化の設計見直し
課題1,2に対する対策として、テスト自動化設計書のテンプレートを作成し、自動化されたテストがカバーしている箇所の可視化や、テスト目的、運用に必要な事を明確化した。その結果、自動化実装漏れが低減され、レビュー、実装等の自動化工数の削減ができた。
2. テスト自動化のレスポンシビリティ定義
課題3に対する対策として、プロジェクトでマニュアルテストと自動テストのレスポンシビリティを定義した。その結果、新規機能をマニュアルチームに任せることができ、頻繁な既存機能の改修に対して、短いテストサイクルの中で、リグレッションテストが追従できるようになった。
今後の改善点として、新規機能も含めてプロジェクト内でテスト自動化をカバーし、マニュアルチームとオートメーションチーム間での相乗効果を向上させることを目指す。
サービスの成長に伴って組織が大きくなった時、品質確保のためには、オートメーションチームとマニュアルチームの協力が鍵であると実感した。
速度重視の開発プロセスだったが、案件拡大に伴い、システムが高度化・複雑化し、速度重視に加えて、品質の維持・向上も必要になった。そこで、品質管理部が新設され、未経験者を半年でテストエンジニアにするというミッションに挑むことになった。我々は様々な手法で未経験者の興味を引き、「学びたい」という思考に繋げる「モチベーションマネジメント:『get hooked(心を掴む)』施策」を掲げた。具体的には以下の通りである。
1.学ぶ心を掴む「OJT&K(On the Job Training & Knowing)」
実際にテストをおこなう際、テスト手法、テスト設計、レポートの書き方などに対して、なぜ必要なの?どういう結果になるの?何が目的なの?と考えることを促すこと、そして会社側が目指していることを伝えることが、未経験者の学ぶ心をつかむために大切である。
2.楽しむ心を掴む「Recreation on testing」
バグをたくさんあげる、目標を持って仕事ができる、みんなと意見交換ができることが楽しいと感じてもらえるような活動をする。具体的には「最優秀バグの表彰」をおこなった。
3.探求心を掴む「Exploratory Testing relay」
探索的テストシナリオを作成する際に、人から人へつないでいく「リレー形式」で作成することにした。
効果としては、テスト設計が活動に含まれるようになった。テストの本質が身につく事で、テスト設計に費やす時間が削減でき、欠陥偏在などの観点も取り入れ効率的なテストが可能になった。
4つのポイントにまとめると以下の通り。
テスト技術者の人材育成を、座学などではなく、本物の現場の活動を通して実施している点に感心した。特にバグ票コンテストやシナリオリレーの取組みは、多くの現場が参考にできることで、身近に感じた人が多かったのではないだろうか。
1. 従来の取り組み
15年間テスト教育を実施しているが、現場からのフィードバックでは、テストの教育効果が見られないという課題がある。それに対して、効果が見られない主な原因は「教え方が悪い」のではないかと考えた。
2. 学生向けの教育
東日本大震災ボランティアの一環で学生に教育する機会を得た。そこで、相手のレベルに合う教え方を考えた。例えば、簡単な言葉を使う、身近な例を用いる、論理的に考えさせる、などである。
3. 外国人向けの教育
時間をかけてテストの作業や技術の目的を教えた。その結果、テスト計画・設計だけでなく、他者への指導もできるようになった。
4. 従来の取り組みの改善
相手本位で教育することが最も重要である。少人数に対する研修メニューをスキルに合わせてアレンジしている。
教育の効果を測定することは難しいが、教える側が「教え方が悪い」という仮説を立てること、そして初心にかえることの大切さを実感した。
参加者が「同値分割法と境界値分析」を実施し、テスト技法の基本を体感した。
まずアイスブレイクとして、おやつ(それぞれ数種類のアメ、チョコ、ガム)を様々な観点で分類した。3~4人のグループで話し合った。
そして、本日のメインキャラクターが画面に登場した。テス政宗。JaSSTのマスコットキャラであるテス太郎が政宗に変身した。ロールプレイングゲームに沿って、同値分割と境界値分析を活用して、テストケースを考えた。
同値分割法のワークに十分時間を掛け、分割の面白さや難しさを深く考えることができた。ワークショップらしく、ヒントを与えすぎず、飛躍しすぎず、良い導きをしていただいた。
参加者が3つの技法から1つを選択し、3つのグループに分かれてワークを体感した。筆者は「状態遷移テスト」を選択した。
引き続きテス政宗が登場した。冒険の中の戦いにおいて「魔法を唱えると魔王の状態が変化する」ことを題材として、状態遷移テストを学んだ。状態遷移図と状態遷移表を作り、0スイッチカバレッジ、1スイッチカバレッジの考え方で、テストケースを洗い出した。
状態遷移図で遷移を6→8に増やしたら、テストケースが12→22と倍近くに増えたことが印象的だった。このことから、設計工程でテスト設計を実施し、設計に反映することが重要だと気づいた。
副委員長の竹内氏から閉会の挨拶があった。まず、今年のテーマに含まれる「キ」の文字は「ア」から数えて7番目、JaSST Tohoku も今年が7年目であり、つながりを感じていたと語った。また、竹内氏はクリアファイルを集めるのが趣味であり、令和初の開催を記念して、話題となった「平成」のクリアファイルを最前列の参加者にプレゼントした。古き良きものもふりかえって欲しいとのこと。今回は事例を初めて公募した。反響が心配だったが、たくさんの応募があり、ほっとしたとのこと。今回作成した「ソフトウェアテストの練習帳」をたくさん使って欲しいとのこと。最後に、参加者同士でグループを作り、本日のふりかえりをおこなった。
グループでのふりかえりが印象的だった。社会人2年目の人が「品質保証部門に配属されたが、ソフトウェアテストが好きではなかった。上司に勧められ、本日参加し、ソフトウェアテストに対するモチベーションが上がった。そして世の中に、こんなに多くのテスト好きの人達がいることを知って驚いた。今日来て良かった」と語った。もう一人は「まもなく新人を教育する機会があるので、事例紹介で得た様々なヒントを活用してみたい」と語った。
筆者は2016年以来の参加で、東北の実行委員と参加者の熱気に触れられたことが嬉しかった。基調講演の小山氏は心から楽しんで発表している雰囲気で、気持ちが和んだ。公募による事例紹介もバラエティ豊かだった。午後の休憩でのお茶とおやつのおもてなしも嬉しかった。そしてワークショップは予想以上の作り込みで、没頭して参加できた。ソフトウェアテストの良さを自分でも広めていきたいと思った。
記:和田 憲明 (ASTER)