皆さん、こんにちは。
ソフトウェアテスト、テスト自動化に関するニュース記事をご紹介していきたいと思います。
今回ご紹介する内容は以下となります。
■記事内リンク
□1.アジャイル開発のボトルネックにならないためにソフトウェアテストの2つの課題と3つのアプローチ
□2.2022 年のウェブサイト アクセシビリティ テストに最適なツール
□1.アジャイル開発のボトルネックにならないためにソフトウェアテストの2つの課題と3つのアプローチ
https://logmi.jp/tech/articles/327642
こちらは、「logmi.jp」に掲載されていた内容となります。
内容としては、2022年7月に開催されたイベントで、ベリサーブ社の朱峰氏をスピーカーとして取り上げられた内容となります。
ソフトウェアテストの課題と、その課題に対するアプローチが述べられています。
◇ソフトウェアテストの課題
ソフトウェアテストの2つの課題としては、以下2項が挙げられています。
①デリバリーアジリティの維持
・具体的なアプローチによらず、一般的に大規模アジャイル開発においては、サブチームへの開発分担と、その成果の統合が発生
・この工程のソフトウェアテストでは、テストシナリオが複雑になり、手動テスト割合が増える傾向
②プロダクト価値の追求
・大規模アジャイル開発において、分業状態にある各チームメンバーは、自分たちのプロダクトが最終的にどのように動くかイメージしづらい
・各開発メンバーは、自sンのプロダクト追及を行い、定期的に完成した王rダクトに触れる仕組みが必要
◇課題に対するアプローチ
課題に対するアプローチについては、以下3点が挙げられています。
①自動化ツールの活用
テストコードを書ける技術も必要であるが、ビジュアル的に操作でき、かつメンテナンスできるツールを導入する。
②テスト設計・テスト管理ツールの活用
手動テストとなる部分で、テストパターンや、官営を行えるツールを導入する。
③探索的テスト
プロダクトを触り、各機能のつながり、動作ができるか確認する。
以上の内容が述べられていました。
また、記事内では、上記のような課題に対して、ベリサーブ社で提供しているソリューションについて、紹介されています。
ご興味のある方は、以下のページにアクセスされてみては、いかがでしょうか。
https://logmi.jp/tech/articles/327642
□2.2022年のウェブサイト アクセシビリティ テストに最適なツール
https://www.impactqa.com/blog/best-tools-for-website-accessibility-testing-in-2019/
こちらは、「impactqa.com」に掲載されていた内容となります。
ウェブサイトのアクセシビリティテストについてまとめられていましたので、ご紹介したいと思います。
◇初めに
アクセシビリティテストで、視覚、聴覚、身体、発話、認知、言語、学習、神経などの障害を持つ人々が Web サイトにアクセスできることを確認します。
これはすべて、ユーザビリティテストプロセスの一部です。
アクセシビリティ テスト ツールの使用は、サイトの予算や要件など、さまざまな要因によって決定されます。
以下は、2022 年のウェブサイト アクセシビリティテスト用の手動および、自動アクセシビリティ テスト ツールのトップのリストです。
◇アクセシビリティテストツール
「AChecker」
https://achecker.achecks.ca/checker/index.php
AChecker は、単一の Web ページの HTML コンテンツを評価するために使用される総合的なテスト ツールです。
HTML ファイルをアップロードするか、URL を入力するか、ソース コードをツールに直接貼り付けて、Web ページをテストできます。
AChecker は、WCAG 1.0、WCAG 2.0、HTML Validator、BITV 1.0、セクション 508 などのさまざまなアクセシビリティ ガイドラインを使用して Web サイトを評価するオプションを提供します。
このツールは、インストールするだけでオンラインとオフラインの両方で使用できます。
「WAVE」
https://wave.webaim.org/
これは、開発者がページ上で直接問題を視覚的に表現できるようにすることで、Web アクセシビリティ テストを容易にするように設計された、コミュニティによって作成された無料のツールです。
WAVE はブラウザベースのツールで、色のコントラストから ARIA 属性に至るまで、さまざまな問題を評価し、Section 508 および WCAG の準拠基準に基づいています。
「JAWS」
https://www.freedomscientific.com/products/software/jaws/
これは、視力を失ったお客様にとって最も人気のあるスクリーン リーダー ツールです。
JAWS の優れた機能のいくつかは、2 つの多言語シンセサイザー Viz で構成されています。
Microsoft Office、IE、および Firefox で動作し、タッチスクリーン ジェスチャで Windows をサポートします。
「Dynomapper」
https://dynomapper.com/features/visual-sitemap-generator
Dynomapper は、Circle、Tree、Folder、Default の 4 種類の Visual Sitemap Generator です。
サイトの HTML コンテンツを評価し、任意の URL からサイトマップを生成できます。
XML ファイルをインポートしてサイトマップを生成します。また、ページ、画像、およびファイルをフィルタリングするためのコンテンツ監査とインベントリも提供します。
WAVE と同様に、ax には Firefox と Chrome 用の拡張機能があります。
ただし、ax 拡張機能はより開発者向けです。ax 拡張機能は、開発者にとって素晴らしいツールです。
ページでレポートを実行すると、すべての欠陥のリストが表示されます。
最新のすべてのブラウザで動作し、静的フィクスチャ、メモリ内統合テスト、および無限の深さの iframe をサポートします。
現在使用しているライブラリ、フレームワーク、環境、およびツールと連携するように設計されています。
「Siteimprove」
https://www.siteimprove.com/
Siteimprove は、アクセシビリティと品質保証のための非常に効果的な Web サイト監視ツールです。
Siteimprove の最も優れた点は、手動と自動の両方のテスト ソリューションを提供できる熟練したアクセシビリティ テスト担当者の集団を提供していることです。
アクセシビリティ テスターのチームを通じて、Siteimprove は Office of Civil Rights (OCR) コンプライアンスに対応し、OCR の苦情をうまく解決しています。
また、是正措置と新しいコンテンツ計画の概要を説明する完全な監査レポートにもアクセスできます。
「Equally AI」
https://equally.ai/
Equally AIは、Web アクセシビリティに関するすべての法的要件に Web サイトとアプリが確実に準拠するようにユーザーを支援することでよく知られている、最上級の自動化された Web アクセシビリティ コンプライアンス ツールと見なされています。
このツールは、障害のあるユーザーに快適で信頼できるエクスペリエンスを提供できます。
Equally AIは特定の表示オプションを含むわかりやすいユーザー インターフェイスを提供し、さまざまなアクセシビリティ シナリオでのテストを容易にします。
このツールのモビリティ ソリューションを使用すると、管理者またはユーザーは、キーボードのみを使用して Web サイトのアクセシビリティをテストできます。
Equally AIは専用のテスター チームによって管理され、このツールが正しく使用されていることを確認します。
「Google Lighthouse」https://chrome.google.com/webstore/detail/lighthouse/blipmdconlkpinefehnmjammfjpmpbjk?hl=ja
Google Lighthouse は、Google Chrome を介してウェブサイトのアクセシビリティ テストを自動化するオープンソース プラットフォームです。
これは Chrome デベロッパー ツールで利用でき、追加の拡張機能や構成は必要ありません。
Lighthouse は、代替テキストの欠落、色のコントラスト比の低下など、幅広い WCAG 要件をカバーするさまざまな監査を実行します。
このツールは、監査の各ラウンド後に Web サイトのアクセシビリティを評価し、改善のための推奨事項を提供します。
「SortSite」
https://www.powermapper.com/products/sortsite/
SortSite は、Windows、Mac OS X、および Linux 向けの人気のあるワンクリック ユーザー エクスペリエンス テスト ツールです。
このツールは、デスクトップ、Internet Explorer、およびモバイル ブラウザーと完全に互換性があります。
SortSite は、WCAG 1.0 85、WCAG 2.0 110、Section 508 15 US 47 などの既存のアクセシビリティ標準に従って、Web サイトのアクセシビリティを評価します。
このツールは、HTTP エラー コードとスクリプト エラーを効率的にチェックするので便利です。さらに、CSS、HTML、および XHTML を検証します。
「UserWay」
https://userway.org/
UserWay は革新的なアクセシビリティ コンプライアンス ツールであり、人工知能を採用して、Web サイトまたはアプリケーションがアクセシビリティ支援を必要とする人々に素晴らしいユーザー エクスペリエンスを提供することを保証します。
プラグインとしてウェブサイトにすばやく追加して、見た目が美しく、ユーザーフレンドリーなインターフェースを提供できます。
ウィジェットを移動し、そのサイズ、位置、または色を変更できるようにすることで、UserWay ではユーザー インターフェイスをパーソナライズすることもできます。
UserWay を使用して、ウェブサイトやアプリをスキャンして、アクセシビリティに関する法的要件に準拠していない違反を見つけることができます。
◇まとめ
Web サイトのアクセシビリティ テストの目的は、すべてのコンプライアンスの問題を特定して修正することです。
上記のツールは、Web サイトまたはアプリケーションの全体的な使いやすさを向上させ、障害のあるユーザーを支援します。
さまざまな Web サイトのアクセシビリティの問題を解決するのに役立つ、信頼できるアクセシビリティ テスト サービスを探すことができます。
□3.スモークテストとは?意味、プロセス、および利点
https://www.spiceworks.com/tech/devops/articles/what-is-smoke-testing/
こちらは、「spiceworks.com」に掲載されていた内容となります。
スモークテストについてまとめられており、興味深かったので、ご紹介したいと思います。
◇スモークテストとは?
スモーク テストは、開発の初期段階でソフトウェア プログラムの基本要素とコア要素をテストして、製品のリリースを遅らせる可能性のある小さな問題を特定する方法です。
本質的に、スモーク テストは、リリースされたソフトウェア ビルドが信頼できるかどうかを確認するために使用されます。
スモーク テストにより、品質保証 (QA) チームは追加のソフトウェア テストを続行できます。
これは、ソフトウェアの動作を検証するためにビルドごとに実行されるテストの最小限のコレクションで構成されています。
多くの場合、スモーク テストはビルド検証または信頼性テストとして知られています。
これは、最初の電源投入時にビルドが「発火」しない場合にビルドがテストに合格する、同様の基本的な形式のテストを指します。
したがって、「煙」という用語が使用されます。
スモーク テストでは、テスト対象のビルドに致命的なバグがないこと、および重要な機能が意図したとおりに機能することを確認するだけです。
これは、重要な機能の迅速かつ簡潔な回帰テストです。
これは、製品がさらなるチェックとテストの準備ができていることを示す簡単なテストです。
また、構造に欠陥があり、テストを重ねることでリソースと時間の不当な使用につながるかどうかを判断することも簡単になります。
◇スモークテストとサニティテスト: 同じですか?
これは、ソフトウェアの重要な機能が意図したとおりに機能していることを保証する一種のテストです。
システムまたは製品がどの程度うまく機能するかをテストするために使用され、受け入れ可能性テストのサブセットと呼ばれます。
ただし、サニティ テストは、ビルド後にバグが確実に対処されるようにするために実行され、回帰テストの一部門と呼ばれます。
場合によっては、スモーク テストとサニティ テストを互いに間違えることがあります。
ただし、それぞれに明確な目標と考慮事項があります。
ソフトウェア ビルドは、スモーク テスト手順の間、安定している場合と不安定な場合があります。
ソフトウェア ビルドは、サニティ テストを通じて比較的信頼性があります。
サニティ テストは、手動または自動化ツールを使用して実行できるスモーク テストとは異なり、自動化技術を使用せずに手動で実行されることがよくあります。
◇スモークテストの種類
・自動テスト:
この場合、ツールは必要なすべてのテストを実行します。
プロジェクトの締め切りが厳しい場合、それは有益です。
新しいビルドをデプロイする準備ができたら、開発者は自動テストですぐに確認できます。
このプロセスは、人間のテスターに依存するのではなく、ツールを使用して自動化できます。
スモーク テストを自動化することで、手動テスターよりも費用とリソースを節約でき、会社の生産性を劇的に向上させることができます。
・手動テスト:
手動テストでは、テスターは、生成された各製品のテスト ケースを作成、ビルド、更新、または変更する必要があります。
手動オプションを選択した場合は、人間のテスターを使用してスモーク テストを実行します。
テスターは、既存の機能またはまったく新しい機能のテスト スクリプトを作成する必要があります。
重要な機能テストの実行は、ビルドの QA への配布に続いて、重大なシステムの問題を明らかにする必要があります。
テストが成功すると、機能テストがさらに続行されます。
テストが失敗した場合、ビルドは破棄され、変更のために本番チームに送り返されます。
・ハイブリッド テスト:
ハイブリッド テストは、手動テストと自動テストを組み合わせたものです。
この状況では、テスト担当者はテスト ケースを作成する必要があり、ツールを使用してテストを自動化できます。
手動チェックとツールの使用を組み合わせることで、テストのパフォーマンスが向上します。
ハイブリッド テスト手法は、他の 2 種類の最も実用的な要素を組み合わせたものです。
ソフトウェアを評価するために一定量の人間の労力を利用しながら、スモークテスト手順でいくつかのテスト自動化を使用する必要があります。
それぞれの利点を組み合わせているため、このテスト方法は他の 2 つよりも優れています。
◇スモークテストプロセスの4ステップ
1.テストの準備をする
スモーク テストを実行する前に、必要なテスト ケースの数を決定する必要があります。
適切な機能を確保するために必要なテスト ケースの数を判断できない場合は、進行を遅らせて再計算する必要があります。
ビルドが正常に完了した後、アプリケーションをテストする前に、セットアップ プロセスを実行する必要がある場合があります。
2.スモークテストの開発
次に、スモーク テスト手順のステップ 3 に必要なテスト スイートを作成します。
これを行うには、テスト ケースとテスト スクリプトを準備し、選択したテスト (手動、ハイブリッド、または自動) へのアプローチを変更する必要があります。
次のステップは、実行するスモーク テストを決定した後、テスト スクリプトを作成することです。
3.スモークテストの実施
次のステップは、作成後にビルドでスモーク テストを実行することです。
これが終了したら、結果の評価に進むことができます。
単一のスモーク テスト スクリプトを使用すると、より大きな自由度が得られます。
ビルド ツールからスモーク テストを起動する必要があります。
分析は、完了時に複数のビルド ファイルに保存する必要があります。
4.やり方を変える
ビルドがスモーク テストに合格した後、機能テストと単体テストのために製品を送ることができます。
テストが失敗した場合は、修正のために送り返されます。
間違いなく、開発サイクル中に、チームはいくつかのスモーク テストを実施します。
スモークテストの結果を研究すれば、最終的な結果が成功か失敗かを判断するのがより簡単になります。
ただし、他の開発者は、同じパーセンテージをビルドの安定したしきい値と見なす場合があります。
言い換えれば、分析段階全体を通して期待を要件に適応させる必要があることを覚えておくことが不可欠です。
スモークテスト後、クリーンアップが必要です。
◇スモークテストの利点
1.新しい問題と回帰の問題の両方に対する迅速なバグ トラブルシューティング
開発チームは、スモーク テスト中に問題が発見された場合に、テスト スイート全体の結果を待つよりもはるかに早く、デバッグと根本原因分析の実行を開始できます。
これは、スモーク テスト スイートのカバレッジは優れていますが、深度が浅いためです。
開発者がスモーク テスト中に見つかった欠陥を修正している間に、QA がある程度実行可能性のあるビルドで回帰テストを続行すると、効率が向上することがわかります。
テスト効率の向上
テスト チームは、スモーク テストを使用することで労力を節約できます。
ほとんど機能しないバグだらけのビルドに無駄な労力を費やしても意味がありません。
このため、人々はすべての不安定性を特定するためにスモークテストに頼ることを好みます。
開発者は、アジャイル ソフトウェア開発における新しいリリースごとの基盤が健全でバグのないものであることを確認して、早期にそれらを取り除くことができます。
2.ショーストップのバグを早期に発見
スモーク テストの最も重要な利点の 1 つは、システムの本質的な機能の問題を早期に特定できることです。
スモーク テストは、多くのチームのテスト ケース全体の 20% 以下しかカバーしない場合がありますが、それでも、80% 以上の欠陥を見つけることができます。
この理由だけでも、スモークテストの取り組みは価値があります。
3.統合関連の脅威が軽減される
スモーク テストは、既存のソフトウェア プログラムに新しい機能を追加することを含む統合に役立ちます。
これは、 CI/CD ツールと方法論を利用するときによくあることです。
これらの機能を追加するために新しいビルドが使用され、最初にそれぞれをテストする必要があります。テストにスモーク テストが含まれている場合、完成した統合プログラムのすべての部分がテストされていることを確認できます。
4.時間とリソースの節約
スモーク テストには、システムの高度度にもよりますが (最悪の場合)、通常 15 分から 2 時間かかります。
スモークテストを自動化すると、必要な時間を短縮できます。
チームは、スモーク テストを使用して問題の原因を迅速かつ効果的に特定できれば、潜在的な違反者をコードで検索するのに費やす時間を短縮できます。
5.自動化の可能性
自動化により、時間とリソースの両方が大幅に節約されます。
ボットは、タスクやワークフローの完了において常に人間よりも迅速です。
人間の創意工夫と創造性に依存する手順は自動化できませんが、スモーク テストはAI ベース(AI) システムによって実行される可能性があり、テスト時間を大幅に短縮できます。
7.適応性が高い
自動化をまったく使用せずに、スモークテストを最大限に活用できます。
これは、プロセスの高度な柔軟性と俊敏性によるものです。
3 つの異なる種類があるため、ニーズを満たす少なくとも 1 つのスモーク テストが常に存在します。
どんなに素晴らしいかもしれませんが、すべての人が自動化を使用する必要があるわけではありません。
ただし、開発者が自動化しないと決めた場合でも、手動でスモーク テストを実行できます。
この戦略について詳しく説明するセクションで説明したように、それには独自の利点があります。
さらに、スモーク テストは、自動テストと手動テストだけに限定されるものではありません。
◇まとめ
スモーク テストは、ソフトウェア製品のテスト ケースを開発する際に覚えておくべき重要な概念の 1 つです。
ソフトウェア コードの核心に飛び込む代わりに、重大な障害を引き起こす可能性のある根本的な問題を探します。
リリースの準備が整ったソフトウェア アプリケーションを構築するには、スモーク テストに合格することが不可欠です。
そのため、DevOps ライフサイクルの継続的インテグレーション/継続的デリバリー (CI/CD)パイプラインの上位に位置する必要があります。
□最後に
今回は、以上のニュースを取り上げてみました。
次週も、ソフトウェアテスト、テスト自動化に関するニュースをご紹介したいと思います。
最後まで見て頂き、ありがとうございました。