news20210828_title

【News】8月4週のニュース(シフトレフト,CEDEC AWARDS2021,ZAPTEST,テスト計画の作成)

皆さん、こんにちは。
今週もソフトウェアテスト、テスト自動化に関するニュース記事をご紹介していきたいと思います。
今回は国内ニュース2記事、海外ニュース2記事をご紹介回したいと思います。

■記事内リンク

「国内ニュース」
「シフトレフト」でソフトウェア開発にセキュリティを組み込むべし
龍が如くスタジオ ドラゴンエンジン開発チームCEDEC AWARDS 2021最優秀賞を受賞

「海外ニュース」
「ZAPTEST」Webテストツール/ベストRPAツール第1位
堅実でありながらシンプルなテスト計画の作成

 

■国内ニュース

□「シフトレフト」でソフトウェア開発にセキュリティを組み込むべし

news20210828_01

https://monoist.atmarkit.co.jp/mn/articles/2108/26/news064.html
こちらの記事は、monoist.atmarkit.co.jpに掲載されていた内容となります。
Development(開発チーム)、Operations(運用チーム)を組み合わせたDevOpsでは、「シフトレフト」を取り入れ、セキュリティのを考慮した実装を開発初期から取り入れるべきとの内容となっています。
内容をご紹介したいと思います。

◇シフトレフトについて

シフトレフトとは、これまで後工程で行っていたセキュリティ確認のプロセスを、開発工程の早い段階に組み込む考え方である。
早い段階でセキュリティ上の課題を解決すれば、開発後期の手戻りが低減できるからだ。
製品の高機能化に加えて、IoT活用によるクラウドとの連携、ソフトウェアのアップデート機能など、スタンドアロンでの運用しなくなっている組み込みソフトウェアの開発でも、シフトレフトは強く意識すべき課題となっている。

◇これまでの課題

深刻な脆弱性が見つかった場合、膨大な量のコードを検証し、原因を特定するにはこれまで以上に時間がかかる。
その結果、デプロイが遅延し、プロジェクト全体が大幅に遅れてしまう。
これではビジネス現場のニーズに対応できない。

◇課題を解決するためには

「要件定義(計画)」「コード」「ビルド(設計)」「テスト」といったソフトウェア開発ライフサイクルにおいて、混入する可能性のある脆弱性を“つぶして”いく必要がある。
その“つぶす”作業で重要なのが、「自動化」と「手動」のバランスだ。

・一つ目「自動化」

脅威モデリングやアーキテクチャリスク分析といった重要度の高い作業は人間が担当し、静的アプリケーションセキュリティテスト(SAST)、ソフトウェアコンポジション解析(SCA)、動的アプリケーションセキュリティテスト(DAST)、インタラクティブアプリケーションセキュリティテスト(IAST)といった、既に解析/テストツールが提供されている分野については積極的に自動化すべきだ。

・二つ目「CI/CDパイプライン」

そして、もう1つ留意すべき点は、「CI/CD(Continuous Integration/Continuous Delivery)」のパイプラインを遅延させないことだ。
CI/CDパイプラインとは、継続的インティグレーション/継続的デリバリーを実行するためのグループ化された個別のステップを指す。

◇開発とセキュリティのパイプラインを分離するメリット

シノプシス社が提供する「Intelligent Orchestration」では、CI/CDパイプラインの効率化を実現するセキュリティテスト自動化ワークフローを提供するもので、開発パイプラインからセキュリティテスト専用のパイプラインを切り離し、両者を同時並行で実行できる。

・開発チーム側

対応する脆弱性は、あらかじめ設定したセキュリティポリシーと実際のコード変更、動的に計算されたリスクスコアで優先順位を判断する。
そのため、開発者は重要度の高い脆弱性や欠陥の修正に注力できる。

・セキュリティチーム側

一方、セキュリティチームは、構成可能な基準に基づいてセキュリティゲートや品質ゲートを実装できる。
特定された重大な問題は、脆弱性トラッキングや課題管理ソフトウェアである「JIRA」などに自動的通知される。
これにより、セキュリティ結果の継続的なフィードバックと可視性が開発チームに提供できるわけだ。

「シフトレフト」に関しては、以前海外ニュースで、開発とテストを進行させるモデル例がありましたが、今回はセキュリティに関して掲載されていましたので、ご紹介させていただきました。

 

□龍が如くスタジオ ドラゴンエンジン開発チームCEDEC AWARDS 2021最優秀賞を受賞

news20210828_02
https://www.jiji.com/jc/article?k=000004040.000005397&g=prt
こちらの記事は、CEDEC AWAARDS 2021にて、セガ社の龍が如くスタジオ ドラゴンエンジン開発チームが「エンジニアリング部門」の最優秀賞を受賞した内容となります。
CEDEC AWAARDSでは、コンピューターエンタテインメント開発の進歩へ顕著な構成があった技術にフォーカスし、技術面から開発者の功績を称えるものとなっています。

龍が如くスタジオにおいて、開発現場、ビルドエンジニア、QAエンジニアが連携し、自動化ツールやプロジェクト管理ツールを組み合わせることで統合的なQAシステムを開発されました。
その開発技術やノウハウが多数共有し、技術発展に貢献したことが評価されました。

◇自動プレイテスト

⿓が如くスタジオでは、自動プレイテストと呼ばれる、開発メンバーが終業後の開発環境(PC や開発機)を利用して、QA用に用意されたプレイヤー操作スクリプトが自動的にゲームをプレイし、エラーを検知するシステムを開発されています。
そのテストの結果分析を行うことで、“バグ取り”に関わる作業の自動化を行っています。

⿓が如くスタジオの開発体制下ではこのバグ取りに関わる全23 工程のうち20 工程を自動化しており、QA の自動化・効率化を実現しました。
また、本取り組みについて、昨年のCEDEC2020でも講演しました。
近年のゲーム開発は大規模化の一途をたどっており、開発中の不具合対応をすべて手動で行うことが困難になりつつあるなか、開発効率や品質の向上につなげていくための一事例として、業界でも注目を集めています。

上記「自動プレイテスト」は、過去自動化に関するイベント等で、多方面から取り上げられていました。
独自の開発ツールと思います。

上記自動プレイテストに関する記事は様々なコンテンツで取り上げられていました。
例として、以下のページでも60ページを超えるスライドを確認できます。
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて

ご興味のある方はは見て頂ければと思います。

私も、テスト自動化についてはかじってはいるので、カスタムツールを構築してみたいと考えています。
それにはやはり、スクリプト、コードの知識が必要ですね。
少しずつでも習得していければと考えています。
自動化やスクリプト、コードの記事も、今後掲載していきたいと思います。

 

■海外ニュース

□「ZAPTEST」Webテストツール/ベストRPAツール第1位

news20210828_03
https://www.einnews.com/pr_news/549561569/zaptest-rated-1-best-web-testing-tool-and-best-rpa-tool-of-2021-by-guru99
こちらの記事は、einnews.comに掲載された内容となります。
米国ジョージア州アトランタにあるZAPTEST社が提供する「ZAPTEST」は、ソフトウェアレビュー組織のGuru99から2021年のベストWebテストツール、およびベストRPAツールで1位にランク付けされました。

◇ZAPTESTについて

ZAPTESTは、TESTとRPAに対して、同じスクリプトで実行が可能です。
ZAPTESTでは、UI自動化、ドキュメントの自動生成、複数の環境で一度に自動化することもできます。
過去5年間、ZAPTESTはRPAを含むように拡張され、テスト自動化とRPAを統合するようなコンテンツとなっています。

◇ZAPTEST公式サイト

https://www.zaptest.com/

ZAPTESTの公式サイトにアクセスしてみました。
こちらでは、ZAPTESTの紹介デモ動画の他、コンテンツの特徴が掲載されていました。

・特徴①:ROI試算

中でも面白いと思った機能は、ROIを試算するコンテンツが掲載されていました。
現在のコスト、ZAPTESTを導入した場合のコスト比較が可能となっています。

・特徴②:スクリプト作成UI

スクリプト作成のUIは、直感的にわかりやすい内容となっていました。
以下のような操作でスクリプト設計が可能のようです
1.テスト対象となるページをスキャン
2.テストを行うシナリオとして、各要素に対するアクションをノード、パーツごとにワークスペースにドロップ
3.ID、名称、入力値などを設定
対象プラットフォームは、PCの他、Androidデバイス、iOSデバイスを利用することが可能のようです。

利用料金は特に明示されていませんでしたが、デモは使用することが可能のようです。

ご興味のある方は、ZAPTESTのページにアクセスしてみてはいかがでしょうか。
https://www.zaptest.com/

 

□堅実でありながらシンプルなテスト計画の作成

news20210828_04
https://www.softwaretestingnews.co.uk/developing-a-solid-yet-simple-test-plan/

こちらの記事は、「softwaretestingnews.co.uk」に掲載されていた内容となります。
「テスト計画」について取り上げられていましたので、ご紹介したいと思います。

◇テストプラントは何ですか?

テスト計画は、ソフトウェアプロジェクトのテスト戦略、目的、スケジュール、および成果物の概要を示すドキュメントです。
この青写真のような戦略の目的は、クライアントや投資家に製品を送る前に、製品に問題がないことを確認することです。
これは、開発段階でどのように行われたかについて後で質問が発生した場合に備えて、将来の参照用のドキュメントとしても機能します。

テストプランは、プロセス全体で何が起こるかを概説すると同時に、私たちが常に向かっている方向の概要を示すという両方の目的を果たすため、ガイドブックとして使用できます。

テスト計画が不十分だったため、2016年のタカタエアバッグのリコールは260億ドルと最も高く、最大1,900万台の自動車に影響を及ぼしていることをご存知ですか?

これまでのところ、これは歴史上最も高価な製品のリコールの1つであるだけでなく、ドライバーにとって深刻な危険をもたらします。
その他のリコールには、Vioxx(89億ドル)、フォルクスワーゲン排出量、Bextra(32億ドル)が含まれています。
これらの製品が最初にどれほど成功したかを考えると、リリース前に適切なテストプロトコルに従わなかったか、潜在的な結果を考慮していなかったため、非常に驚​​くかもしれません。

製品の安全性と有効性のテストにますます重点が置かれているため、米国消費者製品安全委員会は2019年に、前年のリストから7%減少した驚異的な214の製品リコールを報告しました。

英国(英国)では、飲食物から車両、医薬品、医療機器、電気製品に至るまでの製品リコールが、productrecall.campaign.gov.ukWebサイトに常に追加されています。すべてが重要であり、すべてではないにしても、生命はリスクレベルを脅かします。

◇ソフトウェアテストの利点

iPhoneは歴史上最も成功した発明です。
10年前に発売されたばかりですが、携帯電話技術に革命をもたらし、私たちのコミュニケーション方法を永遠に変えました。
アップルの製品は、市場で最高の製品の一つです。
彼らの成功は、あなたのニーズが何であれ、あなたがそれらを使うたびに彼らがそうするべきであるように働く、いくらか合理的な価格と素晴らしい機能で、素晴らしい品質によるものです。

ソフトウェアシステムテストは、ビジネスの最適化に不可欠なツールです。
これは、すべてのソフトウェア製品が良好な状態であることを保証するのに役立ち、新しい製品またはサービスを提供する場合に特に重要になる可能性があります。
理由は次のとおりです。

・ソフトウェアシステムテストは、優れた品質の製品と高品質で信頼性の高いソフトウェアを保証します。
これはあなたの会社や組織の市場シェアを引き付ける顧客満足度の向上につながります。

・満足している顧客は、どの店舗でも成功するための重要な鍵です。
特にマーケティング、広告、プロモーションに多額の投資をしている場合は、顧客が製品に満足していなかったために払い戻しを要求すると、イライラする可能性があります。
ソフトウェアまたは製品のテストにより、高品質の製品が消費者のニーズを頻繁に満たすようになり、満足しているクライアントが必ず戻ってきます。

・あなたのクライアントが彼らの製品が信頼できて価格の価値があると思うとき、彼らは彼らを友人に推薦するかもしれません。
これにより、より多くの顧客を獲得し、事業売上高を増やすことができます。

・あなたのソフトウェアは信頼できますか?
製品をリリースする前に製品の安定性をテストするために会社を雇うことは、この絶え間なく変化する技術の世界で非常に重要です。
多くの急速に変化する製品が市場に出回っているため、顧客は長持ちし、定期的に更新されるものを探しています。
品質保証を保証することで、消費者にリリースした後のコストのかかる修正や、消費者が事前に何に取り組んでいるのかを知っているため、顧客満足度の低下を防ぐことができます。

・ユーザーエクスペリエンスを向上させることで、当社の製品を愛する顧客のために、さらに没入型の環境を作成することができます。
これは、不便を引き起こす可能性のあるエラーが完全にないことを意味します。
そのため、リリース前にすべての会社のソフトウェアおよびアプリケーション製品をテストすることで、シームレスなカスタマーエクスペリエンスを提供できます。

しかし、ソフトウェアのテストサイクルに入る前に、計画を立てることが重要です。
これが、今日この記事で強調したいことです。
計画のないソフトウェアテストサイクルは失敗します。

◇テスト計画を立てる方法

テスト計画は、テストの目標、テストする必要があるもの(範囲内)とテストしないもの(範囲外)、調査対象のソフトウェアの種類ごとに異なるアプローチを概説するドキュメントです。
また、プロセスのすべてのステップがどのように行われるかについての基準を設定するのにも役立ちます。
可能であれば、独自のテンプレートを作成するとき、または他のプロジェクトからすでに手元にあるテンプレートを使用するときに、すべての機能がカバーされていることを確認するための最良の方法です。
可能であれば、すべてを個別に調査してから、アプリケーションの方が優れています。

・1.製品分析

テストプランとは何か知っていますか?多くの人はそうしません。
バグをテストする前に、各製品を効率的かつ効果的に徹底的に分析するために時間を費やすことができるように、このドキュメントの重要性と目的を理解することが重要です。

