ソフトウェアテストの自動化をめぐる論争
モバイルアプリ開発は“よちよち歩き”の成熟度でしかない
ソフトウェア開発のテストサイクルを短縮できる自動化ツール。Webアプリケーションやデスクトップアプリケーションと比べて成熟度が低いともいわれるモバイルアプリへの適用には、意見が大きく分かれるようだ。
ソフトウェア自動テストツールは正しく使えば、モバイルアプリケーション開発のテストサイクルを短縮できる。また、ヒューマンエラーが起きる確率が減少するので、ソフトウェアの品質向上にもつながる可能性がある。「しかしモバイルソフトウェアテストの自動化に飛びつく前に、テスト対象と使用目的をしっかり検討すべきだ」とアドバイスする専門家もいる。
モバイルアプリケーションテストの自動化を進めることのメリットとデメリットについて、2人のベテランのソフトウェアテスターが議論を交わした。
企業向けのシングルサインオン(SSO)サービスを提供している米認証管理企業のOktaの場合、できるだけ多くのテスト作業を自動化するという方針を採用している。同社の主任技術者でベテランソフトウェアテスターでもあるデナリ・ルンマ氏は「Oktaでは、テスト、配備、運用を含め、アプリケーションのライフサイクルのあらゆる部分の自動化を進めている」と話す。拡張性と高可用性に対するニーズを考えれば、SSO機能の開発とテストを手作業で行うのは無理だという。テストの数が非常多いため、手作業で全てのテストを実施する時間がないからだ。「当社では自動化に特に力を入れており、手動テストはほとんど行っていない」と同氏は話す。
しかし全てのモバイルアプリケーションのテスターが、ルンマ氏のようにモバイルソフトウェアのテストの自動化を支持しているわけではない。米Project Realmsでソフトウェアのテストとサービスのコンサルタントを務めるジーン・アン・ハリソン氏によると、自動テストツールが乱用されるケースも見受けられるという。「人々は何でも自動化できると思っているが、そんなことはない。テストの90%を自動化できると思われているようだが、とんでもない」と同氏は語る。
また機能テストに関しては、ハリソン氏の経験では、テストを自動化できるのはモバイルプロジェクトの20%程度だとしている。テストツールと自動化手法が今後さらに改善されれば、自動化率が40%に達する可能性はあるが、50%まで自動化するのは難しいという。
「Webアプリケーションやデスクトップアプリケーションと比べると、携帯端末の場合はテストの多くがまだ手探りの状態」というのがハリソン氏の見方だ。「モバイル分野はもはや幼年期ではないにせよ、まだよちよち歩きの段階」と同氏は指摘する。「モバイルアプリ開発分野が成熟していけば、今後も多くの変化があるだろう」
自動テストを積極的に推進するOktaルンマ氏のチーム
「当社のWebサイトは非常に重要だが、われわれは任意の端末上で動作するネイティブクライアントも提供している。未対応の端末があっても、すぐに対応する」とOktaのルンマ氏は話す。
同氏によると、OktaのWebサイトは隅々までチェックし、テスト手法も成熟しているが、ネイティブモバイルプラットフォーム向けに多数の新しいテストを現在も開発しているという。「Webアプリケーションとデスクトップアプリケーションだけでなく携帯端末からのアクセスにも対応するために、われわれのチームはモバイルソフトウェア用の自動テストツールを積極的に活用している」と同氏は話す。
Oktaが採用したのは、オープンソースの新興企業である米Sauce Labsの自動テストプラットフォームだ。ルンマ氏によると、Oktaが自動化ツールを導入したのは、開発者がコードのデバッグに費やす時間を短縮するためだという。「当社では開発者の時間が最大のコストだ」と同氏は語る。ビデオログ、スクリーンショット、ブレークポイント、ブラウザとのインタラクションなどの機能を利用することで、開発者のデバッグ時間が3~5日から3~5時間に短縮された」(同氏)
しかし1つのツールであらゆるニーズに対応することはできない。ルンマ氏によると、Sauce Labsは米Appleのプラットフォームに主眼を置いており、Windows端末のサポートは遅れているという。「Mac上のSafariの自動テストは大いに役立った。しかしWindows用のテストでは、特定のOSバージョンとサービスパックの組み合わせのサポートが不足していた」と同氏は振り返る。Sauce Labsはいずれこの不備にも対応するだろうが、現時点では、モバイルソフトウェアのテスト自動化サービスは、Windows端末上のネイティブコードのテストにはあまり役に立たないという。この部分については、同氏のチームは「Skytap」というクラウドベースの開発・テストツールを利用している。
ルンマ氏によると、ソフトウェアのテストがほとんど自動化された今、新たなテストよりも既存のリグレッションテスト(回帰テスト)に重点が置かれるようになったという。「アプリケーションの成長と変化に伴い、テストのメンテナンスコストが増大する。その意味では、リグレッションテストはチャレンジであると同時に大きな効果が期待できる」と同氏は話す。
「モバイルテストでは計画が肝心、自動化はその次」――Project Realmsハリソン氏
一方、Project Realmsのハリソン氏の経験によると、モバイルアプリケーションの開発プロジェクトでは大幅な変更がよくあるという。「ほとんどの変更は小規模で反復的なものだが、バージョン2.0からバージョン3.0といった総合的なバージョンアップの場合は大幅な変更になることが多い」と同氏は語る。デスクトップアプリケーションは比較的変更が少なく、長期的なリグレッションテストの自動化に対するニーズは高い。一方、モバイルアプリケーションの場合は、全面的に変更されたり、コードベースが一から書き直されたりすることがあるという。「コードベースが根本的に変更された場合、自動リグレッションテストがそのまま使えるケースはほとんどない」と同氏は付け加える。
ハリソン氏は、携帯端末内の機能の相互依存性にも不安を感じている。コードの実行を停止させるような変更がアプリ自体に反映されていない場合もある。例えば、携帯電話の通知機能はそのOSに緊密に結び付いている。開発者が既存のモバイルアプリに通知機能を追加する場合、これまでそのアプリに含まれていなかったモバイルOSの機能を品質保証チームがテストする必要が生じる。「このため、テストの方法も変わらざるを得ず、自動テストも全面的に変更しなければならない」と同氏は話す。
「こういった変更を軽視してはいけない」というのがハリソン氏の見解だ。モバイルアプリでは速度が重要な要素であるからだ。「テストスクリプトを作成して実行するよりも手作業でテストした方が早い場合、『自動化を進める価値があるのだろうか?』と自問すべき」
ハリソン氏は「モバイルソフトウェアの自動テストツールで最も優れた製品はどれか?」という質問をされることが多いという。それに対する同氏の答えは「『何をテストするのか』『何のためにテストするのか』『どんなテストを行うのか』といった条件によって異なる」というものだ。同氏が無条件で推奨できる唯一のテストツールは“しっかりした計画”であるようだ。「1にも2にも計画。テストの計画をしっかり立てることが大切」と同氏は強調する。
Copyright © ITmedia, Inc. All Rights Reserved.
新着ホワイトペーパー PR
-
製品資料
[株式会社うるる] 「入札市場」攻略ガイド:効率的に落札するためのポイントを徹底解説 -
製品資料
[株式会社うるる] 入札情報に特化した「販路拡大」「効率化」のためのサポートツールとは? -
市場調査・トレンド
[株式会社うるる] 公共入札に成功する企業と失敗する企業の「5つの違い」 -
製品資料
[日本ビジネスシステムズ株式会社] 専門家が教える、Microsoft 365の「テナント統合/分離」を成功に導く秘訣 -
製品資料
[rakumo株式会社] Microsoft 365での情報埋没を防ぐ、社内ナレッジを資産化する情報ポータル活用
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
半数がブルーカラー転向を視野に? ベテランエンジニアを追い込む“54歳の壁”
-
2
PHP脆弱性「PHP2Shell」で2260万件に影響 情シスの緊急チェックリスト
-
3
「Microsoft 365」が乗っ取られる MFAを破る“本物の画面”の恐怖
-
4
「Windows」の不要なファイルを安全に消して容量を空ける方法
-
5
なぜ「Gemini 4 Argon」は出遅れたのか? Googleが狙う“逆転のシナリオ”
-
6
ChatGPTは“検索しまくり”でGeminiは“淡泊”? データが明かすAIの裏側
-
7
「テザリング依存」に潜む落とし穴 “遅いVPN”を解消するネット構築術
-
8
積水化学工業が「SAP S/4HANA Cloud」の“全グループ導入”に踏み切った訳
-
9
データセンター事業者が「脱VMware」をした“例のライセンス問題”じゃない理由
-
10
OpenAIやAnthropicでさえ制御不能 2026年夏「3大サイバー攻撃」の衝撃
ホワイトペーパーランキング PR
-
1
AI駆動攻撃にどう対抗する? 超速の攻撃からエンドポイントを保護する方法
-
2
2026年のサイバーセキュリティには何が必要か? 最新データに学ぶ傾向と対策
-
3
経験豊富な即戦力人材に直接アプローチできる、「攻めの採用」への転換術
-
4
「IT史に名を残すシステム障害」8選
-
5
最速72分でデータが流出? 最新の脅威トレンドや侵入手法から分かった防衛策
-
6
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
7
Microsoft 365のメールセキュリティ、3つの“死角”と追加で検討すべき対策とは
-
8
AI駆動開発のスピードと安全性を両立 「品質・セキュリティ管理」の実践ガイド
-
9
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
-
10
「標的型攻撃メール」事例・サンプル集
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー