皆さん、こんにちは。
今週もソフトウェアテスト、テスト自動化に関するニュース記事をご紹介していきたいと思います。
今回は国内ニュース3記事、海外ニュース2記事をご紹介回したいと思います。
■記事内目次
「国内ニュース」
・バルテス社「要求分析」に関する無料セミナー開催のお知らせ
・アドックインターナショナル社、AI探索型モデルベーステストの検証サービス開始
・ウーブン・アルファ社、GitHubを活用したソフトウェア開発事例を紹介
「海外ニュース」
・ソフトウェアテストに「MARIE KONDO」アプローチを採用する方法
・テスト自動化をCIパイプラインに合理化するための5つのヒント
■国内ニュース
□バルテス社「要求分析」に関する無料セミナー開催のお知らせ
https://prtimes.jp/main/html/rd/p/000000059.000030691.html
バルテス社が株式会社レヴィ社と合同で、「宇宙開発の方法論から学ぶ「要求分析」のモデリング講座」を開始するニュースとなります。
株式会社レヴィ社は、JAXA宇宙科学研究所で研究されていた方たち創業したベンチャー企業とのことです。
今回のセミナーでは、レヴィ社の宇宙開発で培われてきたシステム工学の方法論から導きだされた要求分析のフレームワークについて、ご紹介されるとのことです。
またバルテス社は、テストの要求分析、テストアプローチ、テストマネジメントに関する内容を解説されるとのことです。
セミナーの詳細、申込は以下ページから行えます。
https://www.qbook.jp/event/20210225_1100.html
・開催日:2021/2/25(木)13:00~15:00(Webセミナー)
・参加費:無料(事前登録)
・定員:100名
ご都合のいい方、ご興味のある方は、参加されてみてはいかがでしょうか。
□アドックインターナショナル社、AI探索型モデルベーステストの検証サービス開始
https://www.dreamnews.jp/press/0000230565/
こちらのニュース記事は、アドックインターナショナル社が、2/2より国内初のAI探索的テスト自動サービス「ADOC Testing Service」を開始したニュースとなります。
こちらは、以前以下1月のソフトウェアテスト/テスト自動化のニュースにて、ご紹介させていただきました。
https://susakiworks.com/2021/01/16/news20210110_20210116/
前回は、AI技術による探索的テスト自動化サービスについてのニュースとなり、今回はAIによる探索型モデルベーステストの効果検証サービスについての内容となります。
今回のサービスでは、4つのステップで成り立っているとのことです。
・ステップ1:現状のヒアリング、検証スコープの確定
・ステップ2:テスト自動化モデルの設計
・ステップ3:テスト作業の実行
・ステップ4:効果検証報告の実施
アウトプットとしては、モデル図、自動テストでも動画、QCD改善イメージ資料などが該当するようです。
今回のモデルベーステストの検証サービスでは、DX事態の開発環境や、DevOps、アジャイル開発による短納期向けであったり、コロナ禍によるリモートアクセスにも対応しているとのことで、これからの時代に沿ったサービスモデルとなっているようです。
ADOC Testing Serviceの料金や、資料については、ADOC社ページからお問い合わせとのことです。
https://adoc-teslab.com/
ご興味のある方は、アクセスしてみては、いかがでしょうか。
□ウーブン・アルファ社、GitHubを活用したソフトウェア開発事例を紹介
https://cloud.watch.impress.co.jp/docs/news/1304444.html
こちらのニュース記事は、トヨタ自動車傘下のウーブン・アルファ社がGitHubを活用したソフトウェア開発事例の紹介となります。
この開発事例については、ギットハブ・ジャパン合同会社が1月末にオンラインイベント「Best of GitHub Universe Live」で紹介された内容とのことです。
ウーブン・アルファ社は、上記イベントで、車両ソフトウェア開発プラットフォーム「Arene」におけるCI/CDワークフローシステム、GitHub Advanced Securityコードスキャニングの利用を紹介された内容となります。
「Arene」はウーブン・アルファ社が開発しているオープンな車両ソフトウェア開発プラットフォームで、最新のSDK、ビルディングブロックを備えているとのことです。
「Arene」では、GitHub Advanced Securityを使用して、コードスキャンの静的解析を行い、セキュリティ脆弱性の発見や、用意されたルールの他、「CodeQL」というクエリー言語で、独自のルールを記述することもできるとのことです。
GitHubのインターフェース統合、IDEとの統合、カスタムルールの設定についてなども述べられています。
また、自動車ソフトウェアには、自動車の機能安全に関するISO26262規格や、自動車のサイバーセキュリティに関するISO21434といった規格があり、これらの規格を遵守するためのコーディングルールをセットに、「AUTOSOSAR C++14」「SEI CERT C++134」などがあります。
ウーブン・アルファ社では、GitHubと協力し、このルールセットからCodeQLのルールを作成し、コードスキャンをかけたとのこと。
専門的な内容が多く、記事の後半は理解が追い付きませんでした。。
オンラインイベント「Best of GitHub Universe Live」では、以下のページで視聴が可能となっています。
こちらでは、GitHubの日本の方が解説されています。
https://resources.github.com/webcasts/jp-Universe-Live-thankyou/
こちらの動画では、「Best of GitHub Universe Live」でいくつかピックアップされたものとなっています。
全ての動画コンテンツは、Youtubeに上がっているとのことで、こちらでも確認できます。
https://www.youtube.com/results?search_query=GitHub+Universe
興味のある方は、視聴されてみてはいかがでしょうか。
■海外ニュース
□ソフトウェアテストに「MARIE KONDO」アプローチを採用する方法
https://builtin.com/software-engineering-perspectives/organize-E2E-tests
こちらのニュース記事は、「builtin.com」に掲載されていたもので、今回は日本の「近藤麻理恵」氏の「こんまり」メソッド(片付けに関する内容)が取り上げられています。
「こんまり」メソッドでは、「カテゴリごとに物事を整理する」「喜びを引き起こさないものを取り除く」2つのことが強調されています。
こちらの記事を書いているエリック・フォッグ氏は、この「このまり」メソッドのアプローチをソフトウェアテストに適用する内容を記載されていました。
◇KONOMARIアプローチをソフトウェアテストに適用する
(記事内容を簡潔にまとめています。)
KonMariアプローチの一部には、保持することを選択したものを適切に分類することも含まれます。
すべての単体テスト、統合テスト、APIテストをグループ化することによって、テストスイートをサイロ化(独立した状態)することは非常に一般的です。
これにより、実行に長い時間がかかる可能性のある単一のテストスイートではなく、はるか機敏なテストアプローチが可能になります。
代わりに、テストスイートをさまざまな領域に焦点を当てたグループに分割することを検討してください。
たとえば、eコマースサイトでのチェックアウトに関するすべてのテストや、ユーザーエンゲージメントに関連するすべてのテストです。
これらのテストグループは、必要に応じてソフトウェア開発ライフサイクルのさまざまな段階で実行できます。
下位レベルのテストはすべてのビルドで実行できますが、エンドツーエンドのテストはソフトウェアがデプロイされる前にのみ実行できます。
これにより、開発者は大規模なテストスイートの実行を待つ必要がなくなるため、開発中のテストのペースが速くなるだけでなく、テストの煩雑さを軽減するのにも役立ちます。
テスターは、価値があり関連性のあるものだけをテストすることで、テスト結果をふるいにかけて関連性のある部分を見つける時間を短縮できます。
◇抵抗があるかもしれません
チームに不要なテストを削除するよう説得するのは非常に難しい場合があります。
テストの中には、「多すぎる」テストなどはないという認識が追加されてい ます。
ただし、ソフトウェアテストは、生産性を犠牲にすることなくプロジェクトに価値を提供することの間で競争する必要があります。
大規模なテストスイートは、実行に時間がかかる場合があり、保守にさらに長い時間がかかる場合があります。
このソフトウェアは絶えず進化しているため、これらの変更には、各テストの価値を繰り返す必要があります。
そうでない場合は、これらの不要なテストを削減することで、テストスイートの実行時間とテストのメンテナンス時間を短縮できるという追加の利点があります。
KonMariアプローチをソフトウェアテストに適用することにより、テストプロセスを合理化できます。
これにより、テストスイートの保守が容易になり、コストが大幅に削減されるだけでなく、テストスイートから意味のある品質保証値を削除することなく、実行にかかる時間が短縮されます。
KonMariのアプローチは、組織化と簡素化を強調しています。
これは、ソフトウェア会社がテストに取り組む方法を根本的に変える可能性のある2つの概念です。
「こんまり」メソッドをソフトウェアテストに適用するといった斬新な記事内容でしたので、ご紹介させていただきました。
□テスト自動化をCIパイプラインに合理化するための5つのヒント
https://techbeacon.com/app-dev-testing/5-tips-streamlining-test-automations-ci-pipelines
こちらのニュース記事は、「techbeacon.com」に掲載されてた内容となります。
CIパイプラインとは、「継続的インテグレーション」(CI)で効率化を図ると私は認識しました。
こちらのニュース記事では、テスト自動化を合理化し、継続的に効率よく行う取り組み案がピックアップされています。
1.効果的なトリガーメカニズムを確立する
テスト自動化を開始する簡単は方法(トリガー)が必要です。
APIを介したテスト自動化およびCI用のツールを選択します。
APIを介すことで、自動テストをトリガーするための特別なプラグインや複雑なメカニズムが不要になります。
APIを使用すると、自動テストが可能になり、自動テストが終了するとCIツールで必要なプロセスを開始したり、テスト自動化の実行中に他の必要なCI機能をトリガーしたりできます。
2.通信チャンネルを確立する
テスト自動化には、特にテスト結果とテストステータスの更新を介して、CIツールと情報を送受信する手段があることの確認が必要です。
CIツールプロセスには、これらの結果とステータスが必要です。
通信メカニズムは、自動化の直接応答から、CIツールからアクセスできる自動化結果リポジトリのテストまでさまざまです。
CIツールと自動化ツールの両方の間で情報を自動的に交換することを目的とする必要があります。
自動テストの実行期間によって、結果と応答が返送されるかどうかが決まります。
実行が長く続かない場合、テスト自動化は結果をすぐに応答としてCIツールコマンドに送り返すことができます。
同様に、テスト自動化ツールは、上記と同じメカニズムを使用して、CIツールからのデータとパラメーターの受信をサポートする必要があります。
送信されるデータとパラメーターにより、必要に応じてさまざまなバリエーションのテストを実行する柔軟なテスト自動化が可能になります。
3.テスト結果への応答を自動化する
CIとテスト自動化ツール間の通信を有効にし、CIツールは、テスト結果への応答を自動化する必要があります。
これは、以前は手動によるタスクとなっていました。
また、テストチームは、期待されるテスト結果を受け取った後、パイプラインの出力に対する自動応答を定義する必要があります。
・結果に欠陥が含まれていない場合は、パイプラインフローを続行します
・望ましくない結果が発生した場合は、指定された所有者を停止、ロールバック、分析、または通知します
CIツールは関連するテスト結果のアクションを管理、またはテスト結果に基づいてアクションを実行する人に通知する必要があります。
4.自動化ピラミッドに固執する
・ピラミッドの基盤
自動化ピラミッドに従うことで、ユニットおよびコードレベルのテストを幅広くテスト自動化できます。
これらは最速で最も安いです。
・ピラミッドの中間層
次に、サービス層とAPI層の自動化のテストカバレッジを少し狭くします。
これらはまだ迅速で費用効果が高いです。
・ピラミッドの上部
最後に、最も重要なフロントエンドとUIの自動化のみが遅く、複雑になるため、これらの範囲はかなり狭くなります。
CIプロセスの自動化されたフローから手動テストを除外します。
これを行うと、自動テストがトリガーされたときにできるだけ速く実行され、CIパイプラインの速度が低下することはありません。
また、CIパイプラインの作成、保守、統合がより迅速かつ簡単になります。
これにより、チームメンバーが任意のテストリソースにアクセスできるようにすることが重要になります。
5.自動テストをチーム全体と共有する
・ファイルアクセスの一元化管理
チームは、自動テストを作成、更新、および呼び出すために一元化された場所を必要とします。
アクセスと作業能力は、パイプラインでこれらのテストの高速で摩擦のない流れを維持するために不可欠です。
テスト自動化を一元化することで、開発者、テストスペシャリスト、およびその他のチームメンバーが協力して、テスト自動化を作成および維持できます。
作成、アップロード、更新、バージョン管理、追跡、保守などのタスクでは、自動化されたテストに簡単にアクセスできる必要があります。
自動化ツールと自動化リポジトリにアクセスして、すべてのチームメンバーがそれらにアクセスし、複雑なプロセス、ツール、またはブロックを必要とせずに現在のバージョンで作業できるようにする必要があります。
このニュース記事では、テスト自動化の取り組み、効率化にフォーカスをあてた内容となっていました。
開発者よりの内容も含まれていましたが、テスト自動化を行うにあたって、プログラミングの知識、開発環境等は知っておくべきだと私は思います。
私も自動化に関する取り組みは半年程度ですので、国内問わず、海外の情報も参考にして、これからも積極的に取り組んでいきたいと思いっています。
■最後に
今回は、国内ニュース3記事、海外ニュース2記事を取り上げてみました。
次週も、ソフトウェアテスト、テスト自動化に関するニュースをご紹介したいと思います。
最後まで読んで頂き、ありがとうございました。
サイトトップへ
https://susakiworks.com/