HOME > 活動報告 > イベント報告 > JaSST'22 Kansai

イベント報告
 ソフトウェアテストシンポジウム 2022 関西

2022年6月25日(金) 於 オンライン + オンサイト開催

ソフトウェアテストシンポジウム 2022 関西

はじめに

当イベントは京都コンピュータ学院京都駅前校でのオンサイトと、Zoomでのオンラインのハイブリッド開催(+Slidoでの質疑応答)の形式で行われた。
実行委員長の堀川氏はオープニングセッションにて、オンサイトでの開催が実に3年ぶりであることを話した。
また、今回のテーマ「テストオラクルのない世界」に関して、AIの台頭によりテストオラクルがないという事例が発生しているなか、どのようにテストを組み立てるべきかを本会を通して一緒に考えていきたい、と語った。

基調講演
「正解がないシステムをテストする」
石川 冬樹 氏(国立情報学研究所)

セッション概要

近年、AI人事査定や自動運転など、正解が一意に定まらないシステムが増えている。疑似的にテストオラクルを立ててテストする従来技術(Metamorphic TestingやN-Version Programmingなど)は有用だが、それでは費用対効果が悪い場合や、本質的な価値がシステム通りに動いた先にある場合が増えてきた。「そのシステムで検査すべきこと」と向き合い、そこからテストを考えるべきである。
機械学習型AIのテストでは、今までと同じ予測性能や実装の正しさだけではなく、訓練データと評価データの十分性(文字認識の場合は印鑑被りや多様な書き方の癖に対応しているか)、そして公平性(社会的に望ましくない差別的なバイアスがデータに含まれていないか)を担保することの重要性が高まっている。

実世界や人間に踏み込むシステムが増え、扱う品質が曖昧かつ多様化している。実世界での価値や自然さ、様々なステークホルダーにとっての公平性や満足度など、バグ探しに限らない、価値を追求するテストが求められている。

筆者感想

石川氏が実際に関わったプロジェクトの話をもとに、非常にわかりやすく解説いただいた。
「そのシステムは実世界でどうあるべきか・何が重要なのか」というテストの根本に立ち返って考えることは、AIだけでなく様々なシステムのテストで取り入れたいと思った。

事例セッション-1
「物理シミュレーションソフトウェアのテスト事例」
小川 哲生 氏(JSOL)

セッション概要

物理シミュレーションソフトウェアにはシミュレーション結果の正しさや処理パフォーマンスなどが品質として求められる。しかし、実験結果はソフトウェアテストの正解ではなく、期待値を事前に導出できないこと、また入力パターンが複雑かつ膨大であることからテストが難しいとされている。
小川氏は、限られたケースにおいて定められる定量的な期待結果と、極値でのふるまいや分解能への感度などの定性的な期待値を集めて検証すること、そして探索的にテスト入力を求めて外部仕様からは得られない形状・位置依存の問題を検出することが大事だと語った。

筆者感想

物理シミュレーションソフトは筆者には馴染みのないものだったが、期待値策定やテストの困難さは聴講するなかでひしひしと伝わってきた。定量的・定性的な期待結果を収集するアプローチは幅広く転用できると感じた。

事例セッション-2
「ゲーム業界でのテスト取り組み事例」
坂浦 智哉 氏(AIQVE ONE)

セッション概要

ゲーム業界は「予算、スピード感、面白さ」が重視される傾向にある。予算やスピード感重視のために仕様書情報が不足しているなかでテスト計画や設計をせずに走り始め、面白さという観点から熟練メンバーによるアドホックテストが求められることが多い。
しかし、この体制では属人化が加速するため、坂浦氏は3ヶ月かけてQA体制を改善した。
QAだけでなく開発や顧客を含めた全員のスケジュールとタスクを可視化することで、それぞれの業務の遅延を防いだ。また、アドホックを探索的テストに変更して結果を記録し、バグの分析とテスト見直しを繰り返すことで、バグ半減に成功した。
VR・AR製品ではリグレッションテストを設計し直し、チュートリアルやボタンの挙動の確認や手順が決まっているものを中心に自動化を推進した。マニュアルテストと工数を比較した末、 Android版アプリでのリグレッションテストの40%を自動化運用しているという。

筆者感想

質疑応答にて、坂浦氏が「面白さ」をテストする際は類似ゲームとの比較や、ヘビー/ライトユーザーなど異なるペルソナがどのように感じるかを考えている、と回答したのが興味深かった。面白さもまた正解のないものだが、改めてテスト対象が異なるとアプローチも大きく異なるのだと感じた。

招待講演
「『よわよわエンジニア』から『つよつよエンジニア』へ ♪」
山田 一夫 氏(日本ビジネスデータープロセシングセンター)

セッション概要

API/IoTのツールやモバイルOSの脆弱なアプリの増加により、ハッキングが容易になっている。多くの現場は脆弱性診断を外注しているが、開発の最後に脆弱性診断を行うことで修正工数が増大する可能性があるため、これからのエンジニアは外注サービスに頼りすぎずセキュリティ領域のスキルを所持することが望ましい。

各開発工程で必要なセキュリティスキルは異なるが、まずは以下の方法で脆弱性診断スキルを習得するのが山田氏のおすすめである。

  • OWASP(Webアプリケーションのセキュリティを研究する非営利国際コミュニティ)が発表するセキュリティリスクランキングでトレンドを理解
  • 脆弱性診断ガイドラインを読み、意図的に脆弱性を持たせた仮想環境でトレーニング
  • 診断専用ツールを使ってブラウザとWebサーバ間の通信内容を確認

セキュリティ品質向上に向けて、定期的に世界のリスク傾向を把握し、重要な脅威に努力を集中することが大事である。また、バグバウンティ(世界中のハッカーに脆弱性がないかの確認を依頼し、バグの重要度に応じて報酬金を支払う仕組み)の利用や、社内へ取り組みを導入することも一つの手である。

筆者感想

「セキュリティに国境はないため、世界基準でスキルを身に着ける必要がある」という言葉が印象的だった。筆者は世界基準というと高いハードルを感じてしまうが、自分にできることをまずは一つ取り組んでみたいと思った。

筆者感想(全体)

JaSST'22 Tohokuに続くハイブリット開催形式だったが、Zoomを利用しての配信も終始スムーズだと感じた。筆者はオンラインでの参加であったが、質疑応答ではSlidoに答えきれない数の質問が並んだセッションもあり、参加者の関心の高さが垣間見えた。
テストオラクルのない世界へのアプローチ方法は幅広く、様々な学びがあった。まずは何を重視すべきかを熟考してから最適な手法を検討していきたいと思う。

記:矢代 芽

[ページトップへ]