HOME > 活動報告 > イベント報告 > JaSST'19 Tohoku

イベント報告
 ソフトウェアテストシンポジウム 2019 東北

2019年5月31日(金) 於 仙台市中小企業活性化センター

ソフトウェアテストシンポジウム 2019 東北

はじめに

第7回となるJaSST Tohokuが開催された。今回のテーマは「基本のキ ~明日のテストを楽にする~」であり、基調講演、事例紹介、スポンサーによるライトニングトークス、そしてJaSST Tohokuの名物となっているワークショップが行われた。各講演資料は公式サイト(末尾にリンクあり)から公開されているので、合わせてご覧いただきたい。

開会

会場は満員御礼で盛況だ。9時半に真鍋氏の司会で始まった。会場左側にはプロジェクターで常にtwitterの画面が投影されており、参加者のつぶやきがリアルタイムで見られるようになっている。

実行委員長挨拶とアイスブレイク

オープニングセッションのトーカーは今回3代目実行委員長に就任した梅津氏で、とても緊張しているとのこと。参加者の事前アンケート結果が紹介されたあと、アイスブレイクが行われた。配布資料の「テストの問診票」に、テストの気になることや悩みを書き、それをネタに隣席の3~4人で自己紹介と雑談をおこなった。筆者と同じグループになった方々は、AIのテストや開発知識の習得に関心を持っていた。

そして今回の目玉である参加者特典「ソフトウェアテストの練習帳」が紹介された。表紙のデザインは子供向け学習帳を模しているが、なんと約250ページというボリュームの本格的なソフトウェアテスト技法の問題集だ。1年間かけて作成したとのこと。

筆者感想

「ソフトウェアテストの練習帳」には驚いた。同値分割法と境界値分析11問、デシジョンテーブル10問、状態遷移テスト6問、組み合わせテスト8問、総合テスト3問、計38問あり、丁寧な解説付きだ。実行委員の、ソフトウェアテストを広めたいという強い熱意を感じた。

基調講演
「テスト基本のキ ―テストをする前に―」
小山 竜治 氏(freee)

概要

冒頭、小山氏は実行委員会から事前にテーマと共に3つのリクエストがあったと語った。「冒険の始まり」「テストの基本を」「エモく」とのこと。

自己紹介

これまで色々なテストプロジェクトに入り、ゼロからテストのやり方を構築する仕事をやってきた。その経験にもとづいて、以下の講演を行なう。

テストの目的と本質の話

色々な現場でテストを実施してきた経験から、どんな現場でも使えるJSTQBの「テストの目的」の定義(下記)の重要性を実感している。

  • 欠陥を摘出する
  • 対象ソフトウェアの品質レベルが十分であることを確認する
  • 意思決定のための情報を示す
  • 欠陥の作りこみを防ぐ

テストの本質として、テスト自体はあくまで「知ること」しかできない。また、テストは無限から最適だと考えられる有限を選定することであり、状況や対象によってもテストの目的や知りたいことが変わる。そのため、自分で考える必要がある。

freeeの商品は、会計情報などを取り扱うため、品質にこだわり、品質を犠牲にしない速度で開発することが共通認識となっている。

リスクの識別の話 不安(ヤバイ)と向きあう

「やらなきゃ損」のリスク識別は、早めにヤバイところがわかり、リーズナブルである。欠陥が埋め込まれてから摘出されるまでの時間は早いほど良い。リスクを識別・分析するためには、まずはテスト対象を知ることが必要である。

テスト技法の必要性の話

リスクに基づくテスト設計では、有限を選定するために使うテクニックとして様々なテスト技法がある。カメラでの撮影とテストは似ている。

さいごに

テスト技法を使う前に認識すべき大切なことは、現状を知り考えることだ。そのためには、リスクを考え、それが起こらないことを知りたい。ところが、全てをテストすることは不可能である。そこで、どう工夫するかを考える。方法のひとつとして、テスト技法がある。テスト技法は、無限から最適だと考えられる有限を導き出すテクニックだからである。

小山氏は講演の最後を「冒険の始まりでは、町の酒場で仲間を見つけ、旅に出よう。」という言葉で締めくくった。テスト初心者に向けて「新しいことを恐れず、みんなで協力して挑戦しよう」と言っているように感じた。

筆者感想

小山氏が推奨するJSTQBの「テストの目的」に立ち返り、テスト対象やリスクについて自分で考えてから、テスト技法などを使うことの大切さを学んだ。

事例紹介-1
「テスト自動化プロセスの改善」
江村 禎昭 氏(楽天)

概要
1. チームの変遷で直面したテスト自動化の課題

2016年のときには少人数の組織だったため、ひとつのチームで各自が複数のロールを受け持ち、手動によるテストとテスト自動化の両方を行なっていた。2018年頃から組織の規模が大きくなり、マニュアルチームが手動によるテストを実施し、オートメーションチームがテスト自動化を実施するようになった。そして発生した課題は以下の通りである。

  • 課題1. テスト自動化の質を維持するための工数増加
  • 課題2. マニュアルチームから見て、自動化されたテストで何を品質担保しているか不明
  • 課題3. プロジェクトスピードに自動化が追い付かない
