まずはここから!GUIテスト自動化ツール導入のポイントと「Squish」で実践するビヘイビア駆動型テスト
【24-A-3】なかなか実現しないGUIテスト自動化~まずはここから始めましょう!
ソフトウェアの品質は、ソフトウェアそのものだけではなく企業の評価にも影響を与える。もしソフトウェアの品質がユーザーの期待を損ねるものであれば、SNSでよくない評判が拡散されてしまい、企業価値を損ねることにもつながりかねない。品質向上に欠かせないバグ修正は後工程ほどコストが高くなるため、早い段階からテストを確実にこなしていくことが重要だ。GUIテスト自動化の課題とソリューションについて、Qt Group 坂本強氏が解説する。
GUIテスト導入をスムーズに!手動テストと自動テスト併用のススメ
ソフトウェア品質保証に欠かせないのがテストだ。もしバグを見逃してしまうと致命的な事態を引き起こしかねない。「シフト レフト テスティング」「テストファースト」と言われるように、テストを早い段階から万全に行いたいという気持ちはありつつも、現実はそう簡単ではない。
ソフトウェア開発部門はテスト部門に「時間がかかる」「テスト結果が期待と異なる」「不具合の内容が不明確」「求める項目がテストされていない」などの悩みや不満を抱えている。一方、テスト部門は「工数がかかるため一部のテストしか実施できない」「人員が不十分」「テストの再利用ができていない」「ツールを導入したが使いこなせていない」「テストの抜け漏れが解決できない」といった苦悩を抱えていたりする。
加えて、スマホの台頭により、GUIを備えたアプリケーションが増加しており、ユーザーはUI/UXを重視している。UI/UXの向上につながるGUIテスト、つまり操作や画面表示に不具合がないかのテストはますます重要になっている。
テストには手動と自動があり、項目が少なければ手動でもいい。多少複雑でも手動なら対応可能だ。しかし項目や量が増えてくると、自動化が必要になる。GUIテストでも同様だ。
長年ハードウェア設計やソフトウェア開発に従事し、現在Qt GroupでQA(品質保証)製品を担当している坂本強氏は「自動GUIテストでは、時間とコストを節約することが可能となり、テスト所要時間を短縮し、問題点の予測可能性が向上します。結果として製品の市場投入までの時間を短縮できます」とメリットを述べる。
GUIテスト自動化ツールの検討段階ではテスト項目が多すぎる、全ての手動テストを置き換えようとする、難易度の高いテストを優先しようとするなど、欲張ってしまうと導入を断念してしまうことになりかねない。
坂本氏のおすすめとしては、初期段階は難しい項目は手動テストに頼ること。JenkinsなどのCI/CDの導入を並行して検討すること。スクリプトを書ける人材を確保し、計画的なメンテナンスができるようにすることなどがある。特に「品質保証は組織的なプロセスと認識し、部門を超えた取り組みや協力の体制を整えることが重要な要素となります」と坂本氏は強調する。
自動テストの初期段階は手動テストよりも労力が多くかかるものだ。自動テスト導入の効果が出るまで、つまり手動テストよりも労力が少なくなるまでには、手動テストと自動テストを共存させるのが望ましい。新規部分は手動テストで、既存部分は自動テストにする。手動テストが終了したら、スクリプトを作成してリグレッションテストへ組み入れるという流れにする。
ソフトウェアの自動テストツールを選定する時のポイントとして、坂本氏は、使いやすさ、複雑なことを自動化できる(スクリプト作成可能)、クロスプラットフォーム、サポートの即応性を挙げる。
この記事は参考になりましたか?
- Developers Summit 2024 Summer レポート連載記事一覧
- この記事の著者
-
加山 恵美(カヤマ エミ)
フリーランスライター。茨城大学理学部卒。金融機関のシステム子会社でシステムエンジニアを経験した後にIT系のライターとして独立。エンジニア視点で記事を提供していきたい。EnterpriseZine/DB Onlineの取材・記事や、EnterpriseZine/Security Onlineキュレーターも担当しています。Webサイト:http://emiekayama.net
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
丸毛 透(マルモ トオル)
インタビュー(人物)、ポートレート、商品撮影、料理写真をWeb雑誌中心に活動。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営する開発者のための情報メディアです。日々の開発に取り組むエンジニアやテクノロジーを学びたい方に向けて、プログラミングやAI活用、開発ツール、エンジニアの学びとキャリアに関する記事をお届けしています。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
提供:Qt Group
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア
