ICST2020の1日目参加してみた

完全オンラインになった今年のICSTに参加、聴講してみました。それぞれ感想を書いておきます。とりとめもなく。


SPECMATE: Automated Creation of Test Cases from Acceptance Criteria

NLP使って受け入れ基準からテストを作る。
受け入れ基準はCause-effectでパターン化できる(多くの場合)。
NLPの構造解析によって、原因と結果を導く。
パターンを作って、ルールベースで解析。
その後、CEGからテストケースを作る。
6割ぐらいは手動生成のテストケースがカバーできたよ。

という話でした。依存関係解析(Dependency analysis)をしている、という話でしたが、NLPの世界ではもっと進んでいるのではないかな、と思いました。自ら解析エンジンを作っていたような雰囲気でしたがNLPの人たちがたくさんやり方を提案してくれているように思います。(間違ってたらすみません)


Tool Support for Refactoring Manual Tests

マニュアルテストのテストスイートのリファクタリング。
ツールを作った。orbiter。
まずはクラスタリング(Step-dased)。
似たような手順をマージする。
または似たような手順でパラメータだけ違うところをそう指定する

という話でした。こちらも自然言語が前提で、言語の揺れを効率的に解消していこう、という話だと理解しました。テストモデルを作る、という話が最初に出ていたのですが、それが何を指しているのか理解できませんでした。


MiMIs: Simple, Efficient, and Fast Bounded-Exhaustive Test Case Generators

Bounded-Exhaustive test case generationにおいて、いろんなやり方を統合しよう
LogicT
ASTGen
SciFe
 速い
 インプリ重い
 メモリをたくさん使う
ASTGenから始めて、LogicTを追加、その後SciFeを使うというやり方(MiMIs)を使うと、よくなった。

正直なところ前提知識がなくてあんまり理解できませんでした。特定の範囲に絞った場合の全数テストの効率的な生成、という感じでしょうか?


Learning How to Search: Generating Exception-Triggering Tests Through Adaptive Fitness Function Selection

サーチベースドテスティングのお話。
アルゴリズム+Fitness function=Goal
Exceptionを吐くテストを作るためには、良いFitnessFunctionがない
強化学習を使おう!
発見したExceptionとThrownExceptionが報酬
新しいFunctionを探しに行くのか、すでにわかっているFunctionを深く探すかのバランス
ツール名:EvoSuiteFIT

サーチベースドテスティングを詳しく理解していないので正直よくわかってません。サーチベースドテスティング自体が最適解を見つける、というものだと思っているのでそこにさらに強化学習を使うってどういうことなのでしょう…


まとめ

とても興味深い発表ばかりだったのですが、自分の前提知識のなさが祟り、30%ぐらいしか吸収できませんでした。予習しないといかんですね。

この記事が気に入ったらサポートをしてみませんか?