ソフトウェアテストの自動化をめぐる論争
モバイルアプリ開発は“よちよち歩き”の成熟度でしかない
ソフトウェア開発のテストサイクルを短縮できる自動化ツール。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
-
事例
[株式会社マクニカ] アイカ工業に学ぶ脆弱性対策 情シスが把握できずにいたアセットも正確に把握 -
製品資料
[株式会社マクニカ] 「脆弱性総まとめ」解説 被害事例から考える必須の対策ポイント -
製品資料
[Splunk Services Japan合同会社] サイバー脅威「トップ50」完全解説ガイド、新たな攻撃手法に対抗するには -
製品資料
[株式会社うるる] 「入札市場」完全ガイドブック:メリットから資格取得のポイントまで -
市場調査・トレンド
[株式会社うるる] はじめての「自治体/官公庁入札」 必要な知識がすぐに学べる入門ガイド
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
2
Oracle巨大ITプロジェクトはなぜつまずいたのか 8年で導入1割、追加で170億ドル
-
3
Microsoft製品でここまで自動化できる 情シスがやめられる手作業10選
-
4
「Linuxサーバの長期運用とRed Hat Enterprise Linux」に関するアンケート
-
5
「世界一給与にハングリー」な日本のエンジニアが“雇用の安定”を求める理由
-
6
「技術屋」で終わらないために 情シスが今取るべき認定資格5選
-
7
「攻撃側にナイフ、防御側にパン」 OpenAIの10億ドル支援に潜む危うさ
-
8
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
-
9
AI基盤は本当に「オンプレ回帰」する? Broadcomの言い分と企業の本音
-
10
「HDD終了」は本当か 巨大クラウド2社が下した大容量フラッシュへの決断
ホワイトペーパーランキング PR
-
1
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
2
AIが「わざわざ使うツール」になっていない? 業務で自然に使う導線にする秘訣
-
3
5回聞くだけじゃ足りない? トヨタ式「なぜなぜ分析」の正しい実践方法
-
4
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
5
「脱Excel」か「Excel快適化」か? 現場にやさしい業務改善の進め方
-
6
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
7
PostgreSQLの「機能」「性能」「運用」「拡張性」に関する悩みの解消法
-
8
5分で分かる「セキュア大容量ファイル転送サービス」の機能とメリット
-
9
Macの安全神話は崩壊? 最新の脅威動向から見えた攻撃のトレンドと有効な対策
-
10
情報セキュリティ対策早分かりガイド:25の自社診断で弱点と解決策を理解
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー