this episode means a lot to me

自分のためのブログです。日々のやったこと・ふりかえりを主に書いています

MENU

JaSST2019 参加レポート

概要

JaSST'19 Tokyoに参加してきました!
講演資料は上記リンクに後日公開されるはず。

まずは、去年と要領が違ったので、来年のためにメモ

  • 早割り券は発売から一週間足らずで売り切れ。一日券は開催日一週間前には売り切れていたので早めに動すること
  • 各講義に参加するためには事前に予約しておく必要があった。前日でも間に合ったので受講票に登録して印刷すること
    • なのでオープニングセッションは早めに会場に到着する必要はなかった。

参加レポート

1. AI-Driven Testing:A New Era of Test Automation

github: https://github.com/UltimateSoftware
tariq kingの論文:https://scholar.google.com/citations?hl=en&user=7_WXT5sAAAAJ&view_op=list_works&sortby=pubdate

ソフトウェア業界は長らく止まっており、改めてテスト自動化について考える時期が来ている。
テスト自動化は、テスト対象の選定・機能の妥当性の定義、テスト設計、テスト実装(期待値も含む)・テストスクリプト実装・実行結果の確認、人手の介する作業が多い。これではスケーラビリティに欠ける。
また、テストは人手を介する以上リニアにしか増えず、指数関数的に増加するテストに対して物足りなさはある。

AIを利用したアプローチによって、色々と解決できるよというお話。

  • AIとは
    • 4つのプロセス(探索する、モデル化するランダムにアクションする、学ぶ)で構成される
    • 人間と一緒
      • 命令されて動かない。自身で判断して動く
      • 経験して学ぶ。人のやっているプロセスを真似する
      • そのものの概念を知る必要はない。特徴量をベースにクラスタリングする
  • AItestのアーキテクチャ
    • coordinatorとworkerで構成する。Cordinatorは...
    • リンクをひたすらクリックすると、テスト対象とは無関係な外部のサイトに飛んでしまうのでスコープを決める必要はある
    • 大量のログ・エラーに対してはグルーピングして、人の目で見れるようにする
  • AItestの現状と方向性
    • 複雑性の低めのアプリに対しては行われている。今後デスクトップアプリへの適用するには複雑性が跳ねあがる
  • AIテストのメリット
    • Workerは自律的に動くため、スケーラビリティーが高め
    • AI駆動型はseleniumなどコードを記載しなくてよい
    • 機能テスト・アクセシビリティテスト、ユーザビリティテスト(test.aiでできるらしい)
    • 殺虫剤のパラドクス(テストケースを繰り返し行うと効果は低減する)を解決する
    • 人手が介する以上テストはリニア(線形)にしか増えない。一方、ソフトウェアの複雑性は指数関数的なアプローチが必要であり、その橋渡しになるのがAI
  • AI普及のために考えるべきこと
    • AIを特性を理解してテストに適用すること
      • ミッションクリティカルシステムではテスト支援として利用する。
      • この話は、「AIプロダクトに対する品質保証の基本的考え方」で語られているはず
    • AIのテストの準備
    • AIのロジック(HIDDENLAYER)が何をしているのかわからないので人に受け入れられるようにする
      • 説明可能なAI
    • Self Healing 。AIそのものをテストできるようにする
    • 量が多いので、信頼度の定量化する
    • ドメインを選ぶ。ミッションクリティカルなものは、あくまで支援(サポート)とする
    • データをコミュニティで共有できるよう、何かしらのインセンティブフレームワークが必要である。

※文字列の推論の話をいれる

感想

E2E自動テストを作るときの悩み所を解決してくれる画期的なアイデアだが、
AIテスト導入時には、テストの目的をAIの特徴を理解したうえで適用する必要がある。
その際にはテスト設計技法な大きく考え方を変えて再構築する必要があること、AIへの諸々の理解が追い付いていないと場当たり的なテストしかできない事を肝に銘じておく。

将来、AIテストが発達したころにはテスターはAIトレーナーになるのかもしれない。 現状の私の能力とAIに対しては隔たりは大きくが、まずは今進めている機械学習を含め理解している要素技術を広げていくことで準備する必要はある。

2. TPI NEXTを活用したチームメンバーの問題意識から始めるテストプロセス改善

改善には、分析的アプローチとモデルベースアプローチの2種類がある。
それぞれメリットデメリットはあり使い分けが肝要だが、ここではハイブリットな利用をしている。
具体的にはモデルの学習コストの高さを補うべく分析的なアプローチから始めて、部分的にモデルであるTPINEXTを利用し局所的最適解に陥らせずベストプラクティスにつなげる。

  • TPINEXTとは
    • 三者的な品質保証から、同じチームとして活動するまでのお話
    • セルフアセスメントとプロセス改善
      • 人や感情に着目している
      • アジャイルに適用しやすい.
      • テスト資産の管理に使える
        • リザーブ3月号に載っていた事例を見て、今回の受講を決意
  • 分析的アプローチとモデルベースアプローチ
    • P110参照
  • 分析的アプローチ
  • モデルベースアプローチ
    • 改善事例を寄せ集めたベストプラクティス
    • モデルは色々な事を端折っている。端折られていることやチームの背景に合致しているか確認せずに適用すると苦労する

1