皆さん、こんにちは。
今週もソフトウェアテスト、テスト自動化に関するニュース記事をご紹介していきたいと思います。
今回ご紹介する内容は以下となります。
■目次リンク
ソフトウェアテストプロジェクトを管理するための6つの課題とそれらを解決する方法
□バルテス「Japan IT Week 名古屋」出展
https://www.jiji.com/jc/article?k=000000159.000030691&g=prt
こちらは、バルテス社が2022/7/27(水)~29(金)にポートメッセなごやで開催される「Japan IT Week 名古屋」に出展する内容となります。
こちらはオンライン開催ではなく、現地での開催イベントとなります。
◇Japan IT Week 名古屋について
イベント概要は以下となっています。
名称 | 第2回 Japan IT Week 名古屋 |
日時 | 2022/7/27(水)~7/29(金)10:00~17:00 |
会場 | ポートメッセなごや |
お申し込み方法(招待券) | https://www.japan-it-nagoya.jp/ja-jp/about/ist.html (招待券お持ちの方は無料、お持ちでない方は入場5,000円) |
「Japan IT Week 名古屋」では、主に以下のIT出展で構成されており、今回バルテス社は「情報セキュリティEXPO」に出展することとなっています。
・ソフトウェア&アプリ開発展
・セールス自動化・CRM EXPO
・組込み/エッジコンピューティング展
・情報セキュリティEXPO
・WebデジタルマーケティングEXPO
・クラウド業務改善EXPO
・IoT&5Gソリューション展
・次世代EC&店舗EXPO
・AI・業務自動化展
・在宅・リモートワーク支援EXPO
また、情報セキュリティEXPO内でも、様々なカテゴリでの出展があるようです。
・サイバー攻撃、不正侵入、ウィルス対策製品
・情報漏洩・内部不正アクセス対策製品
・IT資産管理製品
・詐称・改ざん・登頂対策製品
・インテグレーション/コンサルティング/監査サービス
・物理的セキュリティ など
◇バルテス社ブースについて
バルテス社が出展されるブース、内容については以下となります。
・ホール名 | ポートメッセなごや第3展示館 |
・小間番号 | 4-30 |
・展示内容 | 品質管理支援、受け入れテスト支援、セキュリティテスト支援、品質教育支援など |
バルテスをはじめ、色々な企業が展示予定となっていますね。
ご興味のある方は、以下Japan EXPO 名古屋の更新サイトにアクセスしてみてはいかがでしょうか。
https://www.japan-it-nagoya.jp/ja-jp.html
□ソフトウェアテストプロジェクトを管理するための6つの課題とそれらを解決する方法
こちらは、「forbes.com」に掲載されていた内容となります。
品質保証(QA)プロジェクト管理についての課題、またそれを軽減する手法について記載されていましたので、ご紹介したいと思います。
◇初めに
成功したマネージャーは、チームがベストプラクティスに従うように指導し、常に才能に投資して成長を支援、対立を専門的に調停して共通点を探し、健全な職場を維持します。
優れた管理がビジネスにプラスの影響を与えるため、プロジェクトマネージャー(PM)の世界的な需要は、プロジェクト管理ソフトウェア市場の規模とともに、今後5年間でのみ増加します。
ただし、品質保証(QA)プロジェクトの管理は、特に大規模なチームがさまざまな場所やタイムゾーンで作業している場合は困難です。
この記事では、最も一般的なプロセスの課題に焦点を当て、それらを軽減するための手法を提供します。
◇課題1:分散QAチームのコミュニケーションが不足している
優れたマネージャーは、QAチームおよびプロジェクトチーム内での効果的なコラボレーションの確保に貢献します。
また、開発者に発生する問題を解決し、範囲、期限、優先順位、およびコストについて利害関係者と交渉するのにも役立ちます。
分散テストチームでは、コラボレーションを管理し、QAチームとプロジェクトチーム間の効率的なコミュニケーションを確保することが困難になります。
QAエンジニアはまた、同じページにとどまることが難しく、現在の議題とチーム全体の責任について漠然とした考えを持っている可能性があります。
・課題の解決方法
これを解決する方法は次のとおりです。
マネージャーは、タイムゾーンを考慮してスタンドアップミーティングを計画、マイルストーンを視覚化し、透明性を高める必要があります。
もう1つの効果的な方法は、同期(瞬間)通信を非同期(Slack、Microsoft Teams、Loom、Asanaなどを介したリアルタイムでは発生しない)で補完することです。
後者は、チームメンバーがメッセージを受信し、問題を解決するための最善のアプローチを時間をかけて考え、対応するのに役立ちます。
これにより、生産性が向上します。
非公式のチームビルディングを組織することは、同僚と連絡を取り合い、彼らの関与を高め、信頼できる関係を築くためのもう1つの方法です。
◇課題2:チームメンバーには適切な専門知識がない。
プロジェクトのワークフローを完璧に調整したとしても、QAチーム内の需要の高いスキルが不足していると、設定された目標を達成できなくなる可能性があります。
・課題の解決方法
これを解決する方法は次のとおりです。
すでにプロジェクト計画段階にある場合、マネージャーはスキル(またはコンピテンシー)マトリックスを設計して、QAチームメンバーの技術的スキルとソフトスキルを定義できます。
また、最初から適切なスキルを持つスペシャリストを割り当てるために、関与するチームメンバーの役割と責任の定義を含むプロジェクト開始および計画文書を編集する価値があります。
また、プロジェクト全体で専門知識と知識の伝達を継続的に蓄積することで、新しいチームメンバーの迅速なオンボーディングとスムーズな問題解決が可能になるため、QAチームの継続的なトレーニングが最も重要です。
◇課題3.締め切りは非現実的。
スプリントは通常短く、要件は変更される可能性があるため、これはアジャイルベースのQAプロジェクトを管理する際の最大の問題の1つです。
土壇場でのテストは、生産上の問題や顧客の不満のリスクを高める可能性があります。
QAチームは、回帰テストを実行し、導入された改善点と影響を受ける領域が完全に機能していることを確認するために、常に十分な時間を確保する必要があります。
・課題の解決方法
これを解決する方法は次のとおりです。
アジャイルリリース計画はここで役立ちます。
すべてのスプリントで機能を展開する場合でも、グループ化して後で機能をリリースする場合でも、計画を立てるときは、常に回帰テストの時間を設定する必要があります。
また、テスト自動化は、QA速度の向上と、さまざまな重大度レベルのエラーの発見に役立ちます。
◇課題4:あいまいな要件または変化する要件がある。
要件が混乱したり、スプリントの途中で変更されたりすると、QAチームのストレスのレベルが高まります。
これは、わずかなコード変更でもソフトウェアの正しい機能に影響がないことを確認する必要があるためです。
そして、彼らは設定された期限に間に合わせるためにそれを迅速に行う必要があります。
・課題の解決方法
これを解決する方法は次のとおりです。
まず、影響分析を実行することが重要です。
QAエンジニアは、開発チームと緊密に協力することで、変更によって影響を受ける可能性のあるソフトウェアパーツを理解し、回帰テストをより正確に実行できます。
第2に、QAマネージャーは、ビジネスアナリストや利害関係者とともに、要件に優先順位を付けて、ソフトウェアのリリース時の品質へのリスクを最小限に抑えながら、現在のスプリントに適合する要件を決定できます。
また、関係者を教育して、スプリントの途中で要件を変更しないようにし、グルーミングセッションを実行して、バックログに関連する優先機能のみが含まれるようにします。
◇課題5.プロジェクトの進捗状況に透明性が欠けている。
複数のチームと利害関係者の間の連携を確保し、全員を軌道に乗せることは、職場やプロジェクトの可視性が悪い場合には不可能です。
・課題の解決方法
これを解決する方法は次のとおりです。
チームメンバーにソフトウェア要件とプロジェクトマイルストーン内のわずかな変更を認識させるために、QAマネージャーは、利害関係者、ビジネスアナリスト、開発者、QAエンジニア、および主要ユーザー間の相互作用を促進できます。
また、管理者は、絶対的および派生的なメトリック(たとえば、テストの有効性)に依存して、プロセスの鳥瞰図を取得し、現在のボトルネックを定義できます。
◇課題6:金曜日のリリースを扱っている。
新しい機能をリリースするときは、導入されたソフトウェアの改善と更新が他の機能の適切な機能に影響を与えないことが重要です。
金曜日の午後にリリースすることは、リリースの品質をサポートし、特定された問題を迅速に修正する必要がある開発者とQAエンジニアに、健全なワークライフバランスを保証したい場合には決して良い考えではありません。
・課題の解決方法
これを解決する方法は次のとおりです。
リリーススケジュールを作成して、週の初めに新しい機能を展開し、発生する可能性のある問題に対処したり、ロールバックを実行したりするのに十分な時間をチームに与えて、顧客への悪影響を迅速に最小限に抑えます。
◇まとめ
毎日、QAマネージャーは、コミュニケーションの欠如、チームの専門知識の不足、非現実的な期限、あいまいな要件、限られたプロジェクトの可視性、急いで金曜日のリリースなどの課題に直面する可能性があります。
これらのハードルに対処するために、QAマネージャーは、定期的なスタンドアップミーティングの開催、非同期通信の追加、チームスキルセットの事前定義、継続的な学習の提供を検討する必要があります。
また、リリース計画の確立、影響分析と要件の優先順位付けの実行、コミュニケーションの促進、メトリックの適用、リリーススケジュールの再調整についても検討する必要があります。
最後に、彼らは可能な限り最高のマネージャーになるために、努力を惜しまないことです。
□テスト自動化のリスクを軽減するためのトップ6のヒント
https://www.analyticsinsight.net/top-6-tips-to-mitigate-the-risks-of-test-automation/
こちは「analyticsinsight.net」に掲載されていた内容です。
テスト自動化のリスクについて、まとめられていましたので、ご紹介したいと思います。
◇テスト自動化のリスクは何ですか?
一般に、リスクは予期しない結果であり、悪影響を及ぼします。
一部のリスクは壊滅的な結果につながるため、それらを時間内に特定、分析、および軽減することが不可欠です。
リスクには次の3つのタイプがあります。
・プロジェクトのリスクは、プロジェクトの結果に悪影響を及ぼします。
・製品のリスクは製品のパフォーマンスを脅かし、ユーザーの問題を解決できない可能性を高めます。
・ビジネスリスクは、製品の財務価値に影響を与え、会社の収益に影響を与えます。
テスト自動化は、本質的に、低品質の製品を市場にリリースするリスクに対処するように設計されています。
ただし、すでに述べたように、自動化には特定のリスクも伴います。
最も一般的なテスト自動化リスクのリストは次のとおりです。
・ROIが小さいかゼロ
プロジェクトに自動化を実装するには、多額の投資が必要です。
投資の回収はすぐには不可能であり、時間と有能なテスト戦略が必要です。
・テクノロジーの開発についていけない可能性。
テクノロジーの絶え間ない開発により、テスターとテストは、テストソリューション、アーキテクチャ、戦略、およびツールの点で革新的である必要があります。
さらに、理想的には、テスターは開発者と同じことを学び、より生産的に協力できるようにします。
これは、プロジェクトの進行を遅らせるリスクです。
・計画外の予算費
テスト自動化には複雑なサポートが必要です。
これには、テスト自動化ツールの高コストが伴います。
すべてのテスト自動化ツールが既存のリスクを最小限に抑え、新しいリスクを引き起こさないわけではありません。
テスト自動化に間違ったプラットフォームを選択すると、自動化のすべての可能な利点が無効になる可能性があります。
・自動テストの限られた領域
自動化によってテストのすべての問題が解決され、製品をできるだけ早くリリースできるようになるというのが一般的な意見です。
ただし、自動化はいくつかのテストタイプに適用できないため、自動化によってすべての問題が解決されるわけではありません。
・テストされていないテストコード
テスト自動化は、製品を可能な限り深く掘り下げるのに役立ちますが、テストコードもテストする必要があります。
これは見過ごされがちなリスクです。
その結果、検証されていないテストコードでは、製品またはテストコードのバグが原因で製品がクラッシュした場合の解読が非常に困難になります。
・自動化への過度の依存、そしてその結果、明らかなバグのリリース
できるだけ多くのテストを自動化することを目指す場合、手動で実行したいテストを自動化するリスクがあります。
多くの場合、アルゴリズムはユーザーインターフェイスやデザインにバグを認識しません。
一方、このようなエラーは手動テスターには明らかです。
◇テスト自動化のリスクを軽減する方法
質の悪いテストは費用の増加につながります。
そのほとんどは、ソフトウェア障害のために追加のテストを実行し、それらを排除するために作業する必要がある開発チームとテストチームに当てはまります。
ただし、プロジェクトの予算では、計画外のテストのためのリソースが提供されないことがよくあります。
予算超過を防ぎ、必要に応じて追加のテストを実行するために、QAチームは、追加のテストの必要性、リリースの遅延、および製品の品質低下につながる一般的な落とし穴を回避するために、できる限りのことを行っていることを確認する必要があります。
テスト自動化のリスクを軽減するために役立つ6つのヒントは、以下となります。
◇ヒント1.テストの目標を明確に設定する
自動化されたテストごとに、それを使用して何を達成したいか、およびこのテストの結果を取得した後に実行する手順を完全に理解する必要があります。
目標のリストがあると、チームは各テストで得られる洞察を理解するのに役立ち、テストプロセス自体も簡素化されます。
◇ヒント2.手動テストを自動テストに置き換えようとしない
自動化は手動テストを100%置き換えることはできません。
さらに、手動で排他的に実行されるテストのリストがあります。
◇ヒント3.自動テストを実行する前にアプリの安定性を確認する
柔軟な環境を含め、テストを実行する前に安定性を確保することは非常に重要です。
自動テストの実行を開始すると、アプリケーションは安定している必要があります。
アプリケーションの安定性に注意を払わずにテストを実行すると、不十分なテスト結果が得られる可能性が高くなります。
◇ヒント4.定期的に自動テストを実行する
テストの自動化は、1回限りのプロセスではありません。
自動化のメリットを最大限に活用するには、継続的にテストを実行してください。
これにより、既存の障害が強調表示され、システムの状態に関する継続的なフィードバックが提供されます。
テストが定期的に実行されるようにするには、手動ではなく継続的インテグレーションシステムを介して自動テストを開始します。
◇ヒント5.テストチームメンバーのスキルと経験のレベルに注意を払う
テスト自動化を使用する場合、テストチームメンバーの能力と経験は成功の重要な部分です。
テスト自動化、およびプログラミングとソフトウェア開発の専門知識を持つことは、自動化の実装を成功させるのに役立ちます。
◇ヒント6.テスト自動化に適切なツールを使用する
テスト管理プラットフォームのレベルも重要です。
使いやすさ、プラットフォームが明確なレポートを生成するかどうか、自動化、レポート作成、テストの作成、通信に使用する他のツールとの統合の程度は、リリースの速度と製品の品質によって異なります。
適切なテスト自動化ツール使用することが重要です。
■最後に
今回は、以上の国内ニュース、海外ニュースを取り上げてみました。
次週も、ソフトウェアテスト、テスト自動化に関するニュースをご紹介したいと思います。
最後まで見て頂き、ありがとうございました。
ISO/IEC/IEEE 29119 ソフトウェアテスト規格の教科書
ソフトウェアテスト自動化の教科書 〜現場の失敗から学ぶ設計プロセス