ごあいさつ
こんにちは。 ユニファのQAチームの斉藤です。 今回ははじめてJaSST東京に参加してきました。 JaSST九州には参加したことがあるのですが、東京は規模がとっても大きい!そして今年のテーマは「AI」でした。 私は初日だけ参加しましたが、AIの基調講演、直近の業務に活かせそうなテスト技法や開発プロセスのセッションを回らせて頂きました。 以下、レポートになります!
JaSST'19 Tokyoとは
http://jasst.jp/symposium/jasst19tokyo.html
NPO法人ソフトウェアテスト技術振興協会(ASTER)さんが開催するソフトウェアテストシンポジウムです。 海外から著名なエンジニアを招いての招待講演、テスト技術者や研究者による研究・実践・ツール適用事例の発表、登壇者と参加者の交流会などもあります。
弊社リーダーの鶴岡も、QAエンジニアのキャリアデザインセッションに登壇しました(^^)< お疲れさまでした!
基調講演:AI-Driven Testing:A New Era of Test Automation
Ultimate Software社のTariq Kingさんによる講演です。 AIや機械学習の概要から、AIにテスト設計~テスト実行してもらう時のイメージ、AIテストの限界についてお話をされてました。 AIにテストをしてもらう時、以下の流れになるようです。
インプット → 魔法の箱 → アウトプット
まずインプットとして、ドメイン知識や仕様書の情報を与えます。 インプットを受け取る魔法の箱(AIの心臓部)はプログラムで、インプットを元に、テスト設計やテスト実行を行います。(これが最初のアウトプットになります。) Tariq Kingさんいわく、最初のアウトプットはおそらく散々なもの、人間の期待とずれたものになるだろう、とのことです。 そして、そのアウトプットを人間が評価します。 評価を、魔法の箱(AIの心臓部)へ学習させます。 学習によって、魔法の箱(AIの心臓部)は自分自身をアウトプットの精度があがっていく、という流れだそうです。 学習のために必要な、アウトプットの評価は、私たちの人間の役目になります。
AIテストに関しては、テスト技術者は「AIテストのアウトプットの評価」と「評価を学習させる」という関わり方をしていくのかな…と感じました。 講演後の質疑応答、AIのテスト結果に対して自信をもってOKを出すには?という質問に対して、Tariq Kingさんは
- ブラックボックス(魔法の箱=AI)の中を理解しなければならない
- またテストのどこでAIを適用するか?を考えなければならない
と回答されてました。 テスト業界で大きな注目を集めるAI。AIがもたらす変化に適応できるよう、少しずつでも学んでいきたいなと感じた講演でした。
セッション:テストプロセス改善「XDDPにおけるテストプロセス」
AFFORDD T4研究会の長友さんによるセッションです。 派生開発の特徴や起こりやすい問題点と、それに対応した開発プロセスであるXDDPについて説明されてました。 派生開発の特徴は
- 短納期
- 仕様書がないもしくは更新されてない中で部分理解を強いられたまま変更や追加
- 「一人プロジェクト」になりやすい
これらは現場でよく見かける状況なので、イメージしやすかったです。 このような派生開発の振り返りで、「もっと全体を理解してから進めればよかった」という感想がでるそうです。(たしかに、聞いたことあります。) それに対して「全体を理解すれば問題が解決するのか?」という問いかけが、すごく印象に残りました。
全体理解するための資料や時間もない、アサインされた担当者によってはドメイン知識も少ないかもしれない、 XDDPはそれらの問題に対応しやすいプロセスや成果物で構成されています。 特に適用事例の中でご紹介された「変更要求T型マトリクス」は開発要件・機能・モジュールという点から、影響範囲を開発者とQAが認識合わせられるとのことで、今後、自分が仕様をよくわかっていないシステムのテストをする時には、作ってみたいなと思いました。
チュートリアル:中級者セッション「JSTQB Advanced Levelテストアナリストのシラバスでテストを学ぼう」
JSTQB技術委員会の須原さん、福田さんによる、JSTQB Advanced Levelテストアナリストのシラバスを使って、テスト技法を学ぶセッションです。
- 同値分割法
- 境界値分析
- 原因結果グラフ法
- 組み合わせテスト技法(ペアワイズテスト / クラシフィケーションツリー法)
- ドメイン分析
について、講義とワークの二本立てで学びました。今回一番楽しみにしていたセッションです。
JaSSTのテスト技法のセッション参加は2回目ですが、前回も今回も感じたことは、テキストの図や説明がとても分かりやすい!ということ。 ひとつひとつのテスト技法について、他テスト技法とのメリット・デメリット・使いどころの比較があってイメージしやすかったです。
最初は、同値分割法と境界値分析について。 JaSST九州では焦って小さなミスが多かったのですが、今回は落ち着いてワークに取り組めました。 今回、[参考]として同値分割の「ズームインとズームアウト」、「どこまで同値分割する?」という問いかけがありました。 「どこまでテストするか?」は、現場でも意見分かれる問題かと思います。 これに対して、テスト技法を用いながら「どこまで?」を適切に設定することがテストアナリストに求められるのだろうな、と感じました。 日常のテスト業務でも「これはどこまでテストする?」と自問しながら取り組んでみると良いかもと思いました。
次に、原因結果グラフ法。 まず結果を見つけ、その結果に影響する原因(条件)を見つけ、結果と原因(条件)をAND / OR / NOTの関係性で結ぶグラフです。 これだけだとテストケースに落とし込みにくいので、グラフにした後、デシジョンテーブルに変換します。 私がテストを考える時、原因(条件)から洗い出して途中で膨大になったり、条件と条件の関係性で混乱しやすいので、これをうまく使えるようになるとテスト設計時にすごく楽になるなと感じました。
この他にも、組み合わせテスト技法のクラシフィケーションツリー法や、ドメイン分析などを学びました。セッションの残り時間の関係で、後半は駆け足になりついていくのがやっとでした。 (後で復習が必要です…!!)
テスト技法は、テスト設計をうまく行う手助けになるやり方。とテキストに書いてありました。 私はまだまだテスト技法を使いこなせていないので、ひとつひとつ勉強して現場のテストに活かしていけたらなと思います。
情報交換会
中級者セッションのワーク、ドメイン分析でわからないところがあったのですが、講師の方に声をかけるタイミングがつかめずにいた私。 初日終了後の情報交換会に講師の方も参加されていたので、思い切って声をかけてみました。
そうしたら、講師の方、テスト業界の先輩QAエンジニアさんが一緒にテキストを見て下さり、「たしかにここは疑問に感じるかも…」「テキストのレビューで私ここ指摘した気がする…あの時は…」など、皆であーでもないこーでもないとプチ勉強会みたいな雰囲気に。
疑問もスッキリ理解でき、「他の人と疑問を共有しながら考えるのって、楽しいな」と感じました。
反省
次回は、人見知りを克服して、いろんな人に話しかけるぞ。