皆さん、こんにちは。
今週もソフトウェアテスト、テスト自動化に関するニュース記事をご紹介していきたいと思います。
今回は国内、海外ニュース3記事をご紹介回したいと思います。
■記事内リンク
「国内ニュース」
・デジタルハーツオンライン特別講義「アジャイル開発での品質視点の変化」
「海外ニュース」
・2022年に調査する7つの自動化テストツール
・クロスブラウザテストとレスポンシブテストの主な違い
■国内ニュース
□デジタルハーツオンライン特別講義「アジャイル開発での品質視点の変化」
https://prtimes.jp/main/html/rd/p/000000003.000076535.html
こちらは、デジタルハーツ社が2022年3月31日(木)に無料オンライン特別講義「アジャイル開発での品質視点の変化」が開催される内容となります。
こちらのオンライン特別講義では、ソフトウェアテストの第一人者であるデジタルハーツホールディングスCTSOの高橋寿一氏が登壇されるようです。
高橋寿一氏は、情報処理学会およびIEEE会員の方でもあり、「知識ゼロから学ぶソフトウェアテスト【改訂版】」、「ソフトウェア品質を高める開発者テスト アジャイル時代の実践的・効率的なテストのやり方」の書籍も出されています。
オンライン講義の概要は以下となります。
◇「アジャイル開発での品質視点の変化」の概要
・日時: | 2022年3月31日(木)19:00〜20:15 |
・イベント形態: | オンライン講義 |
・テーマ: | 今、全エンジニアに求められる「アジャイル開発での品質視点の変化」 |
・参加費: | 無料 |
・参加対象: | ソフトウェア開発に関わる方 アジャイル開発にご興味のある方 テストにご興味のある方 プロジェクトマネジメントにおける品質管理にこだわりがある方 |
・申し込みページ: | https://techplay.jp/event/850787 |
ご興味のある方、お時間が取れる方は、上記ページにアクセスしてみてはいかがでしょうか。
■海外ニュース
□2022年に調査する7つの自動化テストツール
https://www.technochops.com/programming/4954/automation-testing-tools-2022/
こちらは「technochops.com」に掲載されていた内容となります。
テスト自動化ツールについて取り上げられていましたので、ご紹介したいと思います。
「Ranorex」「Watir」「LambdaTest」は私も初めて知りました。
オープンソース、無料ライセンス版がありますので導入しやすいと思います。
◇Selenium
Seleniumは、Webアプリケーション用のポータブルソフトウェアテストフレームワークです。
Seleniumは、テストスクリプト言語(Selenese)を学習することなく、テストを作成するための記録/再生ツールを提供します。
Seleniumテストは、ソフトウェアテストフレームワークであるWebDriverを使用して作成されています。
WebDriverは、W3CWebDriver仕様の実装です。
WebDriverはクロスプラットフォームであり、Javaで記述されており、Apache2.0ライセンスの下でリリースされています。
テストは、プログラミングスキルを必要とせずにテストを表現するための非独占的なドメイン固有言語(DSL)であるSelenese言語を使用して作成されます。
テストは、ほとんどの最新のWebブラウザーに対して実行でき、ブラウザーのプラグインテクノロジーに依存しません。
テストはスタンドアロンモードで実行することも、Hudson / Jenkins、Bamboo、TeamCityなどのサードパーティの継続的インテグレーション環境で実行することもできます。
以下をサポートします。
・HTMLとXMLの読み取りと解析。
・動的コンテンツへのアクセスと更新。
・ID、名前、またはクラスによる要素のテスト。
・XPathまたはCSS3セレクターを使用してページ上の要素を検索します。
◇Appium
Appiumは、iOSおよびAndroidでネイティブ、ハイブリッド、およびモバイルのWebアプリを自動化するためのオープンソースフレームワークです。
WebDriverAPIを使用してアプリを駆動します。
もともとは、ThoughtWorksのエンジニアリングインターンとして2012年にLukeKlinkerによって開発されました。
プロジェクトはすぐに独自のエンティティとしてスピンオフされ、開発は現在AppiumFoundationによって管理されています。
世界中の貢献者のコミュニティは、オープンソースのコラボレーションを通じてAppiumとそのドキュメントを継続的に改善しています。
1セットのテストスクリプトを作成するだけで、同じアプリを複数のプラットフォームでテストできます。
これは、Cordova、Xamarin、React Native、Ionic、PhoneGap、およびReact JSを含むがこれらに限定されない、すべてのネイティブ、ハイブリッド、およびモバイルWebアプリケーションフレームワークをサポートします。
モバイルアプリは、他のどのアプローチよりも実際の使用をシミュレートする方法でテストされています。
開発者は、顧客とのやり取りをシミュレートし、プロセスのビデオを録画し、シナリオを再生し、すべてのイベントをログに記録できます。このアプローチは非常に効果的であるため、今日のモバイルアプリケーションテストの標準となっています。
Appiumは、Java、Cを含むすべての主要なプログラミング言語で動作します。
◇Katalon Studio
https://katalon.com/
Katalon Studioは、API、Web、およびネイティブモバイルアプリケーションのテストをサポートする、モバイルおよびWebアプリケーションの自動テスト環境です。
SeleniumとAppiumの上で動作するため、API、Web、およびモバイルの自動化テストが簡素化されます。
JIRA、qTest、Kobiton、Git、Slackなどの他のさまざまなツールと統合できます。
ドラッグアンドドロップアプローチを使用してテストケースを作成する、さまざまな種類のテスト用に事前に作成されたテストテンプレートを備えたシンプルなユーザーインターフェイスを提供します。
Katalon Studioには、セッションの記録や、自動化スクリプトを作成しているテストエンジニアの生産性の向上などの機能が備わっています。
Katalon Studioは、クラウドバージョンとオンプレミスバージョンの両方で利用できます。
クラウドバージョンは、簡単な展開と構成を可能にするSaaSプラットフォームです。
オンプレミスバージョンは、KatalonStudioがインストールされているすべてのWindowsマシンで実行されます。
◇Cucumber
Cucumberは、オープンソースのビヘイビア駆動開発(BDD)ツールです。
PayPalやCanonを含む印象的なユーザーリストがあり、いくつかの言語をサポートしています。
テスターの20%が使用しているため、CucumberはWeb環境のみをサポートします。
これは、強化されたエンドユーザーエクスペリエンスを提供するという哲学に基づいて構築されています。
CucumberはThoughtWorksで構築され、ApacheLicense2.0の下でリリースされています。
Cucumberは、Java、.Net、Rubyなどのいくつかのプログラミング言語をサポートしています。
Gherkin、easyB、JBehaveなどのさまざまな構文を使用すると、BDD要件をよりユーザーフレンドリーな方法で記述できます。
テスターは、ビジネスの利害関係者が技術的なバックグラウンドを持たなくても簡単に読んで理解できるシンプルな言語でシナリオを表現できるため、Cucumberで優れたエンドユーザーエクスペリエンスを作成できます。
◇Ranorex
Ranorexは、デスクトップ、Web、およびモバイルの自動化ツールです。
これは、チームが中央の場所から複数のプラットフォームやブラウザーに対してソフトウェアをテストするためのオールインワンソリューションです。
Ranorexは、WEB、WAP、モバイルアプリケーションなどのブラウザベースのアプリケーションとのやり取りを記録、テスト、およびレポートするために特別に設計されています。
テスターは、記録ウィザードまたは直感的なGUIレコーダーを使用してテストを記録できます。
記録したら、必要に応じてテストを編集およびデバッグできます。
Ranorexは、テスト対象のアプリケーションでほとんどのアクションを実行するためのポイントアンドクリック機能を備えた手動テスターも提供します。
結果レポートは、HTMLまたはXML形式で自動的に生成され、必要に応じてカスタマイズできます。
Ranorexテスト自動化スクリプトを使用すると、手動テストに関連するコストを削減し、テストカバレッジを拡大して製品の品質を向上させ、繰り返しのテストサイクルを排除することで開発時間を短縮できます。
◇Watir
Watirは、実際には「RubyでのWeb自動化テスト」の略語です。
これは、主にアプリケーションの回帰テストに使用される、人気のある自動Webアプリケーションテストツールの1つです。
WatirはSeleniumのファミリーの一部です。
Watirの開発の背後にある主な目的は、テストケースを作成することであり、多くのソフトウェア開発者によってこの目的のために現在も使用されています。
タスクを自動化するだけでなく、Webアプリケーションのデータやその他の機能を検証します。
Watirで最も重要なことは、すべての言語とテクノロジーをサポートしていることです。
つまり、テスト目的でコードを変更したり、新しいライブラリを作成したりする必要はありません。
また、これはオープンソースツールであるため、必要に応じて調整できます。
◇LambdaTest
https://www.lambdatest.com/
LambdaTestを使用すると、クラウドベースのプラットフォームでのWebまたはモバイルアプリケーションのテストを自動化できます。
これは、時間とお金を節約するのに役立つ、信頼性が高く、安全で、スケーラブルなソリューションです。
LambdaTestは、自動化のニーズに適した多くの機能を提供します。
JenkinsやBambooなどのCIサーバー、またはその他の任意のCIサーバーと簡単に統合できます。
並列実行モードでLambdaTestを使用して、テストを並列で実行することもできます。
これにより、テストケースをより高速に実行し、実行テストサイクルを短縮できます。
テスターは、LambdaTestプラットフォームでテストスイート、テストケース、記録/再生セッション、および環境を簡単に作成および管理できます。
また、テストケースとスイートごとに、実行構成、データセット、環境変数などの並列実行設定を定義することもできます。
LambdaTestは、すべてのSeleniumテストに3000以上の実デバイスを提供します。
つまり、テスターは、コストをかけずに、さまざまな実デバイスのさまざまなブラウザーでアプリケーションをテストできます。
◇まとめ
従来のテスト方法は、特に2022年には、この新たに競争の激しい市場では機能しません。
古いテストモデルは、世界が異なっていたときに作成されました。
アジャイルな方法論、分散したチーム、熟練したリソースの不足はありませんでした。
今日、世界中の企業は、これらの競争の激しい市場で生き残るためにアジャイル手法を採用しています。
これらの方法論では、ソフトウェア開発ライフサイクル全体でテストを実行する必要があります。
テスターは、より速く、より高品質でテストできるように、上記の自動化ツールを採用する必要があります。
これらのツールは、テストプロセスを自動化し、より速く、より効率的で、費用対効果の高いものにするのに役立ちます。
上記のリストとは別に、さまざまなタイプのテストを目的としたツールが多数あります。
それらのいくつかはオープンソースの自動化ツールですが、他はライセンスされています。
ただし、テスト自動化ツールの選択は、ビジネス要件に完全に依存しますが、単一の目的は、高品質のソフトウェアを高速化することです。
□クロスブラウザテストとレスポンシブテストの主な違い
https://www.impactqa.com/blog/major-difference-between-cross-browser-testing-and-responsive-testing/
こちらは「impactqa.com」に掲載されていた内容となります。
クロスブラウザテストとレスポンシブテストについてまとめられていましたので、ご紹介したいと思います。
クロスブラウザテストは知っていますが、レスポンシブテストはきちんと理解していなかったので、改めてこちらで学んでみようと思います。
◇クロスブラウザテストとは何ですか?
クロスブラウザテストは、Chrome、Safari、Edgeなどの多数のブラウザ、およびさまざまなオペレーティングシステム(iOS、Android)で、WebサイトまたはWebベースのアプリケーションの全体的な安定性をテストするプロセスです。
クロスブラウザテストを採用すると、意図したとおりにWebサイトまたはアプリケーションのパフォーマンスが保証され、ユーザーがWebサイトへのアクセスに使用するブラウザ/ OS /デバイスに関係なく、完璧なユーザーエクスペリエンスが提供されます。
さらに、クロスブラウザテストには、WebサイトがEdgeの「このページを読み上げる」機能などの支援技術に準拠しているかどうかを判断するアクセシビリティチェックが含まれています。
クロスブラウザテストでは、通常、Webサイトのすべての機能コンポーネントがブラウザ間で正しくレンダリングされているかどうかを判断する必要があります。
各ブラウザには、アドレスボックスにWeb URLを入力するたびに、Webサイト要素をロードするための独自のレンダリングエンジンが備わっています。
Microsoft Edgeのレンダリングエンジンは、Chrome、Safari、またはOperaのレンダリングエンジンとは異なる方法でWebサイトのコードを解釈する場合があります。
また、特定のブラウザのレンダリングエンジンは、新しいブラウザのバージョンごとに変化し続けます。
クロスブラウザテストは、次の2つの方法で実行できます。
・手動クロスブラウザテスト(テスト検証にとって重要)
・自動クロスブラウザテスト(テスト検証POVにとって重要)
企業は、手動または自動のいずれかで、クロスブラウザーテストを実行して顧客エクスペリエンスを向上させることができます。
どちらのアプローチにも独自の意味があります。
複数のテストスクリプトは、さまざまなブラウザで段階的に実行されます。
現在のブラウザのテスト実行が完了すると、別のブラウザが起動します。
◇クロスブラウザテストの重要性
ソフトウェア開発ライフサイクル(SDLC)にクロスブラウザーテストを適切に組み込まずにWebアプリを起動すると、Webサイトにアクセスするオーディエンスに厄介なユーザーエクスペリエンスを提供するリスクを招く可能性があります。
これにより、Web製品の新しいクライアントを無残に獲得できなくなるだけでなく、既存の顧客を失ってWeb製品の使用をやめることになります。
UXを検討するだけでなく、WebアプリケーションまたはWebサイトのUI(ユーザーインターフェイス)も検討する必要があります。
クロスブラウザテストにより、ユーザーのアクセシビリティと読みやすさが向上します。
◇レスポンシブテストとは何ですか?
Webのフロントエンド言語の機能が向上するにつれて、さまざまなブラウザが同じコードをレンダリングする方法が異なりました。
レスポンシブウェブデザインは、2010年にイーサンマルコットによって前向きな視点で作成され、オンラインアプリケーションを複数のデバイスやブラウザで使用できるようにするためにウェブサイトデザイナーが従うべき基準を概説しました。
レスポンシブWebデザインは何年にもわたって変更されていますが、Webコンテンツをデバイスに依存しないようにするという基本原則は変更されていません。
レスポンシブデザインには、エンドユーザーがコンテンツへのアクセスに使用する可能性のある任意のデバイスでコンテンツをレンダリングする役割を担うHTML、JavaScript、およびCSSコードが含まれます。
ビューポートを作成し、CSSメディアクエリを利用して、Webアプリケーションが表示されているデバイスに基づいて、デバイスに適した方法でテキスト、画像、およびナビゲーションをレンダリングする必要があります。
レスポンシブテストは、Webサイトにアクセスするユーザーデバイスに基づくCSSメディアクエリを使用して、多数のデバイスのビューポートにWebページをレンダリングするプロセスです。
簡単に言うと、レスポンシブテストでは、画面サイズと解像度のすべての形状に対してWebページの応答性が最適化されていることを確認します。
すべての画面サイズで優れたパフォーマンスを発揮するWebサイトを持っている企業には、ユーザーベースを獲得し、競合他社を打ち負かすという大きな利点があります。
最終的な目標は、Webページの見栄えを良くし、使用するデバイスに関係なく、Webサイトのユーザーに関連情報を提供することです。
レスポンシブウェブデザインには、適応可能なレイアウトデザイン、メディアクエリ、メディア、タイポグラフィなど、ウェブサイトの開発時に考慮されるさまざまなコンポーネントがあります。
レスポンシブデザインは、柔軟なグリッドを利用して柔軟なレイアウトを作成するプロセスです。
幅、余白、長さなどのWebサイトのダイナミクスが変更されるたびに、サイズの自動変更が可能になります。
レスポンシブデザインを進行中のプロジェクトに組み込むことは、それがどんなに単純に見えても、骨の折れる作業です。
プロジェクトを開始する前に、そのガイドラインに従うのが最善です。
◇レスポンシブテストの重要性
私たちは時計を通してインターネットにアクセスできる時代にいます。
私たち消費者がオンラインにするために使用するデバイスは複数あります。
また、インターネットにより、デバイスの数は絶えず増加し、ブラウジング、ソーシャルアプリケーションの使用、エンターテインメントなどのさまざまなアクティビティを実行できます。
現在、市場で入手可能なすべてのデバイスに固有のWebページを開発することはできません。
したがって、企業はこの目的のためにレスポンシブWebデザイン(RWD)を好みます。
RWDの目標は、さまざまな画面サイズの特定のWebページを生成するために必要な時間と労力を排除することです。
RWDを使用してWebサイトまたはWebアプリケーションを開発すると、Web製品をさまざまなデバイスでシームレスにレンダリングするのに役立ちます。
開発フェーズが完了すると、テストフェーズ(レスポンシブテスト)が開始されます。
RWDが計画どおりに機能することを検証します。
クロスブラウザテストとレスポンシブテストはどちらも同じツリーのブランチであり、優れたUIとUXで完璧なカスタマーエクスペリエンスを提供するために不可欠です。
◇最終的な考え
WebアプリケーションまたはWebサイトの互換性をテストするには、クロスブラウザーテストとレスポンシブテストの両方が重要です。
クロスブラウザテストは、レスポンシブWebデザインの重要なコンポーネントであると考えてください。
クロスブラウザとレスポンシブデザインのテストはどちらも、卓越したユーザーエクスペリエンスを提供する責任があります。
新しいプロジェクトを導入する場合、テストチームは、Webサイトを開発する際に常にレスポンシブデザイン標準に従って、ブラウザー間の互換性とさまざまなブラウザー-デバイス-OSの組み合わせに適応できるようにする必要があります。
■最後に
今回は、以上の国内ニュース、海外ニュースを取り上げてみました。
次週も、ソフトウェアテスト、テスト自動化に関するニュースをご紹介したいと思います。
最後まで見て頂き、ありがとうございました。