Practical Non-Intrusive GUI Exploration Testing with Visual-based Robotic Arms

要約

GUI テストは SE コミュニティにおいて重要です。
既存のフレームワークのほとんどは煩雑であり、一部の特定のプラットフォームのみをサポートしています。
個別のシナリオの開発に伴い、さまざまなデバイス上の多様な組み込みシステムやカスタマイズされたオペレーティング システムは、既存の侵入型 GUI テスト フレームワークをサポートできなくなります。
一部のアプローチでは、ロボット アームを採用してテスト対象のモバイル アプリを呼び出すインターフェイスを置き換え、コンピュータ ビジョン テクノロジを使用して GUI 要素を識別します。
ただし、いくつかの課題は未解決です。
まず、既存のアプローチでは GUI 画面が固定されていることを前提としているため、画面条件の異なる多様なシステムに適応することができません。
第二に、既存のアプローチでは XY 平面ロボット アームが使用されているため、テスト操作を柔軟にシミュレートできません。
第三に、既存のアプローチは互換性のバグを無視し、クラッシュのバグのみに焦点を当てています。
非侵入的なシナリオでは、より実用的なアプローチが必要です。
私たちは、視覚的なロボット アームを備えた実用的な非侵入型 GUI テスト フレームワークを提案します。
RoboTest は、新しい GUI 画面とウィジェット検出アルゴリズムを統合し、さまざまなサイズの画面の検出と、検出された画面からの GUI ウィジェットの抽出に適応します。
次に、人間のテスト操作を効果的かつ柔軟にシミュレートする 4 自由度ロボット アームを使用して一連のテスト操作が適用されます。
アプリの探索中に、RoboTest は近接原理に基づく探索戦略を統合し、以前のターゲットに近いウィジェットを選択してロボット アームの移動オーバーヘッドを削減し、探索効率を向上させます。
RoboTest は、同じテスト操作の異なるデバイス上で GUI を比較することにより、クラッシュ バグを超えた一部の互換性バグを効果的に検出できます。
組み込みシステムのケーススタディを使用して、20 個のモバイル アプリを使用して RoboTest を評価します。
結果は、RoboTest が効果的、効率的かつ一般的に AUT を探索してバグを発見し、探索時間のオーバーヘッドを削減できることを示しています。

要約(オリジナル)

GUI testing is significant in the SE community. Most existing frameworks are intrusive and only support some specific platforms. With the development of distinct scenarios, diverse embedded systems or customized operating systems on different devices do not support existing intrusive GUI testing frameworks. Some approaches adopt robotic arms to replace the interface invoking of mobile apps under test and use computer vision technologies to identify GUI elements. However, some challenges are unsolved. First, existing approaches assume that GUI screens are fixed so that they cannot be adapted to diverse systems with different screen conditions. Second, existing approaches use XY-plane robotic arms, which cannot flexibly simulate testing operations. Third, existing approaches ignore compatibility bugs and only focus on crash bugs. A more practical approach is required for the non-intrusive scenario. We propose a practical non-intrusive GUI testing framework with visual robotic arms. RoboTest integrates novel GUI screen and widget detection algorithms, adaptive to detecting screens of different sizes and then to extracting GUI widgets from the detected screens. Then, a set of testing operations is applied with a 4-DOF robotic arm, which effectively and flexibly simulates human testing operations. During app exploration, RoboTest integrates the Principle of Proximity-guided exploration strategy, choosing close widgets of the previous targets to reduce robotic arm movement overhead and improve exploration efficiency. RoboTest can effectively detect some compatibility bugs beyond crash bugs with a GUI comparison on different devices of the same test operations. We evaluate RoboTest with 20 mobile apps, with a case study on an embedded system. The results show that RoboTest can effectively, efficiently, and generally explore AUTs to find bugs and reduce exploration time overhead.

arxiv情報

著者 Shengcheng Yu,Chunrong Fang,Mingzhe Du,Yuchen Ling,Zhenyu Chen,Zhendong Su
発行日 2023-12-17 09:05:39+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.RO, cs.SE パーマリンク