皆さん、こんにちは。
今週もソフトウェアテスト、テスト自動化に関するニュース記事をご紹介していきたいと思います。
今回ご紹介する内容は以下となります。
■記事内リンク
・「Ranorex日本語版」に最新版のVersion 10.2が登場
・【リアル開催セミナー】mabl共同創設者Dan Belcher氏に聞く、ローコードテスト自動化ツールmablの活用法とは?
・回帰テストツールを選択する際に考慮すべき重要事項
・手動テストとテスト自動化の両方を使用する5つの理由:いつ、どのタイプを使用するか
■国内ニュース
□「Ranorex日本語版」に最新版のVersion 10.2が登場
https://www.techmatrix.co.jp/nc/news/ranorex_2022629_newsrelease.html
こちらは、国内のテストマトリックス社が、米国のRanorex Inc.社が開発したUIテスト自動化ツール「Ranorex 10.2」の日本語版販売を開始した内容となります。
テストマトリックス社は、セキュリティ、医療、ソフトウェア品質保証サービスなどを行っており、今回は新たに「Ranorex」最新版の日本語版の総販売代理店として日本国内での販売、マーケティング、日本語化、ユーザーサポート、ソリューションサービスなどの提供を展開してくようです。
◇Ranorexについて
Ranorexは、UIテスト自動ツールで、多くのサードパーティ製コントロールをサポートする高性能なUIキャプチャ機能を搭載したUIテスト自動化ツールです。
デスクトップ、Web、モバイルアプリに対応していて、ユーザーの操作をキャプチャし、再生することで、テスト自動化をサポートします。
Ranorexの特徴は、主に以下機能があります。
・高いオブジェクト認識力
Ranorexは、多くのソフトウェア技術やフレームワークに対応した高性能なオブジェクト認識機能が搭載されてお栄、動的IDを持つオブジェクトも対応しています。
「RanoreXPath」という独自の技術を使い、レガシーなアプリケーションから最新のフレームワークまで、高い精度でUI要素を特定できます。
・幅広いアプリケーションに対応
デスクトップでは、.net,WPF,ComponentOne,DevExpressなどに対応しており、Windowsのデスクトップ向けアプリケーションの自動化をサポートしています。
Webでは、Javascript,Ajax,ASP.NET,Wilmo5などに対応しており、Chrome,FireFoxなどクロスブラウザも対応しています。
モバイルでは、Android,iOSにそれぞれ対応しています。
・マウス、キーボードの簡単操作でテスト自動化
手動のマウス操作、キーボード操作を行い、テストを記録するだけで、テスト自動化を実現します。
また、記録した操作は、C#、VB.NETでコーディングも可能です。
・様々検証も自動化
フィールド値比較として、期待値を直接指定する以外、外部データソース値、正規表現を使って指定が可能です。
表示画面比較として、比較対象の画面を絞ることが可能です。
◇Ranorex10.2の新機能・改善点
最新版のRanorex10.2では、主に以下の新機能・改善対応しています。
・Windows11のサポート
Windows11がサポート対応となりました。
・最新のiOS15、AndroidOS12でのテスト安定性向上
最新版のiOS、Androidでのテスト安定性が向上しました。
・オブジェクト認識を強化
デスクトップのJCEFコンソール、WebのChrome_RenderWiderWidgetHostHWNDクラス、モバイルのNumberPickerなどのクラスが対応となりました。
Ranorexの価格帯は特に明記はなく、お問い合わせとなっており、体験版が用意されています。
ご興味のある方はテストマトリックス社の公式ページにアクセスしてみてはいかがでしょうか。
https://ranorex.techmatrix.jp/
□【リアル開催セミナー】mabl共同創設者Dan Belcher氏に聞く、ローコードテスト自動化ツールmablの活用法とは?
こちらは、ベリサーブ社がmablの共同創設者のDan Belecher氏を招いて、Mablの活用法のセミナーとなります。
テスト自動化において、近年ローコード、ノーコードツールサービスが増えてきています。
Mablを導入されている国内企業も多くなってきました。
こちらのセミナーでは、ベリサーブ社がMabl Inc.共同創設者であるDan Belcher氏を招き、Mablの活用法について説明頂く内容となります。
セミナー概要は、以下となります。
◇セミナー概要
・日時: | 2022年7月11日(月) 11:00 ~ 12:00 (受付開始10:45) |
・会場: | 株式会社ベリサーブ 本社9階セミナールーム(東京都 千代田区神田三崎町3-1-16 神保町北東急ビル9階) |
・参加費: | 無料 |
・定員: | 30名 |
・対象: | テスト自動化を検討および実施している方 mablに興味のある方 |
・主催: | 株式会社ベリサーブ |
・セミナー内容: | 11:00-11:12 セクション1「システムテストにおけるローコードテスト自動化ツールの活用」 11:12-11:42 セクション2「ローコードテスト自動化ソリューション「mabl」のご紹介 11:42-12:00 質疑応答、アンケート |
・参加方法: | https://contact.veriserve.co.jp/public/application/add/5487 |
ご興味のある方は、上記ページにアクセスされてみてはいかがでしょうか。
□回帰テストツールを選択する際に考慮すべき重要事項
こちらは、「techtarget.com」に掲載されていた内容となります。
回帰テストツール(テスト自動化ツール)を選択する際に考慮すべき内容がまとめられていましたので、ご紹介したいと思います。
◇初めに
適切な回帰テストツールを選択するには、チームはテスト自動化ツールスタックの構造にも注意を払う必要があります。
採用するツールを検討するときは、既存の開発プロセスのニーズを慎重に検討し、すべての利害関係者を巻き込み、すべての人に適切な購入決定を行うための十分な時間を与えることが重要です。
高品質の回帰テストには、適切な一連のテスト自動化ツールが必要です。
ただし、これらのツールの重要性にもかかわらず、チームは、調査、分析、および評価に常に従事しているわけではありません。
さらに、チームはテスト自動化ツールスタックの選択について積極的に取り組む必要があります。
新しいツールの採用を検討、購入、実装、およびトレーニングするプロセスには、かなりの時間がかかる可能性があります。
以下では、チームがより多くの情報に基づいたテスト自動化ツールを購入するのに役立つ質問と選択基準について説明します。
これにより、より強力な回帰テストが可能になります。
さらに、開発チーム用の新しいテストツールを選択するための潜在的なプロセスについても説明します。
◇回帰テストツールの決定に影響を与えるものは何ですか?
アジャイルとDevOpsの方法論(シフトレフト手法の実装を含む)に準拠するソフトウェアチームにとって、回帰テストは継続的テストの取り組みの不可欠な部分になっています。
次に、自動回帰テストは、CI/CDの取り組みにおいて最前線の役割を果たします。
QAチームのメンバーは、理想的には、チームの全体的なCI/CDパイプラインを通過するすべての機能とコードコミットに対して自動回帰テストを実行する必要があります。
効果的な回帰テスト戦略には、大量のテスト自動化が含まれます。
具体的には、ユニットとコンポーネントのテスト、および機能テストと非機能テストの自動化です。
これらのテストタイプごとに異なるツールが必要であることに注意してください。
したがって、アジャイルおよびDevOps手法内の回帰テストでは、1つではなくツールのスタックが必要です。
このツールスタックを使用するスタッフはテスターだけではありません。
ソリューションアーキテクト、開発者、テスト中のソフトウェア開発エンジニア(SDET)、およびリリースエンジニアがツールを使用します。
したがって、回帰テストツールの選択は、何らかの方法でそれらに依存するすべてのチームの代表者を含むグループの取り組みである必要があります。
◇考慮すべき3つの重要事項
新しい回帰テストツールに関する会話が始まったら、決定グループがソフトウェア開発プロセスとチーム構造に関して2つの重要な要素を検討することが重要です。
考慮すべき最初の要素は、CI/CDに関する組織の成熟度です。
これには、次の4つの質問をする必要があります。
1.組織はCI/CDを実装していますか?
2.そうでない場合、CI / CDは企業の将来の計画に含まれていますか?
3.各開発チームはどのくらいの頻度でソフトウェアをリリースしますか?
4.それらのリリースサイクルの頻度は増加する可能性がありますか?
CI / CDが導入されている場合、または近い将来に導入される場合、ツールスタックには、すでに導入されているテストツールと統合できるテスト自動化ツールと、チームが今後採用する予定のツールを含める必要があります。
包括的なCI/CDツールスタックとパイプラインがすでに存在する場合、これらの自動化ツールのシームレスな統合は特に重要です。
考慮すべき2番目の要素は、現在のソフトウェアチーム内に存在する固有のニーズ、スキルレベル、および機能を中心に展開します。
たとえば、多くの開発者は、PHPUnit、Vue.js、Cypressなどの言語固有のテスト自動化フレームワークとツールパッケージにアクセスする必要があります。
一方、DevOpsエンジニア、SDET、自動化テストエンジニアは、エンドツーエンドの回帰テストスイートを構築するために、APIテスト用のPostmanなどのプラットフォームやSeleniumなどの自動化ツールにアクセスする必要があります。
最後に、テスト対象の特定の種類のアプリケーションについても考慮することが重要です。
たとえば、Webアプリケーションの場合、チームは、多数のオペレーティングプラットフォーム、Webブラウザー、およびモバイルデバイスでテストできるツールを検討する必要があります。
または、アプリケーションに多数の複雑なビジネスワークフローが含まれている場合、 「AutomationAnywhere(https://www.automationanywhere.com/jp/)」のようなロボットプロセス自動化ツールがテスト手順で重要な役割を果たす必要がある可能性があります。
◇コードレス自動化ツール
チームが自動化の経験が豊富でない場合、1つのオプションは、コードレステスト自動化ツールを採用することです。
これらは、記録と再生の手法、コマンドラインテスト、場合によってはAIテクノロジを利用して、チームがプログラミングコードではなくプレーン言語で完全に自動化されたテストケースを作成できるようにするツールです。
テストが実行されると、これらのツールは、チームが修復が必要な個々のオブジェクト、障害、およびテストスクリプトを見つけるために使用できるロケーターも提供します。
コードレステストの自動化は、 QAから品質エンジニアリングへの移行を検討しているチームにとってますます重要な役割を果たし始めています。
コードレスツールは、より高いレベルのコラボレーションを促進する場合もあります。
チームメンバーが独自のテストスクリプトを作成する機会を提供することにより、ソフトウェア品質を確保するためのケアと責任の範囲が、ソフトウェア部門全体のより広い人口に広がります。
◇自動化ツールの選択プロセス
実際のツール分析プロセスを開始するには、各チームの担当者がその回帰テストツールでアクセスする必要があるすべての特定の機能とテスト機能の包括的なリストを作成します。
1つのツールがすべての人のニーズを完全に満たす可能性は低いですが、このカタログは、オプションを客観的に確認し、他のツールが介入する可能性のあるギャップを特定する上で重要な役割を果たします。
最終的に、デモを要求する少なくとも3つのツールベンダーと、テストドライブに参加する価値のあるオープンソースツールを特定します。
最終的な購入の前に、チームが独自の概念実証(POC)を設計するために使用できるツールの試用版を要求します。
このPOCを作成すると、正しい決定を下すのに役立つ貴重な直接情報が提供されます。
もちろん、回帰テストツールの分析と実装に関する組織のタイムラインに注意してください。
組織の特定の構造または業界の業種によっては、ナビゲートするために必要な法律、コンプライアンス、およびセキュリティの懸念がある場合があります。
したがって、実装スケジュールのこれらのステップを計画し、可能な限り決定を急がないようにすることが重要です。
□手動テストとテスト自動化の両方を使用する5つの理由:いつ、どのタイプを使用するか
こちらは、「techdigest.tv」に掲載されていた内容となります。
手動テスト、テスト自動化を行う理由と、使用する際タイミング、タイプなどまとめられていましたので、ご紹介したいと思います。
◇なぜ手動テストとテスト自動化の両方が必要なのですか?
ほとんどの企業は、テスト自動化を実装および設定したとしても、依然として手動テストを使用しています。
主な理由は次の5つです。
1.手動テストとテスト自動化は100%互換性がありません。
手動で行うのが難しすぎる、または不可能なタイプのテストがあります。
自動化できないテストもいくつかあります。
2.手動テストと自動テストの組み合わせにより、最大のテストカバレッジが提供されます。
非常に多くの企業が2つのテストチームを持っています。
1つは手動テスト用で、もう1つはテスト自動化用です。
3.2種類のテストを組み合わせることで、品質を犠牲にすることなくリリースをスピードアップできます。
自動化により、テストの速度を上げることができます。
次に、手動テストは、ユーザーの視点から問題を発見することにより、テスト自動化のプロセスを補完します。
4.同じ機能のさまざまな側面の最大テストカバレッジは、手動テストとテスト自動化の両方でのみ可能です。
5.自動テストスクリプトのエラーに対する保険です。
これらのエラーは、誤検知または誤検知の結果につながる可能性があります。
手動テストでは、疑わしいものすべてをチェックできます。
◇手動テストとは
手動テストは、自動化ツールやスクリプトを使用せずに、ソフトウェアを手動でテストするプロセスです。
手動テスターは、アプリケーションの機能とその設計がテスト計画に対応しているかどうかを確認します。
テスターはまた、テストケースを開発して手動で実装し、実行結果に基づいてレポートを作成します。
その結果、目に見えるソフトウェアの欠陥と隠れたソフトウェアの欠陥が特定されます。
◇手動テストの長所と短所
手動テストの長所と短所は、主に以下となります。
○長所
・すべてのテストを自動化できるわけではない
したがって、手動テストが存在します。
・手動テストは非常に柔軟
現代のチームは柔軟性があり、可能な限り迅速かつ生産的に作業する必要があります。
変化に対するわずかな要求に即座に対応する能力を持たなければなりません。
手動テストにより、緊急事態に迅速に適応できます。
・追加のツールに投資する必要がない
手動テストは、チームメンバーまたは採用されたスペシャリストが実行できます。
大きな初期費用を必要とせず、予算管理を簡素化します。
・フィードバック
アプリケーションコードにバグが含まれている可能性があることは誰もが知っています。
自動テストコードも不完全な場合があります。
QA自動化エンジニアがバグのあるテストを作成した場合、チームは誤検知/陰性の結果を返します。
このため、開発の初期段階では手動テストが理想的です。
開発の初期段階での自動テストとスクリプトのエラーは、開発チームとエンドユーザーの両方に大きな問題と不便を引き起こします。
・手動テスターは、実際のユーザーのようにアプリケーションと対話する
したがって、機能とインターフェイスに重大な問題が見つかる可能性が高くなります。
・ユーザーインターフェイスのより詳細なテストが可能
手動テストを使用すると、視覚的な側面でアプリケーションがどの程度機能するかをより確実に評価できます。
手動テスターは、一連のユーザーアクションの後にアプリケーションのページ/画面がどのように表示されるかを確認します。
また、特定の視覚要素がユーザーに誤解を与える可能性を減らすのにも役立ちます。
○短所
・自動テストと比較してエラー率が高い
人的要因により、多くのバグが検出されず、エンドユーザーエクスペリエンスに影響を与える可能性があります。
これは、反復テストに特に当てはまります。
これらは非常に時間がかかるため、手動で実行するのは困難です。
・時間のかかるプロセスである
手動テストの速度は、テストに関与する人の数に直接依存します。
長期的には、手動テストはより多くのリソースを消費する可能性があります。
・多くの種類のテストには適していません。
たとえば、回帰テストとパフォーマンステストは、手動実行には適さないタイプのテストです。
◇テスト自動化の長所と短所
テスト自動化の長所と短所は、主に以下となります。
○長所
・大規模プロジェクトの費用対効果が高い
長期的には、テストの自動化は手動テストよりも費用効果が高くなります。
これは、より高い初期投資が必要であるという事実にもかかわらずです。
テスト自動化を正しく適用すれば、長期的にはROIは利害関係者にとってより快適になります。
・幅広いテストカバレッジ
自動化により、より正確で関連性の高い結果が得られ、チーム全体でワークロードをより適切に分散できます。
さまざまなバージョンのアプリケーション(モバイル、Web、デスクトップ)、さまざまな構成のさまざまなデバイス、さまざまなブラウザーでテストを実行できます。
気付かれない自動スクリプトは、各テスト実行中に何千もの複雑なテストケースを実行します。
これらすべてが、手動テストだけでは不可能なレベルのテストカバレッジを提供します。
・より速い結果を提供
テストの自動化はソフトウェアツールによって実行されるため、手動テストよりもはるかに高速に完了します。
さらに、テストセッションを保存して、他のシナリオで再利用できます。
・簡単なレポート生成
手動で作成する場合、レポートの作成には非常に時間がかかる可能性があります。
テスト自動化ツールは、数分以内に美しく理解しやすいレポートを生成します。
・実行と分析ツール
テスト自動化を実装する場合、自動化のメリットを最大化できるツールやプラットフォームが多数あります。
「Zebrunner(https://zebrunner.com/)は、そのようなツールの最良の例の1つです。
これは、プロジェクトにテスト自動化を簡単に実装し、時間と費用を大幅に節約するのに役立ちます。
サポートチームは、どのツール機能が製品にとって最も便利で有益であるかをアドバイスします。
柔軟な支払いシステムにより、ツールを使用した時間に対してのみ支払うことができます。
美しく便利なレポートは、QAスペシャリストだけでなく、テストのバックグラウンドを持たない人々にとっても、テストプロセスの状態を理解するのに役立ちます。
○短所
・小さなプロジェクトには高価格
テスト自動化ツールには、さまざまな機能と制限があります。
さらに、自動化されたテストとそのメンテナンスを常に維持する必要があり、これには追加のコストも伴います。
テスト自動化の費用対効果は、すぐに得られるものではありません。
それを取得するには時間と労力がかかり、小規模なプロジェクトではコストがかかる可能性があります。
・人間の専門知識の欠如
製品の使いやすさとユーザーインターフェイスのフィードバックに関しては、人間の専門知識は非常に貴重です。
自動テストを実行する場合、人間の介入はほとんど必要ありません。
同様に、テストスクリプトは、構成されたとおりにのみ機能します。
そのため、スクリプトによって、手動テスターには明らかな間違いを省略できる場合があります。
◇手動テストとテスト自動化の違い
手動テストとテスト自動化の主な違いは以下となります。
◇手動テストが最適なケース
・探索的テスト
新製品の機能をさまざまな視点から研究することは、手動テストによってのみ可能です。
これにより、さまざまなパスを検査できるため、スクリプトでは見逃される可能性のある欠陥を特定できます。
探索は手動のプロセスであり、プロジェクトチームのメンバーは誰でもそれに貢献できます。
ここではテスト自動化に関する専門知識は必要ありませんが、さまざまなチームメンバーの意見を歓迎します。
まだ開発中であり、徐々に進化し、変化する新機能はテストを必要としますが、自動テストはここではまだ実行可能ではありません。
・ユーザビリティテスト
ユーザビリティのテストは潜在的に自動化できるものですが、この場合、人間による実行の方が効果的です。
製品が便利かどうかを判断するのに役立つ主な基準です。
そしてこれは主観的な評価であり、ユーザビリティの問題について決定を下すための特定のガイドラインに従う必要があります。
・ランダムテスト
これは、システムの抜け穴を見つけることを目的として、非公式に実行されます。
ランダムテストは手動でのみ実行できます。
予測可能なものだけをテストし、自動化されたテスト開発者の協力によってプログラムが期待どおりに機能することを証明するテスト自動化とは異なり、手動のランダムテストは別の方法で便利です。
これにより、テスターは、バグを(事前に)推測することでバグを見つけることができる実際のユーザーとして機能することができます。
個別に適用した場合、ソフトウェアの品質を保証するには特殊なテストでは不十分ですが、他のQAアクティビティのサポートが追加されます。
この方法は、探索的テストと組み合わせることができる場合があります。
ただし、前者はネガティブテストに重点を置いています。
・短期プロジェクトテスト
プロジェクトが短期間の取り組みとして計画されている場合は、自動テストを開始することはお勧めできません。
このようなプロジェクトの基本的なニーズを満たすには、手動テストで十分です。
これはリソースの浪費につながる可能性があり、自動化は役に立たなくなります。
自動化とは、メンテナンスと管理のコストが高くなるだけでなく、追加の工数、スクリプト作成、書き直しも意味します。
これは、小さなプロジェクトの潜在的なROIとバランスが取れていない可能性があります。
◇テスト自動化が最適なケース
・回帰試験
テスト自動化は、アプリケーションの新しいバージョンがリリースされた後、既存のバージョンのアプリケーションが機能するかどうかを確認するための優れたオプションです。
回帰テストを自動化することにより、QAチームは、テストカバレッジの向上、テスト結果の繰り返し、テスト実行の高速化によるテスト効率の向上、回帰テストの継続的な使用などのメリットを期待できます。
・性能試験
負荷テストの実行は、自動化ツールによってサポートされる必要があります。
たとえば、任意の数の同時ユーザーによるアプリケーションの使用をシミュレートする必要がある場合は、このプロセスを自動化します。
ここには実行可能な手動の代替手段はありません。
QAチームは、負荷テストスクリプトを作成し、対応するテストスクリプトを開発します。
エンドユーザーの動作は、最大数千人の同時ユーザーの負荷をスケーリングしてシミュレートされます。
このようにして、負荷がかかった状態でのアプリケーションのパフォーマンスを理解し、エンドユーザーが抱える可能性のある問題を確認できます。
・繰り返し可能な機能テスト
手動テスターを同じテストの繰り返し実行から解放する機能は、自動化の費用効果の基礎です。
定期的な反復テストは手動で実行しないでください。
これは時間がかかり、多くのバグのリソースです。
タスクが異なるテストサイクルで変更されない場合は、スクリプトで実行できます。
■最後に
今回は、以上の国内ニュース、海外ニュースを取り上げてみました。
次週も、ソフトウェアテスト、テスト自動化に関するニュースをご紹介したいと思います。
最後まで見て頂き、ありがとうございました。
テクノロジーが予測する未来 web3、メタバース、NFTで世界はこうなる (SB新書)
詳細はコチラをクリック!
年収300万円FIRE 貯金ゼロから7年でセミリタイアする「お金の増やし方」