すごく今更感がありますが、ソフトウェアテストの世界最高峰の国際カンファレンスであるICST2017に参加してきました!
ICST2017の公式ページ(日本語版)
ICST 2017 | ICST2017のページへようこそ!
私が参加したセッションを紹介し、簡単な感想を書きます。
1日目
基調講演「The State of Continuous Integration Testing at Google. 」
nihonbuson.hatenadiary.jp
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
- セキュリティ的に脆弱性のあるプログラムコードを検知する仕組みを作成し、既に公開されているAndroidアプリについて脆弱性が無いか確認した研究でした。
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
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だけを読み込んでいるかどうかで判断した。
- 疑問点が一つあったから発表者に質問した。
パネルディスカッション「Bleeding-Edge Testing Challenges that the Software Industry Faces - an Invitation to Researchers to Address these Challenges」
nihonbuson.hatenadiary.jp
パネルディスカッション「Quality and testing in Software Engineering curriculum」
nihonbuson.hatenadiary.jp
全体的な感想
色々と社内、国内だけでは知り得なかったことが感じ取れて本当に良かったです。
おまけ
これらも参加費にコミコミでした。