すごく今更感がありますが、ソフトウェアテストの世界最高峰の国際カンファレンスであるICST2017に参加してきました!
ICST2017の公式ページ(日本語版)
ICST 2017 | ICST2017のページへようこそ!
私が参加したセッションを紹介し、簡単な感想を書きます。
1日目
基調講演「The State of Continuous Integration Testing at Google. 」
- 聴講レポートと感想はこちらの記事を見てください
Non-Semantics-Preserving Transformations For Higher-Coverage Test Generation Using Symbolic Execution
- 実践的なプログラムコードに対してどのように単純化し、最適なテストケースを作成すれば良いかということを考えた研究でした。
Uncertainty-Driven Black-Box Test Data Generation
- あるプロダクトコードに対してテストケースをランダムに選択するのではなく、機械学習を用いてもっと効果的なテストを選択できないかという研究でした。
Automated Test Generation and Mutation Testing for Alloy
- テストケースを生成する際に、カバレッジを気にしながらテストケース生成する方法があるが、それ以外にミューテーションで破壊されるようなテストケースを生成し、そのテストケースの有効性を確認した研究でした。
NIVAnalyzer: a Tool for Automatically Detecting and Verifying Next-Intent Vulnerabilities in Android Apps
Efficient Safety Proofs for Industry-Scale Code using Abstractions and Bounded Model Checking
- この発表はあまり理解出来なかったです…。
System Testing of Timing Requirements based on Use Cases and Timed Automata
- タイミングが関わる機能のテストについて、状態遷移に工夫をすることで、より有効的なテストケースを生成するという研究でした。
A Comparative Study of Manual and Automated Testing for Industrial Control Software
- 同じ製品に対し、自動テスト生成と手動テスト生成を行って、カバレッジやミューテーションがどのように違ったのか比較した研究でした。
How Do Assertions Impact Coverage-based Test-Suite Reduction?
- 一般的にはテストカバレッジを気にしてテストケースの削減を行っているが、Assertionを気にしてテストケース削減を行ってみた研究でした。
Automata Language Equivalence vs. Simulations for Model-based Mutant Equivalence: An Empirical Evaluation
- ミューテーション、ランダム、ユースケースからのそれぞれのテストケース作成に対して、強度なミューテーションが発生した場合に検出が出来るのかという研究でした。
2日目
基調講演「Testing and Validation Requirements for Automated Driving Technology.」
Perphecy: Performance Regression Test Selection Made Simple but Effective
- パフォーマンステストの回帰テスト方法について提案した研究でした。
A Selection Method for Black Box Regression Testing with a Statistically Defined Quality Level
- 過去の故障確率に基づいたテストケースの選択方法を提案した研究でした。
Private API Access and Functional Mocking in Automated Unit Test Generation
- プライベートメソッドに対しての単体テストを上手く行う方法を提案した研究でした。
Using Semantic Similarity in Crawling-based Web Application Testing
- 自動テストで用いられるDOM要素をベクトル化して、機械学習でどのような値が入るのか自動的に判別するという方法を提案した研究でした。
Barista: A Technique for Recording, Encoding, and Running Platform Independent Android Tests
- Androidテストを行うツール Baristaの紹介とその効果の検証についての発表でした。
ATOM: Automatic Maintenance of GUI Test Scripts for Evolving Mobile Applications
- Versionがどんどん更新されていくようなツールに対してのGUIテストのアプローチの提案をしていた研究でした。
- 状態遷移図を描けば、振る舞いが大きく変わらない状態ならば対応できるはずだ、みたいなことを言ってた。
Transferring State-of-the-art Immutability Analyses: Experimentation Toolbox and Accuracy Benchmark
- 正直、よく覚えてない…
Accelerating Test Automation through a Domain Specific Language
発表者に質問した。(その1)
— ブロッコリー (@nihonbuson) 2017年3月15日
Q. ATAPのツールは公開されているか?
A. 私の会社で公開しているから見てね
発表者に質問した。(その2)
— ブロッコリー (@nihonbuson) 2017年3月15日
Q. IntelliJやコマンドラインで動くのか
A. IntelliJはプラグインで動く。コマンドラインは対応してない
発表者に質問した。(その3)
— ブロッコリー (@nihonbuson) 2017年3月15日
Q. GebやSelenideとの比較結果(同じテストシナリオを書く時間とか)は計測していないのか?
A. Selenium Webdriver との比較は調べたが、ラッパーとの比較はまだしてない。
Taming Coverage Criteria Heterogeneity with LTest
- 一つ前の発表の内容ばかり考えててあまり覚えておらず…。
3日目
基調講演「Model-Based Testing and Model Inference: Better Together!」
- モデルベーステストのお話
- テスト設計も自動化出来るという夢のあるお話だったが、イマイチ自分の言葉には咀嚼できず…。
Are there any Unit Tests? An Empirical Study on Unit Testing in Open Source Python Projects
- Pythonで書かれたコードのテストがISTQBで定義されている単体テストになっているか調べた。
- 調べ方は、テストコードが1つのimportだけを読み込んでいるかどうかで判断した。
- 疑問点が一つあったから発表者に質問した。
テストコードが本当にunitテストになっているかについての研究。
— ブロッコリー (@nihonbuson) 2017年3月16日
アプローチ方法として、import情報をそのまま信じてよいのか疑問だなー。
似たような質問がされたような気がするけど、ヒアリングできなかったので、後で質問してみよう。
この質問できた!
— ブロッコリー (@nihonbuson) 2017年3月16日
やっぱりフィルタリングしてたみたい。
実際に実行して不要なimportを消してから解析したとのこと。 https://t.co/qpMamJZNn8
パネルディスカッション「Bleeding-Edge Testing Challenges that the Software Industry Faces - an Invitation to Researchers to Address these Challenges」
- 聴講レポートと感想はこちらの記事を見てください
パネルディスカッション「Quality and testing in Software Engineering curriculum」
- 聴講レポートと感想はこちらの記事を見てください
全体的な感想
塾で夏休みにある勉強合宿って、3日間で10万円近く払うけど、じゃあ果たして10万円分だけ試験の点数が上がるかっていうとそうではない。
— ブロッコリー (@nihonbuson) 2017年3月20日
ただし、あの雰囲気が合宿後の生徒を本気にさせると思うんですよ。#ICST2017 は正にそんな感じだった。
世界を知れて本当に良かった。
色々と社内、国内だけでは知り得なかったことが感じ取れて本当に良かったです。
おまけ
- 朝食(毎日バイキング形式で提供されてた)
- 1日目の夕食(立食形式)
- 2日目の夕食(サンシャインシティの高層レストランからの眺め)
これらも参加費にコミコミでした。