皆さん、こんにちは。
今週もソフトウェアテスト、テスト自動化に関するニュース記事をご紹介していきたいと思います。
今回は国内、海外ニュース3記事をご紹介回したいと思います。
■記事内リンク
・TestCompleteハンズオンセミナー開催
・効果的な受け入れ基準を書くための基本
・IT自動化:この成長分野で成功するために必要なスキル
■国内ニュース
□TestCompleteハンズオンセミナー開催
https://news.biglobe.ne.jp/economy/0422/prt_220422_8889051703.html
こちらは、GUIテスト自動化ツール「TestComplete」のハンズオンセミナーについての内容となります。
「TestComplete」は、海外のSMARTBEAR社によって開発された自動テストプラットフォームです。
エクセルソフト社では、「TestComplete」の日本代理販売というような位置づけとなっています。
「TestComplete」の主な特徴は以下となります。
◇TestCompleteの主な特徴
https://smartbear.com/product/testcomplete/features/
・自動UIテスト
スクリプトレスで、操作記録と再生、またはキーワード駆動型テストを使用して、自動UIテストを簡単に作成します。
テストを一度記録して、デスクトップ、Web、およびモバイルアプリケーションで再生します。
・人工知能を備えたオブジェクト認識エンジン
プロパティベースとAIを活用した視覚認識の両方を使用して動的なUI要素を正確に識別します。
これにより、テストの作成と保守にかかる時間を節約します。
単一のリポジトリでオブジェクトを管理し、必要に応じてローカルに設定するか、共有するように設定します。
・データ駆動型テスト
メンテナンス作業を容易にするため、テストコマンドからデータを分離します。
カバレッジを増やすために、さまざまな入力データのセットを使用して、自動化されたデスクトップ、Web、またはモバイルUIテストを実行します。
・キーワード駆動型テスト
組み込みのキーワード駆動型テストフレームワークを使用して、テストステップ、オブジェクト、アクション、およびデータを簡単に分離します。
すべてのチームメンバーがテストの自動化に貢献できることを確認します。
プログラミング言語を使用せずに自動化された機能UIテストを作成します。
不要なウィンドウを処理したり、単純なポイントクリックアクションでデータベース情報にアクセスしたりするなど、複雑なシナリオを処理します。
・自動テストレポートと分析
デスクトップ、Web、またはモバイルUIテストの進行状況と、ステータスに関するリアルタイム情報をインターフェイスから取得します。
JiraやBugzillaなどの一般的な欠陥追跡ツールに簡単に接続して、即時フィードバックと継続的な学習を実現します。
・自動テストの再利用
自動化されたUIテストをプロジェクトや環境全体で再利用して、テストカバレッジを拡大し、時間とコストを削減します。
・DevOpsの継続的テスト
TestCompleteをDevOpsエコシステムに統合して、継続的テストを加速します。
使いやすいコマンドラインインターフェイスとRESTAPIを使用すると、自動テストをJenkinsやAzure DevOpsなどの継続的インテグレーションツール、Gitなどのソース管理システム、Zephyrなどのテスト管理ツール、バグ追跡ツールに統合できます。
・クロスブラウザとデバイスのテスト
TestCompleteのクロスブラウザーおよびクロスデバイステストを使用すると、自動化されたGUIテストを簡単に記録してから、ローカルまたはクラウド内の他の実際のブラウザーまたはデバイスで同じテストを実行できます。
これらのテストは、すべてのブラウザー構成のWindows、MAC、Linux、Android、iOSプラットフォームで実行できます。
JavaScript、Python、またはVBScriptで、レコード再生とキーワード駆動型フレームワークまたはスクリプトを使用できます。
・並列テスト
TestExecuteを使用して、複数の物理マシンと仮想マシンでデスクトップ、モバイル、およびWebテストを並行して実行します。
すべてのテスト実行にわたって1つのマスターサマリーレポートを取得します。
・BDDのテスト自動化
Gherkin構文を使用して設計および作成されたテストケースは、自動UI機能テストに簡単に変換でき、TestCompleteにある業界をリードするオブジェクト認識および記録と再生のテクノロジーで維持できます。
追加のプラグインや統合は必要ありません。
「TestComplete」では上記様々な機能を有したGUIテスト自動化ツールとなります。
◇ハンズオンセミナーの詳細
ハンズオンセミナーの詳細は以下となります。
・セミナー名: | テスト自動化ツール TestComplete オンライン ハンズオン セミナー |
・日時: | 2022年 5月 25日 (水) 13:10 – 15:30 2022年 6月 22日 (水) 13:10 – 15:30 |
・参加費: | 無料 |
・定員: | 4名 |
・内容: | TestComplete の基本機能の説明および、サンプル アプリケーションを使用したテスト シナリオの作成、チェックポイントの設定、データドリブンテストの作成をご覧いただけます。 これから TestComplete の評価、導入をご検討いただくお客様のスタートアップに最適です。 ※ デスクトップ アプリケーション、Web アプリケーションのユーザー様が対象となります。 |
・参加方法: | Microsoft Teams リンク |
ハンズオンセミナーの定員数が思ったよりも少ない人数となっています。
ご興味のある方は、上記URLリンクにアクセスされてみてはいかがでしょうか。
■海外ニュース
□効果的な受け入れ基準を書くための基本
こちらは、「techtarget.com」に掲載荒れていた内容となります。
「受け入れ基準」についてまとめられており、海外のソフトウェアテストの受け入れ基準がどのようなものか気になりましたので、ご紹介したいと思います。
◇初めに
アジャイルソフトウェア開発シナリオでは、受け入れ基準は、顧客の要件を集約し、アプリケーションパフォーマンスのベンチマークを作成する上で重要な役割を果たします。
具体的には、製品、開発、およびQA内のソフトウェア開発チームの役割間で機能を伝達します。これらの説明は、チームメンバーがユーザーの要求を理解するのに役立ちます。
受け入れ基準ステートメントは、開発者が個々のユーザーストーリーを理解するのに役立つだけでなく、特定のアプリケーションのコーディングとテストに必要な詳細を提供します。
ただし、チームは、特定のビジネスのニーズと目標を満たすために、受け入れ基準を調整する方法も決定する必要があります。
アジャイル開発で受け入れ基準を作成する目的をさらに掘り下げて、開発チームが要件収集の取り組みを強化するために使用できる「シナリオベース」と「ルールベース」の2つの異なるスタイルの受け入れ基準を調べてみましょう。
◇合格基準とは何ですか?
テストの観点から、受け入れ基準は、アプリケーションQAチームおよびユーザー受け入れテスター(UAT)に特定のテスト目標を提供します。基準は、アプリケーションの機能に関する顧客の要件と要求を説明する必要があります。
理想的には、製品マネージャーまたはチームは、ユーザーストーリーと一緒に受け入れ基準を作成し、それらの基準の説明をテスト可能なベンチマークに形成します。
開発側では、受け入れ基準は、開発チームがユーザーが探している機能とアプリケーションの動作を理解するのに役立ちます。
受け入れ基準には、開発チームがコーディングプロセス全体で期待される機能を確保できるようにする、顧客中心の焦点を含める必要があります。
理想的には、製品チームは、開発チームが関与する前に、ユーザーストーリー内でその受け入れ基準を定義する必要があります。
受け入れ基準を作成するには、「シナリオベース」と「ルールベース」の2つの特徴的なアプローチがあります。
それぞれがわずかに異なる焦点を取り、独自の適切なユースケースのセットを持っています。
ただし、どちらもユーザー要件と設計目標を定義する上で重要な役割を果たすことができます。
◇シナリオベースの受け入れ基準
シナリオベースのアプローチは、ユーザーシナリオのコンテキスト内で機能または一般的なアプリケーションタスクがどのように動作するかを説明することを目的としています。
シナリオベースの受け入れ基準形式を使用すると、ユーザーの予想されるワークフローとアプリケーションのナビゲーションに関するパターンに焦点を当てることができます。
たとえば、患者が毎日の投薬ログを作成できるようにするヘルスケア追跡アプリケーションを想像してみてください。
シナリオベースの受け入れ基準形式では、ユーザーが操作する各フィールドのスコープ、およびユーザーが実行する必要のあるアクションによって、特定のワークフローステップと予想されるアプリケーションの動作が定義されます。
◇ルールベース
同様に、ルールベースの受け入れ基準は、ユーザーストーリーの範囲と機能を定義しますが、機能および動作パラメーターのリストに対して定義します。
受け入れ基準のこのルールベースの形式は、従来のウォーターフォール開発シナリオで一般的に見られる要件ドキュメントに非常によく似ており、期待される各機能が個別にリストされています。
◇受け入れ基準アプローチの選択
受け入れ基準の形式の選択は、通常、チームメンバーの全体的な好みによって異なります。
ただし、チームメンバーがどの形式が最も効果的であるかについて合意する会話を促進することは価値があります。
合格基準の形式は重要ではありません。
代わりに、重要なのは、製品チームが開発チームとテストチームが理解できる方法で顧客の要件を伝達することです。
たとえば、シナリオベースの受け入れ基準は、複数の入口または出口ポイントを含むワークフローを説明する場合、または新しい機能がすでに複雑な機能シーケンスに追加される場合に役立ちます。
一方、ルールベースの受け入れ基準の文書化は、解釈の余地がほとんどなく、スコープクリープを制限するのにより効果的であることがよくあります。
チームはすべてのルールを含めるように注意する必要があり、すべてのルールには期待される結果の明確な説明が必要です。
◇合格基準に含めるもの
受け入れ基準を作成するときは、すべてのステートメントが簡潔で要領を得て、特定のアプリケーション機能が何を実行し、ユーザーがそれから何を期待するかを正確に説明することが重要です。
ただし、開発者とテスターの両方の固有のニーズも考慮する必要があります。
たとえば、開発チームは、API対応のデータベース更新など、特定の依存関係または統合ポイントがいつ機能するかを明確に示すための受け入れ基準を必要とします。
これは、アプリケーション機能の意図された範囲を伝達するのに役立ち、機能を更新するプロセスをガイドします。
一方、QAの専門家とUATの場合、受け入れ基準は、明確に定義され、すぐにテスト可能なワークフローの期待を提供する必要があります。
たとえば、ユーザーが保存した情報がAPIを使用してデータベースに渡される場合、テスターはそのトランザクションがいつどのように発生するかを知る必要があります。
このようにして、問題が発生したときに何を探すべきかを正確に知ることができます。
□IT自動化:この成長分野で成功するために必要なスキル
https://insights.dice.com/2022/04/21/it-automation-skills-you-need-to-succeed-in-this-growing-area/
こちらは「insights.dice.com」に掲載されていた内容となります。
こちらではテスト自動化に限らず、IT全体の自動化に対して、必要なスキルのことを述べられていましたので、ご紹介したいと思います。
◇初めに
自動化は、特にCOVID-19の大流行に続いて、テクノロジー業界で需要が高まっている分野です。
自動化を組み込むことで、組織は繰り返しを減らし、 生産性を高めることができます。
企業は、手動タスクではなく、戦略とイノベーションに集中できます。
業界を自動化するプラットフォームであるCreatioの最高成長責任者であるAndieDovgan氏は、次のように述べ ています。
スクリプト作成、アプリケーションプログラムインターフェイス(API)の一元化されたカタログの作成、および コンテナーの確実な理解は 、自動化に関して必要な重要なスキル の一部です 。
主要なアプリケーションとビジネスプロセスを自動化することを検討している場合に焦点を当てるべき他のいくつかの領域があります。
◇ワークフローの自動化
ワークフローの自動化には 、ソフトウェア開発のためのDevOps方法論の知識が必要です。
DevOpsは自動化と密接に関連しています。
The LinuxFoundationのシニアバイスプレジデント兼ゼネラルマネージャーであるClydeSeepersad氏は、 Enterprisers Project (CIOとITリーダーのコミュニティ)に、これらのスキルにはLinuxとKubernetesも含める必要があると語っ ています。
「営業、マーケティング、サプライチェーン、ガバナンスなどの部門は自動化を使用しており、これは多くの場合CRMと密接に関連しています。
Dovgan氏によると、財務や人材などの分野でプロセス集約型の組織も自動化を採用しています。
「これらのツールの多くは、特にリモートの従業員が非常に多い場合に、従業員が組織に適切に接続できるようにすることに関連しています。
またはお互いに会ったことがないもの。」
◇ローコードおよびノーコード
Dovgan氏によると、ローコードおよびノーコードソフトウェア開発は、自動化を扱う技術者にとって重要なツールです。
ノーコードスキルを持つソフトウェア開発者は、組織が従来のツールよりも迅速に生産プロセスから価値を得るのを支援できます。
「通常、私たちは、設計機能、UIおよびUX機能、データモデルの設定機能、ワークフローの設定と自動化の機能、およびノーコードツールを使用したいくつかの統合の設定機能について話します」とDovgan氏は付け加えました。
◇ビジネス分析
Dovgan氏は、ビジネスアナリストは、自動化スキルを活用してビジネス上の問題を解決できると述べています。
彼は、これらのスキルを「分析スペクトル」の一部であると説明しました。
「ビジネスニーズを理解し、解決したい問題の種類を理解し、問題の解決策を設計できる必要があります」とDovgan氏は述べています。
これらのスキルは、技術者がビジネスの効果的なパートナーになるのに役立ちます。
自動化に必要なビジネス分析スキルの一部として、人々はビジネスの問題を分析し、自動化が売上の分析などのさまざまなビジネスプロセスにどのように役立つかを文書化する機能を必要としています。
◇レガシーシステムを移動するための自動化ツール
ボットと管理ツールを使用して反復的な手動タスクをオフロードできるロボットプロセス自動化(RPA)は、技術者が学ぶべき自動化の重要な部分です。
TechTargetによると、企業には、コーディング、ビジネスプロセスの知識、プロセスマッピング、変更管理、データ分析などのRPAスキルを備えた人材が必要 です。
レガシーシステムのクラウドへの移行を自動化するプロセスの一環として、技術専門家はSpark、Java、Pythonにも精通している必要があります、と自動クラウド移行会社であるNextPathwayのCEOであるChetanMathur氏は提案しまし た。
◇テスト
テストは、自動化で学ぶための重要な側面です。
自動化できるテストの種類には、スモークテスト、ユーザー受け入れ、パフォーマンステストなどがあります。
スモークテストは、ソフトウェアの最も重要なコンポーネントを評価して、障害をテストします。
「構築するアプリケーションや自動化レイヤーの種類に応じて、これらのテストが必要になります」とDovgan氏は述べています。
「たとえば、それがビジネスクリティカルなソリューションである場合、明らかに、組織内のいくつかの重要なデータと重要なワークフローに影響を与えるため、複数のテスト手順を実行する必要があります。」
手動テストを自動テストに置き換える ことは、アジャイル手法 への切り替えの一部です 。
さらに、自動テストを使用すると、ソフトウェアのテストにかかる時間を数日から数時間に短縮できます。
自動化を使用して生産性を高め、組織内の繰り返しを減らすことを検討している場合は、これらの領域を調査することを検討してください。
■最後に
今回は、以上の国内ニュース、海外ニュースを取り上げてみました。
次週も、ソフトウェアテスト、テスト自動化に関するニュースをご紹介したいと思います。
最後まで見て頂き、ありがとうございました。