皆さん、こんにちは。
今週もソフトウェアテスト、テスト自動化に関するニュース記事をご紹介していきたいと思います。
今回は国内ニュース3記事、海外ニュース2記事をご紹介回したいと思います。
■記事内リンク
「国内ニュース」
・JSTQB FL試験対策eラーニング講座を期間限定無料公開
・ベリサーブ アカデミック イニシアティブ2021が開催
・エクセルソフトTestComplete のハンズオン セミナー開催
「海外ニュース」
・ソフトウェアテストでの「影響分析」の定義
・レジリエンステストの重要性
■国内ニュース
□JSTQB FL試験対策eラーニング講座を期間限定無料公開
https://www.qbook.jp/event/20211014_1250.html
こちらは、バルテス社が運営するQbookにおいて、「JSTQB®認定テスト技術者資格 Foundation Level」の試験対策用eラーニングを2021年10月14日~2021年11月30日の期間限定で第1章を無料公開する内容となります。
こちらは以前7月にも期間限定公開された際にご紹介したものと同じ内容と思います。
JSTQBの本年度8月に開催された資格試験の結果は、今週結果発表の連絡が届きました。
私は、ALは落ちていました。
AL、FLを受けられた方はいかがでしたでしょうか。
次回は2022年2月に開催となっています。
そちらに向けた期間限定の無料コンテンツとなります。
詳細は以下となっています。
・講座名: | JSTQB® Foundation Level試験対策講座 |
・期間: | 10/14~11/30まで |
・無料となる講座内容: | 第1章テストの基礎(Qbook会員登録が必要) |
・受講料: | 9,800円(講座内すべてを学習する場合) |
次回のFL試験に向けて学習したい方、JSTQB FLを再学習したい方はQbookのページにアクセスしてみてはいかがでしょうか。
https://www.qbook.jp/event/20211014_1250.html
□ベリサーブ アカデミック イニシアティブ2021が開催
https://veriserve-promo.com/vai2021-entry
こちらはベリサーブ社が「コロナで加速したソフトウェアの未来」をテーマとした無料オンラインカンファレンス「ベリサーブアカデミックイニシアティブ2021」を11/25、11/26の2日間にわたって開催する内容となります。
こちらのカンファレンスは、無料ではありますが2日にわたって内容の濃い講義の他、展示ブースも用意されているとのことです。
申し込みやカンファレンス内容については、以下リンクから確認可能です。
https://veriserve-promo.com/vai2021-entry
アジャイル開発におけるソフトウェアテストの他、AIによる品質、セキュリティに関することなど、様々です。
ご興味のある方は、ベリサーブ社の専用ページにアクセスしてみてはいかがでしょうか。
□エクセルソフトTestComplete のハンズオン セミナー開催
https://prtimes.jp/main/html/rd/p/000000004.000087890.html
こちらは、エクセルソフト社のGUIテスト自動化「TestComplete」のハンズオンセミナーについての内容となります。
◇TestCompleteについて
「TestComplete」は、エクセルソフト社が提供するGUIテスト自動化ツールです。
当ブログでも過去にご紹介させていただきました。
【News】11月2週のニュース(バルテス社セミナー,TestComplete発売,NeedleWorkアップデート 他)
デスクトップアプリケーション、WebブラウザGUI自動テストツールで、操作を記録し、それをもとにテストシナリオコードを設計するといったものとなります。
・UI操作の記録
キーボード、マウス操作で行った内容を自動記録します。
・コードを書かずにテスト作成
コードは、基本的に「キーワード」や用意されたアイコンを並べて作成することができます。
・スクリーンショット自動取得
テスト記録時、最盛時にスクリーンショットを自動登録します。
上記の他、様々な機能が用意されています。
◇ハンズオンセミナーについて
「TestComplete」のハンズオンセミナーの詳細は以下となっています。
・セミナー名: | テスト自動化ツール TestComplete オンライン ハンズオン セミナー |
・日時: | 2021年 10月 20日 (水) 13:15 – 15:30 2021年 11月 17日 (水) 13:15 – 15:30 2021年 12月 15日 (水) 13:15 – 15:30 |
・会場: | オンライン (Web セミナー) |
・参加費: | 無料 |
・定員: | 4名 |
・内容: | TestComplete の基本機能の説明および、サンプル アプリケーションを使用したテスト シナリオの作成、チェックポイントの設定、データドリブンテストの作成 |
・参加方法: | https://www.xlsoft.com/jp/products/seminar/How_to_join_seminar.pdf |
ご興味のある方は、エクセルソフトの専横ページにアクセスしてみてはいかがでしょうか。
https://www.xlsoft.com/jp/products/seminar/smartbear_hands-on.html
■海外ニュース
□ソフトウェアテストでの「影響分析」の定義
https://www.analyticsinsight.net/defining-impact-analysis-in-software-testing/
こちらは「analyticsinsight.net」に掲載されていた内容となります。
ソフトウェアテストでの「影響分析」とタイトルから気になった内容でしたので、ご紹介したいと思います。
◇初めに
開発者がコードに変更を加えるたびに、システムに影響があります。
変更が大きいほど、テストワークフローへの影響が大きくなります。
1つの小さな変更でソフトウェアを改善し、価値のある機能を追加できますが、特定のモジュールに大きな問題が発生します。
変更の結果を考慮しないと、悲惨な結果につながる可能性があります。
そのため、影響分析が必要です。
ソフトウェア開発における効果的な影響分析は、変更を加えたり、製品に新しいモジュールを追加したりする前に、チームが考慮すべきことです。
影響分析は、プロジェクトに変更を加える前でも問題を認識するのに役立ちます。
したがって、QAは、すでにテストされた部分で問題の原因を検索する代わりに、Webユーザビリティテストにより多くの時間を費やすことができます。
◇なぜ影響分析を行うのですか?
影響分析は、コードに変更が加えられる前、バグが修正される前、または新しい機能が追加または削除される前に実行されます。
システムの潜在的な結果を予測するために作成されます。
・変更の考えられる副作用を評価するため。
・変更によって影響を受ける可能性のあるシステムの領域を特定するため。
◇ソフトウェアテストで影響分析を実行する方法
影響分析プロセスの主な手順は次のとおりです。
①チームが集まって、行われる予定の変更に関する情報を取得します。
②開発者とテスターは、変更の影響を受ける高レベルのモジュールを検査します。
③チームは低レベルのモジュールを検査し、影響を評価します。
④チームは、各モジュールのプラスとマイナスの影響を特定します。
⑤すべてのプラスとマイナスの影響が議論されているので、チームはそれらに対処する方法と、それらが受け入れられるか拒否されるかについて考えることができます。
・変更はどのくらい重要ですか?
・それらを実装する必要がありますか?
・副作用を回避できますか?
・それを達成する方法は?
次の影響分析は、QA企業とテスターにとって非常に重要です。
これは、どの領域を最初にテストする必要があり、どのテストケースをより優先する必要があるかを決定するのに役立ちます。
彼らは、変更の影響によって引き起こされたモジュールの問題を見つけるために回帰テストを行います。
影響分析会議とは何かを見てみましょう
◇影響分析会議とは何ですか?
チームは、変更について話し合うために影響分析会議を開催します。
この会議の助けを借りて、ソフトウェアテスターは、本番環境にバグが発生しないように、最初にテストする正確な領域を理解します。
会議中に、チームは製品の影響を受ける可能性のある領域とその理由について話し合います。
たとえば、開発者が製品に新しいモジュールを追加する場合、本番環境でのバグを回避するために、特定のモジュールをチェックするようにテスターに通知する必要があります。
簡単に言うと、開発者が製品に新しいモジュールを追加する場合は、どのモジュールが影響を受ける可能性があるかを事前にテスターに通知する必要があります。
同時に、プロダクトマネージャーは、自分の経験から、変更によって影響を受けると感じていることについて話すこともできます。
したがって、影響分析会議は、関係者全員が、システムのどの機能が変更によって影響を受ける可能性があるかについて話し合うプロセスです。
影響分析の主なアイデアは、変更が製品に与える可能性のある潜在的な影響を明確に把握することです。
開発者とテスターは事前に行動を起こします。
彼らは生産の前にどんな否定的な結果も管理します。
もちろん、影響分析なしでプロジェクトを実行できます。
しかし、それを怠ると、プロジェクト全体が失敗するだけでなく、リリース後に問題を改善するためにチームが行ったり来たりする貴重な時間を失う可能性があります。
つまり、QAスペシャリストの作業プロセスがより効率的になり、変更のたびに問題を探すのではなく、ユーザビリティテストまたはパフォーマンステストに集中できるようになります。
□レジリエンステストの重要性
https://www.softwaretestingnews.co.uk/the-importance-of-resilience-testing/
こちらは、「softwaretestingnews.co.uk」に掲載されていた内容となります。
「レジリエンステスト」は初めて聞いた内容で、興味深かったので、ご紹介したいと思います。
◇レジリエンステストとは何ですか?
「レジリエンステスト」は特定のテストカテゴリであり、そのターゲットは特定の制限条件でのシステムの観察です。
たとえば、コアサービスの1つだけが利用できなくなった場合、どうなるかを常に知っていますか?
そして、それが「コア」サービスではない場合にも同じように起こったとしたらどうでしょうか。
または、何らかの理由でサーバーが切断された場合はどうなりますか?
さらに、データにアクセスしにくい場合はどうなりますか?
これらは企業(開発者、QAエンジニア、システム管理者、ビジネスマン)にとって真の悪夢ですが、何らかの方法でそれらをシミュレートし、プラットフォームがどのように反応するかを観察することで、問題に直面し、それらを補う準備ができます。
◇レジリエンスをテストする方法は?
まず、ビジネスの分析が必要です。
・プラットフォームのコア機能はどれですか?
・それらにはどのような種類のデータが必要ですか?
この情報が明確になったら、復元力テストの計画を開始できます。
さて、この場合、「計画」は特に奇妙な言葉です。
「混乱を計画する」か、少なくともランダムなインシデントの最大数を計画したいからです。
次のステップは、システムを破壊することを目標とするカオスシミュレーションです。
したがって、うまくいけば、本番環境と非常によく似た専用環境で、サーバーのシャットダウンを開始したり、ハッカーの攻撃をシミュレートするために悪意のあるコードをシステムに挿入したり、コアデータを利用できなくなったり、考えていることを何でも実行したりできます。
これらのテストの後、すべてのシミュレーション結果データが収集および分析され、それらに直面する活動が計画されます。
復元力テストとは、「what if」シナリオを調査して、障害が発生した場合にシステム機能にどのような影響があるかを判断することを意味します。
これを行うには多くの異なる方法があります。
Netflixは、顧客に影響を与えることなく一般的なタイプの障害をテストするために本番インスタンスをランダムに無効にするツールであるChaos Monkeyを構築することにより、復元力をテストするための興味深いアプローチを採用しました。
おそらくもっと興味深いのは、エンジニアが問題に対処するために待機している、営業日の間にこのテストを実行する彼らのアプローチです。
これにより、重大な問題を引き起こす可能性のある「what if」シナリオのレッスンを学び、自動回復メカニズムを構築できます。
弱点を特定するためのテストを行うことで、自動スケーリングが構成されていないコンポーネントなど、これらの潜在的な障害ポイントを事前に削除し、修正して、問題や障害が発生する前にサービスに戻すことができます。
他の組織は、非機能要件を使用したより構造化されたアプローチを依然として選択しています。
通常、これには、ソリューション内の潜在的な各障害点をテストして、コンポーネントに障害が発生したときに、そのコンポーネントにルーティングされている要求が同じ機能を実行する代替コンポーネントにリダイレクトされることを検証することが含まれます。
これらのテストには、ソリューションの要素を停止して障害をシミュレートすることが含まれ、次のことを確認するためのシナリオが含まれます。
・代替コンポーネントは、必要なタイムスケール内で必要な量のリクエストを処理できます
・関連する監視/アラートツールは期待どおりに反応します
・障害が発生したコンポーネントをタイムリーにサービスに戻すために、回復アクションを実行できます。
◇レジリエンステストを使用する理由と時期
重要なのは、ソリューションが障害状態でどれだけうまく機能するか、または機能するかどうかを理解することです。
これは、サービス管理チームが、特定のコンポーネントが利用可能でなくてもサービスがどのくらいの期間、どれだけうまく機能できるかを理解するという点で情報に基づいた立場にあることを意味します。
テストはまた、チームが障害から回復するために何をする必要があるかを理解し、そうする能力を証明したことを確認します。
非常に若い組織の非常に単純なプラットフォームの場合は延期できますが、サービスが2つ以上あるアーキテクチャや、ユーザー数が10を超える場合は、「復元力」が本当に必要になります。
◇メリットと課題
レジリエンステストは、プラットフォームに関する深い知識を提供するだけでなく、問題が発生した場合にテスターが迅速なアクションを実行できるようにすることです。
テスト環境では、すべての単体テスト、すべての機能テスト、すべての統合テストは問題なく、「何か」が原因で、防止できなかったランダムなインシデントが発生する可能性があります。
「カオス」を完全に計画することはできませんが、復元力テストは、プラットフォームをより安定して「準備完了」にし、迅速な対応で会社をより効率的にするのに役立ちます。
開発者、QAエンジニア、DevOps、ビジネスマンなどは、混乱をシミュレートする必要があります。
他のすべての種類のテストのように、考えられるシナリオを100%実行することは決してありませんが、試行する必要があります。
消費者の期待がますます高まっている世界では、組織がソフトウェアまたはサービスの問題/障害が最小限の中断を引き起こし、可能な限りエンドユーザーまたは顧客に見えないようにすることが重要です。
多くの組織は、適切なサイズのロードバランサーが2つある場合、なぜテストが必要なのか、復元力が設計に十分に組み込まれているという事実を依然として認識しています。
彼らは、ネットワーク帯域幅やその他のダウンストリームコンポーネントの影響を考慮していません。
レジリエンスを実行する必要性が十分に理解されている組織でも、課題が発生する可能性があります。これは通常、テストがテストチームによって完全に行われる可能性が低いという事実によるものです。
レジリエンステストは、テストをサポートするための代表的な環境と熟練した知識のあるリソースを必要とする重要な作業です。
必要なリソースは、多くの場合、本番プラットフォームの照明を維持するのに忙しいプラットフォームおよびサービス管理チームからのものです。
◇レジリエンステストの未来
組織がソリューション内のリスクの領域と、それらの「whatif」シナリオにどのように対処するかを理解することが重要です。
私たちは人間として、全世界に影響を及ぼしたパンデミックがあったとしても、私たちの生活を続けるために信じられないほどの犠牲を払った時期に直面しました。
今、私たちは、通常の生活に戻るという正確な目標を持って、潜在的に異なる方法で生きる方法を学びましたが、異なる条件で生きることができるという意識を持っています。
私たちは、彼らが予期しない出来事に直面する準備ができ、十分に強くなり、最終的なユーザーがそれらを使い続けることができるように行動しなければなりません。
■最後に
今回は、国内ニュース3記事、海外ニュース2記事を取り上げてみました。
次週も、ソフトウェアテスト、テスト自動化に関するニュースをご紹介したいと思います。
最後まで見て頂き、ありがとうございました。
【この1冊でよくわかる】 ソフトウェアテストの教科書 [増補改訂 第2版]