皆さん、こんにちは。
今週もソフトウェアテスト、テスト自動化に関するニュース記事をご紹介していきたいと思います。
今回は国内ニュース2記事、海外ニュース2記事をご紹介回したいと思います。
■記事内目次
「国内ニュース」
・バルテス社:アジャイル開発のテスト支援サービス
・「Autify」で実践するE2Eテスト自動化のリアル
「海外ニュース」
・専門家のテスト自動化アドバイス
・テスト自動化ツールのトレンドとテクニック
■国内ニュース
□バルテス社:アジャイル開発のテスト支援サービス
https://prtimes.jp/main/html/rd/p/000000070.000030691.html
こちらの記事は、バルテス社からアジャイル開発テスト支援サービスが4/1(木)から開始された内容となります。
こちらのサービスは、以下2つのアプローチからテスト支援を行うとのことです。
◇1.プロダクト全体を俯瞰し、全体を考慮したテスト
〇品質特性を踏まえた検証
・イテレーション結合
・非機能テスト
〇プロダクト全体を踏まえた検証
・リスクベースドテスト
・セッションベースドテスト
◇2.イテレーション内のアジャイルなテスト
〇フューチャー検証テスト
・テスト自動化の導入
〇フューチャー妥当性確認
・受け入れテスト駆動開発(ATDD)
・探索的テスト
アジャイル開発プロジェクトの立ち上げや、スプリント後半でのスポット対応など、テスト対応のリソースが足らないシーンなど有効そうです。
サービスの料金等は、お問い合わせとのことです。
バルテス社では、上記の他、様々なテスト支援サービスがありますので、気になる方はバルテス社のページにアクセスしてみてはいかがでしょうか。
https://www.valtes.co.jp/field/field_agile.html
□「Autify」で実践するE2Eテスト自動化のリアル
https://codezine.jp/article/detail/13710
こちらのニュース記事は、2/18に開催された「Developers Summit 2021」レポート内容となります。
上記オンラインイベントに登壇されたオーティファイ株式会社CEO 近澤氏のE2Eテスト自動化について述べられた内容が掲載されています。
興味深い内容を要点でまとめてみました。
◇テスト自動化の損益分岐点
「テスト自動化の損益分岐点は3回」
・3回以上実施しないと自動化のコストが見合わない
・リリースサイクルが長いと自動化のメリットが低い
・リリースサイクルが短ければ短いほど自動化のコスト効果は高まる
◇E2Eテスト自動化フレームワークの3つの落とし穴
・1つ目:コードを書かなければならない
技術知識が必要であるため、できる人が限定されて、俗人化するリスクあり。
コードを書くのに時間がかかるため、テストを構築する時間もかかる。
・2つ目:メンテナンスの手間がかかる
要素(class,IDなど)の変更が入ると、そのたびに自動化スクリプトが落ちてしまう。
Webページの構成が変更された場合でも、コードのメンテナンスにおいても時間がかかる。
・3つ目:クロスブラウザの実行
ブラウザのバージョンごとにWebdriverをインストールしておく必要がある。
また、各ブラウザでの実装が異なり、同じテストがそのまま使えるとは限らない。
◇Autifyを用いたE2Eテスト自動化の成功パターン
〇1.責任者とプロセスを明確にする
Autifyを導入したとしても、テスト責任者を明確にして、以下二点についても明確にしておく。
・いつだれがどのシナリオの実装を行うか
・誰がシナリオのメンテナンスを行うか
〇2.小さく始めて徐々に広げる
人が行うべきところ、また機械に任せるところをきちんと切り分ける。
〇3.ナレッジの共有と展開を大切にする
Autify等導入したとしても、属人的なプロセスするのではなく、適時ナレッジを共有する
私自身も自動化に取り組んでいるので、納得する部分が多々ありました。
自動化に取り組まれている方は、上記レポートを参考にしてみてはいかがでしょうか。
■海外ニュース
□専門家のテスト自動化アドバイス
https://techbeacon.com/app-dev-testing/10-experts-advise-aspiring-test-automation-engineers
こちらの記事は、「techbeacon.com」に掲載されていました「10人の専門家によるテスト自動化エンジニアにアドバイス」という内容のものとなります。
10人の専門家のうち7人が以下無料のWebサイトの教材を推奨しているとのことです。
https://testautomationu.applitools.com/
こちらですが、Youtube形式の動画で、学習するコンテンツとなっています。
Youtubeでは非公開設定となっており、動画を視聴する場合は、上記サイトにアクセス後、無料登録を行い、受講したいコースを選択するといった流れになります。
◇testautomationu.applitools.comについて
私自身、気になりましたので無料登録を行いました。
以下は登録後、コースを選べる画面です。
結構ツール、言語ごとに学習できるコンテンツが豊富にありました。
私が選んだのは、Pythonでモバイルテストを学習するコースとなる「Setting a Foundation For Test Automation Success」と呼ばれるものでした。
こちらは別途、学習してみたいと思います。
以下各専門家のアドバイス内容となります。
◇1. Joe Colantonio氏
Javaの構文のほとんどは、テスト自動化に使用することはありません。
従来の本は、意欲的なテスト自動化エンジニアを不必要に混乱させます。
自動化エンジニアが知る必要があるのは、既存のコードベースを読んで理解することです。
AIが増えるにつれて、ハードコアコーディングへの依存度が低くなります。
人々は将来、データサイエンスとテストに集中するでしょう。
2. Alan Richardson氏
(「Implementation Patterns」という本を用いてのコメント)
著者のケントベックは、さまざまなアプローチの長所と短所を説明し、どちらを選択するかを説明、意思決定を促し、コードの所有権を取得します。
最初に読んだ後、コーディングスタイルを簡素化し、外部ライブラリへの依存を減らしました。
実装パターンは、自動化に携わるすべての人のコアスキルである「進化するフレームワーク」に関連する決定を説明する数少ない本の1つです。
3. Paul Grossman氏
ビデオ学習について、Javaの学習などはYouTubeでは無料です。
さらに言えば、どのテクノロジーでも、短い無料のビデオチュートリアルを探すことをお勧めします。
Webでは、「Codingame」というサイトで、プログラミングスキルを学びつつゲームを作成するサイトを利用するのも手段の一つです。
https://www.codingame.com/start
4. Dave Martin氏
Robot Frameworkについて、Udemyで学習したことにより、2週間で数千のテストケースを自動化するきっかけとなりました。
それ以来、Robot Frameworkの公式サイト(https://robotframework.org/)は、私のすべての自動化ニーズに対応するサイトになりました。
RobotFrameworkは、すべてを実行できます。
RobotFrameworkは、Python(またはJava)のすべての機能とすべての機能を組み合わせたものです。
単一のテスト自動化フレームワークでのSeleniumを使用し、ブラウザーテスト、APIテスト、クラウドベースの相互作用、端末の相互作用、データベーステスト、さらにはパフォーマンステストにも使用しています。
5. Corina Pip氏
Pip氏は、Java / Spring / TestNG / Seleniumファミリーのテスト自動化を専門としています。
また、「testautomationu.applitools.com」に学習コースを開設されています。
Pip氏は、testautomationu.applitools.comのWebサイトをお勧めします。
テストの作成専用のさまざまなツールまたはフレームワークのセットで利用できるコースがあるため、自動化に取り掛かります。
それとは別に、テストを書くためのIDE、バージョン管理システム、継続的インテグレーションツールなど、自動化のプロセスで使用する関連ツールに関するコースもあります。
どのコースを受講するかわからない場合は、推奨される学習パスを確認できます。
6. Titus Fortner氏
初心者のテスターには「Ultimate QA」をお勧めします。
https://ultimateqa.com/
このウェブサイトでは、初心者に役立つ記事やビデオチュートリアルを提供すると同時に、上級テスターにも役立つコンテンツを提供しています。
トレーニング資料では、私が最も重要だと考えることに常に焦点を当てています。
7. Simon Stewart氏
Seleniumを使用している人々と話をするのに最適な場所としてSelenium Slackチャネルをお勧めします。
https://www.selenium.dev/blog/2021/public-project-meeting-20210325/
そこのコミュニティは暖かく、活気があり、アドバイスやサポートを提供できることがよくあります。
さらに良いことに、Seleniumのコアチームすべてがそこにあり、SeleniumBaseの作成者であるMichael Mintz氏など、エコシステムの他の人々と同様に、それが役立つ会話に参加することがよくあります。
8. Bas Dijkstra氏
「Complete Guide to Test Automation」
これは私がテスト自動化について読んだ中で最高の本の1つです。
特定のツールの「使用方法」だけでなく、さらに重要なのは「なぜ」必要なのかについても説明しています。
自動化と「何を」自動化するかを実装します。
これは、テスト自動化エンジニアだけでなく、マネージャーやチーム/技術リーダーにとっても素晴らしい読み物です。
9. Phil McNeely氏
「Java For Testers」が優れたリソースであることがわかりました。
私が持っていた知識のいくつかのギャップを埋め、テストの書き方と構成方法についての私の考えを本当に明確にしました。
さらに、この本は明確で簡潔ですぐに適用できる例とパターンですぐに適用できることがわかりました。
10. Lisa Crispin氏
興味深いことに、私は現在、コーディング(テスト駆動開発)とテスト自動化の両方でチームと協力できるように、十分なコーディングと自動化のスキルを取り戻そうとしています。
今はRubyのコースを開始し、Avdi Grimm氏を雇って指導してくれました。
もちろん、このテーマについてはたくさん書いていますが、主に配信チーム全体がどのようにできるかについて、多くの人に勧めています。
一緒にテスト自動化戦略を考え出します。
それぞれのテスト自動化の専門家意見がまとめられていたり、「testautomationu.applitools.com」について知ることができた記事でしたので、ご紹介させていただきました。
□テスト自動化ツールのトレンドとテクニック
https://techbeacon.com/app-dev-testing/test-automation-tools-8-trends-techniques-watch
こちらも、海外の「Techbeacon.com」というサイトで掲載されたテスト自動化の8つのトレンドとテクニックについてまとめられていた内容となります。
こちらの記事では、「The World Quality Report 2020–2021」と呼ばれる調査結果からテスト自動化のメリットを実現するには、「スマートツール」を最大限に活用する必要があることを述べられています。
「スマートツール」とは、人工知能(AI)と機械学習(ML)に基づくより多くの機能を含むツールです。
JavaScriptベースのテストツールの急増、APIテストの増加、スキルの重視とともに、今年注目される傾向です。
以下8つの内容について取り上げられています。
◇1.スマートテストツールの使用の増加
昨年の予想の1つとして、テストの自動化を容易にするためのAIとMLの使用の増加です。
テストにおけるAIとMLが品質保証にもたらすメリットへの期待は依然として高く、採用は増え続けていますが、世界品質レポートが指摘しているように、大きな進歩の兆候はほとんどありません。スマートテクノロジーは、コスト効率を高め、手動テストの必要性を減らし、市場投入までの時間を短縮し、継続的な品質改善の作成と維持に役立ちます。
また、AIベースのテスト自動化のその他の利点には、テスト作成時間の短縮、テストカバレッジの向上、テストアセットの復元力の向上、テストメンテナンスの労力の削減などがあります。別の新しい自動化手法は、AIベースの自己修復スクリプトを使用して、オブジェクトとページ要素が変更された場合に、実行時にスクリプトを自動的に変更することです。
◇2.JavaScriptベースのテストツールの急増
2021年の最も顕著な傾向の1つは、Jest、Cypress、Puppeteer、PlaywrightなどのJavaScriptベースのテストツールの増加です。
これは、多くのフロントエンドWeb開発がJavaScriptを使用して行われているために発生しています。
そのため、JavaScriptでコードを作成することによって、テストが安易になります。
もう1つの要因は、アプリケーションコードとテストコードの緊密な統合です。
JavaScriptで単体テストやコンポーネントテストを書くなどのことができます。
しかし、これらの戦略のいずれかで満たすことができないテストギャップを見つけたときはいつでも、サイプレスでのシステムテストのようなものを使い始めることができます。
たとえば、これはJavaScriptリポジトリ内のもう1つの追加ツールです。
◇3.サイプレスの使用が拡大するように設定
JavaScriptがユーザーを獲得したため、ブラウザーベースのアプリのエンドツーエンドのテストツールであるサイプレスの使用が人気を集めています。
https://www.cypress.io/
もう1つの利点は、サイプレスの機能セットです。
他の機能の中でも、このツールは、ブラウザーの自動化、アプリケーションプログラミングインターフェイス(API)の自動化、およびReactWebアプリケーションのコンポーネントテストを提供します。
SeleniumやPuppeteerのようなツールは、ブラウザーベースのフロントエンド自動化専用であるため、APIテストまたはコンポーネントテストを開始する場合は、すべてのツールを選択する必要があります。
しかし、「cypress」にはそれがすべてあります。
◇4.APIテストの必要性は高まり続ける
モノのインターネット(IoT)デバイス内で発生する情報共有の大部分はAPIを介して行われるため、IoT対応デバイスのAPIをテストして、それらが安全であることを確認することが重要です。
世界中でデバイスがオンラインになり、スマートサーモスタット、Alexa、スマート電球、テレビなどが増えるにつれ、これらをテストすることがますます重要になっています。
そして、テスト方法もますます重要になっています。
それらのデバイスはAPIを使用しています。
ブラウザベースのツールではなく、APIテストです。
そのため、その必要性は高まります。
◇5.NLPベースの自動化ツールの検討
自然言語処理(NLP)ベースの自動化ツールの使用を検討する用意があるようです。
これらは、スクリプトレス自動化、モデルベースのテスト、スクリプトを生成するための平易な英語のステートメントの使用、さまざまなプロジェクトの利害関係者が自動化の取り組みに貢献できるようにする浅い学習曲線などの利点を提供します。
自己修復機能などのオプションは徐々に増えていきますが、これが自動化の未来であることは間違いありません。
大きな期待はありますが、これらの自動化ツールはまだ十分に成熟していないことを理解しています。
◇6.ツールよりもスキルに重点を置くこと
自動化を始めたいと思っている手動テスターが増えるでしょう。
自動化されたテストソリューションのアーキテクチャを始めたいと思っている自動化エンジニアが増えるでしょう。
彼らは実際のテストを開発する人々ではなく、それを適切に行う方法についてチームを監督および指導します。
主にソフトウェアを書くのは自分のスキルです。
◇7.商用ツールの採用は遅くなる
ツールは、平均して少なくとも250,000ドルで利用されます。
そして、それを学び、ツールをシステムに統合するためのプロセスを変更する必要があります。
企業がプロセスを改善するためにそれだけのお金を本当に危険にさらすことをいとわないのはしばらく時間がかかるでしょう。
◇8.テスト自動化ツールの断片化は継続する
2021年を通して、そしておそらく2022年まで、テスト自動化の展望に断片化が続くだろうと述べています。
さまざまなテクノロジー、フレームワーク、スタックが出てきていますが、それらは通常、1つのブラウザーまたはAPIに接続されています。
テストには、単体テスト、機能テスト、パフォーマンス、負荷、セキュリティ、統合テスト、テストデータ管理、APIテストなど、多くの側面があります。
クライアントは、それぞれに1つのツールを必要とせず、それぞれに最高のツールを用意することを気にしません。
あるタイプのテストから別のタイプのテストに至るまで、統一された一貫したエクスペリエンスを求めているため、統合プラットフォームを望んでいます。
テスト自動化に関する興味深い内容でしたので、ご紹介させていただきました。
■最後に
今回は、国内ニュース2記事、海外ニュース2記事を取り上げてみました。
次週も、ソフトウェアテスト、テスト自動化に関するニュースをご紹介したいと思います。
最後まで見て頂き、ありがとうございました。
サイトトップへ
https://susakiworks.com/
スッキリわかるPythonによる機械学習入門 スッキリわかるシリーズ