2. 課題を改善する活動

1. テスト自動化の設計見直し

課題1,2に対する対策として、テスト自動化設計書のテンプレートを作成し、自動化されたテストがカバーしている箇所の可視化や、テスト目的、運用に必要な事を明確化した。その結果、自動化実装漏れが低減され、レビュー、実装等の自動化工数の削減ができた。

2. テスト自動化のレスポンシビリティ定義

課題3に対する対策として、プロジェクトでマニュアルテストと自動テストのレスポンシビリティを定義した。その結果、新規機能をマニュアルチームに任せることができ、頻繁な既存機能の改修に対して、短いテストサイクルの中で、リグレッションテストが追従できるようになった。

今後の改善点として、新規機能も含めてプロジェクト内でテスト自動化をカバーし、マニュアルチームとオートメーションチーム間での相乗効果を向上させることを目指す。

質疑応答
Q:
テンプレート見直しについて。設計書を丁寧に書くようにすると、改修時に設計書とスクリプトの両方を直すことになり、続かなくなることが多い。どう対応したか?
A:
今年からスタート。横1行が1ジョブ。トレーサビリティはOK。影響を探せる仕組みを作っている。次の機会で効果を紹介できると思う。
Q:
フォーマットが決まった経緯は?
A:
マニュアルチームのテストケースを元に作成した。オートメーションチーム側で情報を追加して作成した。
Q:
マニュアルチームとオートメーションチーム間のコミュニケーションは?
A:
対面で話し合う場を定期的に設けるようにした。
筆者感想

サービスの成長に伴って組織が大きくなった時、品質確保のためには、オートメーションチームとマニュアルチームの協力が鍵であると実感した。

事例紹介-2
「テストエンジニア新人研修 心を掴む時間 ~get hooked(心を掴む)施策~」
木村 悠 氏(ZOZOテクノロジーズ)

概要

速度重視の開発プロセスだったが、案件拡大に伴い、システムが高度化・複雑化し、速度重視に加えて、品質の維持・向上も必要になった。そこで、品質管理部が新設され、未経験者を半年でテストエンジニアにするというミッションに挑むことになった。我々は様々な手法で未経験者の興味を引き、「学びたい」という思考に繋げる「モチベーションマネジメント:『get hooked(心を掴む)』施策」を掲げた。具体的には以下の通りである。

1.学ぶ心を掴む「OJT&K(On the Job Training & Knowing)」

実際にテストをおこなう際、テスト手法、テスト設計、レポートの書き方などに対して、なぜ必要なの?どういう結果になるの?何が目的なの?と考えることを促すこと、そして会社側が目指していることを伝えることが、未経験者の学ぶ心をつかむために大切である。

2.楽しむ心を掴む「Recreation on testing」

バグをたくさんあげる、目標を持って仕事ができる、みんなと意見交換ができることが楽しいと感じてもらえるような活動をする。具体的には「最優秀バグの表彰」をおこなった。

3.探求心を掴む「Exploratory Testing relay」

探索的テストシナリオを作成する際に、人から人へつないでいく「リレー形式」で作成することにした。

効果としては、テスト設計が活動に含まれるようになった。テストの本質が身につく事で、テスト設計に費やす時間が削減でき、欠陥偏在などの観点も取り入れ効率的なテストが可能になった。

4つのポイントにまとめると以下の通り。

  • POINT1: 育成のプロセスとゴールを定める
  • POINT2: 学ぶ心を掴むための情報を伝える
  • POINT3: とにかくバグを見せるべし
  • POINT4: チームワークで探究心を伝染させろ
質疑応答
Q:
表彰されたバグはどのようなものか?
A:
リスクを考えたもの、ハングアップ、手順が凄い、など。観点が偏らないよう、基準は定めなかった。
Q:
複数の人を育てる時の差への対策は?
A:
個々とのコミュニケーションを重視する。得意なテストや業務を明確にし、長所を伸ばす。3ヶ月で各自の成長が分岐し始め、6ヶ月でテストの魅力が伝わると感じている。
Q:
シナリオのリレーでは何ケース程度作る?
A:
やれるところまで。100リレー作ったこともある。作成するシナリオが周辺部の細かな部分に偏ってしまうこともあるが、ふりかえりでの学びとなるので良しとする。
Q:
開発側へのフィードバック効果は?
A:
大きいリリースではバグが出るが、開発側へフィードバックすることで、数は減ってきている。
Q:
目的の設定が良いと感じた。どうやって設定したか?
A:
テストチームとして考えている。全員でのミーティングを月2回実施する。日々のコミュニケーションの中で決めている。
筆者感想

