皆さん、こんにちは。
今週もソフトウェアテスト、テスト自動化に関するニュース記事をご紹介していきたいと思います。
今回は国内ニュース2記事、海外ニュース2記事をご紹介回したいと思います。
■記事内リンク
「国内ニュース」
・ユービーセキュア社「komabato」を提供開始
・Autify、株式会社medibaのE2Eテスト自動化サポートを開始
「海外ニュース」
・AIがソフトウェアテストをどのように形作るか
・2021年のソフトウェアテストの様子:3つの重要な要素
■国内ニュース
□ユービーセキュア社「komabato」を提供開始
https://prtimes.jp/main/html/rd/p/000000010.000060051.html
こちらの記事は、ユービーセキュア社がセキュリティ脆弱性を検査できるセキュリティスティングツール「Komabato」のサービス提供を開始する内容となります。
従来、または一般的なソフトウェア開発では、開発を「要件定義」→「設計」→「実装」→「単体テスト」→「結合テスト」→「総合テスト」といった工程を一通り行った後、セキュリティ診断を行い、セキュリティを担保します。
「Komabato」は、診断ではなく、「セキュリティテスト」として開発プロセスの中に組みこむことができるとのことです。
「Komabato」の主な機能・特徴は以下とのことです。
◇1.URL単位でこまめにセキュリティテストが可能
・WebベースシステムのURLを個別に管理し、URL単位でセキュリティテストが可能
◇2.脆弱性の検出だけでなく、判断・修正までをトータルで支援
・検出した脆弱性はバグと同様に、修正までをタスクとして管理する機能を実現
◇3.サーバー環境構築不要
・「Komabato」はSaaS形式で提供するため、サーバーやPCでの実行環境の構築が不要
◇4.セキュリティ対応力を高めるナレッジ共有機能
・セキュリティテストの実施だけでなく、他メンバーの作業記録もお互いに閲覧可能
利用料金については、2週間無料トライアルと、1チーム(1システム)あたりベーシックプランで月額49,800円(税抜き)とのことです。
ご興味のある方は、「Komabato」の公式ページにアクセスしてみてはいかがでしょうか。
https://www.ubsecure.jp/komabato
□Autify、株式会社medibaのE2Eテスト自動化サポートを開始
https://prtimes.jp/main/html/rd/p/000000025.000049466.html
こちらの記事は、mediba社において「Autify」が導入された内容となります。
mediba社のメディア事業では、アジャイル開発でサイクルを早めるため、テスト自動化は不可欠となっていたようです。
また、モバイル端末がメインサービスであるため、複数の端末でのテストを行う場合、手動でのテストでは、時間とコストがかかってしまう課題がありました。
「Autify」を導入されたことで、エンジニア以外でもテスト自動化が可能、定期的なリグレッションテストの他、複数端末のテストをブラウザ上で同時に行うことが可能となりました。
「Autify」の企業導入については、過去に当ブログでもご紹介させていただきましたが、モバイルをメインサービスに行われている導入事例は今回が初めてではないかと思います。
Autifyの公式ページにアクセスしたところ、mobileβ版ページが更新されており、xcode版でのアプリでも対象となっているようです。
レコーディングによるテストシナリオの作成、API実行確認、端末固有操作(シェイク、バックグラウンド、フォアグラウンド切り替えなど)が特徴ですね
Autify mobileβについて、ご興味のある方は、以下公式サイトにアクセスしてみては、いかがでしょうか。
https://autify.com/ja/mobile
■海外ニュース
□AIがソフトウェアテストをどのように形作るか
https://www.dev-insider.de/wie-ki-das-software-testing-praegt-a-1059431/
こちらの記事は、「DEV INSIDER」というサイトに掲載されていた内容となります。
記事内容が興味深かったので、ご紹介したいと思います。
◇AIアルゴリズム
AIアルゴリズムは、ソフトウェアシステムを評価して、以前はリソースを大量に消費していたスクリプトを自動的に作成します。
次に、結果を分析してエラーを予測し、スクリプトを調整してテストカバレッジを改善します。
これは、わずか10年前のテスト環境からの大きな変化です。
当時、ソフトウェアテストは、コードが機能することを確認するために設計されたコンプライアンス対策と見なされていました。
パンデミックの結果としてデジタルテクノロジーへの急速な移行に伴い、すべての企業がデジタル変革のペースを加速しています。
検出されないエラーはシステム障害につながる可能性があり、クラウドプラットフォームの設定ミスはデータギャップまたはデータ損失につながる可能性があるため、ソフトウェアの品質は非常に重要です。
ソフトウェアエラーは開発コストを大幅に増加させます。
また、アプリが公開されると、そのアプリを見つけて修正するためのコストは、設計および開発段階よりも大幅に高くなります。
これは簡単な作業とはほど遠いものであり、従来の手動によるテストアプローチでは対応できなくなります。
その結果、企業は、ソフトウェアとアプリケーションの品質がユーザーの期待に応えることを保証するために、テスト自動化に新しいインテリジェントなアプローチを採用する必要があります。
◇AIメソッド
AI、機械学習、ディープラーニング、分析は、真のテスト自動化の触媒として機能します。
テストの実行を推奨し、継続的に学習し、ビジネスへの影響をインテリジェントに予測し、開発チームが問題が発生する前に修正できるようにします。
1.インテリジェントな自動化
ユーザーの視点からデジタルアプリケーションまたはソフトウェアを実際にテストする唯一の方法は、インテリジェントな自動化エンジンを使用することです。
システムは、ユーザーと同じようにアプリケーションにアクセスします。
マシンを制御し、実際にアプリを使用してワークフローを実行し、その過程でインテリジェントな分析を収集します。
このための前提条件は、画像、記号、テキストなどの画面情報を人間とまったく同じように理解するテクノロジーです。
通常、テスト自動化は、ソフトウェアがリリースされるたびに同じテストスクリプトを実行します。
ただし、これらのアプローチでは、侵入した新しいバグをインテリジェントに検出することはできません。
また、システムの弱点を積極的に見つけられず、ユーザーの観点から何をテストする必要があるかを認識できません。
2.テストカバレッジのインテリジェントな生成とトラブルシューティング
複雑なアプリには潜在的に無限のパスがあります。
では、自動化はどちらに従うべきでしょうか?
AIトラブルシューティングアルゴリズムがこれらのパスを探索するとき、データの相関関係から学習を続けてカバレッジを改善し、開発者が根本原因を特定してエラーを修正するのを支援します。
AIと分析は、トラブルシューティングとカバレッジアルゴリズムの組み合わせにより、カバレッジと生産性を飛躍的に向上させます。
AIアルゴリズムは、このトラブルシューティングモデルから自動的に生成されるユーザージャーニーに基づいて、アプリケーションのエラーを検索します。
このアルゴリズムは、論理的思考、問題解決、機械学習の適用を通じて人間の行動を模倣します。
人間のユーザーの行動を反映する自動テストルーチンを実行します。
AIは、UIエラー、バグ、パフォーマンスの問題を探し、ユーザーエクスペリエンスに影響を与える前にそれらを自動的に修正します。
自動化は、潜在的な各ユーザージャーニーを調査し、パフォーマンスに影響を与える可能性のあるボトルネックを予測および特定することで、カバレッジを向上させます。
非インスタンスベースの学習アルゴリズムは、必要な学習曲線を短縮し、アジャイルおよびDevOps環境に不可欠な迅速な結果を提供します。
AIを利用したテストを使用することで、企業は高品質のソフトウェアのリリースを加速できます。
これは大きなメリットです。
インテリジェントな自動化のもう1つの利点は、使いやすいことです。
これにより、テストを実行および管理するためにプログラミングスキルを持つ技術スタッフを使用する必要がなくなります。
3.継続的テスト、継続的学習、および将来を見据えた傾向
デジタルアプリケーションのテストは一度限りのことではありません。
デジタルエクスペリエンスを長期にわたって監視できるように、これは継続的なプロセスである必要があります。
AIアルゴリズムは、テスト結果を継続的に監視、学習、傾向分析することができます。
次に、学習アルゴリズムは、予測分析を可能にする決定木を作成し、たとえば、特定のワークフローでの遅延の増加が、経験に基づいてシステム障害につながるかどうかを認識できます。
この情報を使用すると、潜在的な問題が深刻になり、顧客のダウンタイムが発生する前に、それらにプロアクティブに対処できます。
◇最後に
AIは、チームがDevOpsのペースに追いつき、より高品質のソフトウェアとアプリを作成できるようにするため、ソフトウェアテストの親友です。
これは、顧客のコンバージョン、顧客の忠誠心、そして最終的には売上の創出にプラスの効果をもたらします。
□2021年のソフトウェアテストの様子:3つの重要な要素
https://techbeacon.com/app-dev-testing/what-software-testing-looks-2021-3-key-elements
こちらの記事は、「techbeacon.com」に掲載されていた内容となります。
本年のソフトウェアテストについて述べられており、興味深かったので、ご紹介させていただきます。
◇1.技術の進歩とプライバシーの懸念
・それが現代のテストをどのように形作るか
2021年のテストの最初の重要な要素は、テスターが2つの技術的な両極端の間に挟まれているという認識です。
AIとデータプライバシーの両方の重要性が増しているという事実は、同時に逆説を示しています。
テスターは、テストスキルをアルゴリズムに変えるよう圧力をかけられていますが、適切に適用されていないため、これらのアルゴリズムが失敗することもわかります。
テスターは、品質基準を満たすために作業する代わりに、次のスプリント期限を満たすために必要なことは何でもしなければならないことがよくあります。
期限は重要ですが、期限を守ることで製品の品質が損なわれることはありません
・テスターができること
このパラドックスを乗り越えるには、テスターは戦略的で責任を持ってテストする必要があります。
テスターはAIやその他の自動化テクノロジーから大きな恩恵を受けることができますが、AIの出力に盲目的に依存するべきではありません。
AIに依存するだけでなく、AIの出力を注意深く見ることは、テスターが自分自身と自分たちが作成した製品の両方について学ぶ機会を提供します。
これにより、実行中のテストについて、また実際に品質基準を満たしているかどうかについて、より批判的に考えることができます。
◇2.テスターは声の擁護者および批評家でなければなりません
・それが現代のテストをどのように形作るか
最新のテストのもう1つの重要な要素は、テスターが組織でのテストを熱心に主張しなければならないことです。
これは、テスターの役割が前年度から大きく変化したことですが、次の期限を常に守ろうとしている組織内での十分なアプリケーションテストの必須部分でもあります。
多くのテスターは、自分の作業を、自分の製品が機能することを示すアルゴリズムに変換するように指示されることがよくあります。
彼らは、ユーザーがアプリケーションにどのように関与して起こりうる問題に焦点を合わせるかを理解することによって、製品を批判的に見る必要があります。
そうすることによってのみ、テスターは製品とその品質基準との関係をマッピングすることによって戦略的にテストすることができます。
テスターは、開発チームの目標に関連する仮定を取り除くことで、適切なテスト戦略を作成できます。
・テスターができること
製品のリスクの分析レポートから地図やその他の視覚的支援まで、これらのアドボカシーストーリーをより説得力のあるものにする方法はたくさんあります。
あなたがあなたの製品について不平を言っているソーシャルメディア上のユーザーを見つけることができるならば、それはあなたの主張をするために経営者にも示されるべきです。
◇3.代替ではなく、サポートの手段としてのテストツール
・それが現代のテストをどのように形作るか
2021年のテストの最後の重要な要素は、正しい考え方でツールにアプローチすることです。
ツールはテスターの目的を満たす必要があり、その逆ではありません。
自動テストツールは、テスターの生産性を高めるのに最適です。
ツールは、テスターがタスクをより迅速に実行し、テスターに敏捷性を与えるのに役立ちます。
テストプラットフォームは、統合からデバイス、包括的なレポートまで、テスターが必要とするすべてのものを1か所で提供するのにも役立ちます。
しかし、ツールはテスターの代わりと見なされるべきではありません。
むしろ、ツールはさまざまなテスト目標をサポートするための優れたリソースです。
・テスターができること
ツールをより有効に活用するために、テスターは、技術スタックがテストのストーリーを伝えるのにどのように役立つかを検討する必要があります。
チームは、テストツールがチームをどのように支援しているかを正確に理解し、それを全体的なテスト戦略に組み込む必要があります。
また、使用している各ツールの制限を理解する必要があります。
ツールを使用すると、テスターの製品エクスペリエンスが歪むため、制限を認識することで、テスターを可能な限り客観的に保つことができます。
さらに、これにより、テスターは、プラットフォームが実際にサポートしていないものをテストするためにツールを使用することを回避できます。
◇まとめ
2021年にテストを達成するには、多くの作業が必要です。
テスターとして、コースから外れる恐れのある複数の方向に引っ張られながら、自分の目標に集中し続ける必要があります。
これらの障害を乗り越えるには、引き続き批判的に考え、熱心に主張し、エンドユーザーの視点から製品を分析し、目的の達成に役立つ適切なツールを選択します。
テスターとして向上するだけでなく、今年の残りの期間とそれ以降のより良いテストを達成するために、これらのスキルを磨く必要があります。
■最後に
今回は、国内ニュース2記事、海外ニュース2記事を取り上げてみました。
次週も、ソフトウェアテスト、テスト自動化に関するニュースをご紹介したいと思います。
最後まで見て頂き、ありがとうございました。
教養としてのAI講義 ビジネスパーソンも知っておくべき「人工知能」の基礎知識