すべての拠点がこれらの文書でカバーされていることを確認するため。誰がプログラムを使用するのか、どのように使用するのかがわからないため、ソフトウェア分析を最初に行う必要があります。
誰も望まないことに貴重なリソースを浪費しているだけです。

事前に必要な調査(エンドユーザーに関する情報の収集など)を完了しないと、密接に関連しているが類似していない他のプログラムと混同される可能性があり、実際のテスト中に予想されるよりも多くのエラーが発生する可能性があります。

・2.範囲

テストを実行する前に、テストの範囲とタイプを定義する必要があります。
これを行うには、プロジェクトを分析し、テストするコンポーネントを特定してから、その領域の一般的な分析と詳細な分析のどちらが必要かを判断します。
目標は常に同じです。
コードの欠陥を見つけて修正し、将来の使用に備えてより安定させることができます。

・3.テスト活動とスケジュール

テストの範囲とタイプは、計画されたスケジュール内のすべてのタスクを特定するのに役立ちます。
これらのそれぞれを特定して、誰がいつ終了する必要があるか、およびそのタスクが他のタスクと比較してどのくらいの時間を要したかについての詳細なチェックリストを取得します。
このように、誰もが何も予定されていないのに不思議に思ったり待ったりすることはありません.

・4.テスト戦略を実施しているか

戦略的計画を持つことの重要性は誇張することはできません。テスト戦略は、プロジェクトの目的と範囲に合わせて成功率を最大化し、問題が大きくなりすぎる前に問題を特定できるようにする必要があります。

優れたテスト戦略は、プロセス中の不必要な混乱を回避するのにも役立ちます。これにより、他の部分や目的が危険にさらされる可能性があり、テスターが特定の時間枠ごとに最も重要なことに集中することが困難になります。

テストチームのメンバーに、途中で重要なポイントを見逃すことなく自分の役割を実行するための最善の方法を知ってもらいたい場合は、この知識を紙に変換することが不可欠です。したがって、これらの要素を計画に含めるようにしてください。

・5.テスト基準を定義

プロジェクトを成功させるには、テスト基準を生成してテスト計画に配置する必要があります。
優れた一連のガイドラインには、テストが必要なものと、許容できると見なされるさまざまなレベルの品質が含まれている必要があります。

このレベルは、ソフトウェアプロジェクトの各コンポーネントが、合格率に関してその説明または要件を満たすことがどれほど重要であるかに基づいています。
これらが満たされない場合、これは重大な欠陥が存在することを意味し、打ち上げ時に重大な問題を引き起こす可能性があります。

今すぐ注意を払うことで、開発フェーズに進む前、またはリリース日の準備をする前に、考えられるすべての問題が解決されていることを確認できます。
これは、テスターがよく知っていることです。

・6.テスト結果またはテスト終了レポート

テスト計画を成功させるには、その結果を詳細に記述することが不可欠です。
これにより、最終承認前に行われた変更が文書化され、すべての関係者がシームレスなシステム起動のために何をしなければならないかを確実に理解できるようになります。

このセクションには、テストの概要と、チームの各スタッフまたはメンバーからの責任が明確に示されているアクションプランを含める必要があります。
これにより、開発プロセスのこのフェーズの完了後に機能を修正する必要がある場合に、誰が行動する必要があるかについて混乱が生じません。

◇結論として

品質保証と顧客満足を提供するため、製品を一般に公開する前にテストすることが不可欠であることは間違いありません。

製品テストには、ビジネスの成功を確実にする明確なプロセスが必要です。
つまり、これらのいずれかが必要です。

高レベルまたは低レベルのテスト計画は、ニーズに応じて役立つ場合があります。

製品テストは必要悪ですが、面倒である必要はありません。
実用的な戦略を作成することで、今後の製品開発をより簡単かつ効率的にすることができます。

テスト計画についてまとめられており、学ぶところもありましたので、ご紹介させていただきました。

■最後に

今回は、国内ニュース2記事、海外ニュース2記事を取り上げてみました。
次週も、ソフトウェアテスト、テスト自動化に関するニュースをご紹介したいと思います。

最後まで見て頂き、ありがとうございました。

DevOps教科書
DevOps教科書

詳細はコチラをクリック!

いちばんやさしいアジャイル開発の教本 人気講師が教えるDXを支える開発手法 「いちばんやさしい教本」シリーズ
いちばんやさしいアジャイル開発の教本 人気講師が教えるDXを支える開発手法 「いちばんやさしい教本」シリーズ

詳細はコチラをクリック!

この記事が気に入ったら
いいね ! しよう

Twitter で
news20210828_title
最新情報をチェックしよう!