テスト技術者の人材育成を、座学などではなく、本物の現場の活動を通して実施している点に感心した。特にバグ票コンテストやシナリオリレーの取組みは、多くの現場が参考にできることで、身近に感じた人が多かったのではないだろうか。

事例紹介-3
「テストの実践力を養うための効果的な技術者教育に関する取り組み事例」
町田 欣史 氏(NTTデータ)

概要

1. 従来の取り組み

15年間テスト教育を実施しているが、現場からのフィードバックでは、テストの教育効果が見られないという課題がある。それに対して、効果が見られない主な原因は「教え方が悪い」のではないかと考えた。

2. 学生向けの教育

東日本大震災ボランティアの一環で学生に教育する機会を得た。そこで、相手のレベルに合う教え方を考えた。例えば、簡単な言葉を使う、身近な例を用いる、論理的に考えさせる、などである。

3. 外国人向けの教育

時間をかけてテストの作業や技術の目的を教えた。その結果、テスト計画・設計だけでなく、他者への指導もできるようになった。

4. 従来の取り組みの改善

相手本位で教育することが最も重要である。少人数に対する研修メニューをスキルに合わせてアレンジしている。

質疑応答
Q:
研修で成功したと思った時は?
A:
教えたことが現場で使われていたら少しうれしい。
Q:
当たり前だと思っていることを教えるコツは?
A:
初心に帰る。そのためには、相手の知識レベルを考える。
筆者感想

教育の効果を測定することは難しいが、教える側が「教え方が悪い」という仮説を立てること、そして初心にかえることの大切さを実感した。

ワークショップ-1
「同値分割法と境界値分析」
JaSST'19 Tohoku 実行委員会

参加者が「同値分割法と境界値分析」を実施し、テスト技法の基本を体感した。

概要

まずアイスブレイクとして、おやつ(それぞれ数種類のアメ、チョコ、ガム)を様々な観点で分類した。3~4人のグループで話し合った。

そして、本日のメインキャラクターが画面に登場した。テス政宗。JaSSTのマスコットキャラであるテス太郎が政宗に変身した。ロールプレイングゲームに沿って、同値分割と境界値分析を活用して、テストケースを考えた。

筆者感想

同値分割法のワークに十分時間を掛け、分割の面白さや難しさを深く考えることができた。ワークショップらしく、ヒントを与えすぎず、飛躍しすぎず、良い導きをしていただいた。

ワークショップ-2
「デシジョンテーブルテスト」・「状態遷移テスト」・「組合せテスト」
JaSST'19 Tohoku 実行委員会

参加者が3つの技法から1つを選択し、3つのグループに分かれてワークを体感した。筆者は「状態遷移テスト」を選択した。

概要

引き続きテス政宗が登場した。冒険の中の戦いにおいて「魔法を唱えると魔王の状態が変化する」ことを題材として、状態遷移テストを学んだ。状態遷移図と状態遷移表を作り、0スイッチカバレッジ、1スイッチカバレッジの考え方で、テストケースを洗い出した。

筆者感想

状態遷移図で遷移を6→8に増やしたら、テストケースが12→22と倍近くに増えたことが印象的だった。このことから、設計工程でテスト設計を実施し、設計に反映することが重要だと気づいた。

クロージング

概要

副委員長の竹内氏から閉会の挨拶があった。まず、今年のテーマに含まれる「キ」の文字は「ア」から数えて7番目、JaSST Tohoku も今年が7年目であり、つながりを感じていたと語った。また、竹内氏はクリアファイルを集めるのが趣味であり、令和初の開催を記念して、話題となった「平成」のクリアファイルを最前列の参加者にプレゼントした。古き良きものもふりかえって欲しいとのこと。今回は事例を初めて公募した。反響が心配だったが、たくさんの応募があり、ほっとしたとのこと。今回作成した「ソフトウェアテストの練習帳」をたくさん使って欲しいとのこと。最後に、参加者同士でグループを作り、本日のふりかえりをおこなった。

筆者感想

グループでのふりかえりが印象的だった。社会人2年目の人が「品質保証部門に配属されたが、ソフトウェアテストが好きではなかった。上司に勧められ、本日参加し、ソフトウェアテストに対するモチベーションが上がった。そして世の中に、こんなに多くのテスト好きの人達がいることを知って驚いた。今日来て良かった」と語った。もう一人は「まもなく新人を教育する機会があるので、事例紹介で得た様々なヒントを活用してみたい」と語った。

全体の感想

筆者は2016年以来の参加で、東北の実行委員と参加者の熱気に触れられたことが嬉しかった。基調講演の小山氏は心から楽しんで発表している雰囲気で、気持ちが和んだ。公募による事例紹介もバラエティ豊かだった。午後の休憩でのお茶とおやつのおもてなしも嬉しかった。そしてワークショップは予想以上の作り込みで、没頭して参加できた。ソフトウェアテストの良さを自分でも広めていきたいと思った。

記:和田 憲明 (ASTER)

[ページトップへ]