概要
機能テストは、クリック パスがブラウザー上でどのように動作するかをシミュレートして問題を発見します。一方、静的解析は、ページのソース コードを調べて問題を発見します。静的解析は、コード レビューやコード検査のようなものです。ソース ファイルを読み取って解析し、機能や表示の問題を引き起こすコーディング エラーを発見したら、それをユーザーにレポートします。破損リンクや他のナビゲーションの問題もピンポイントで特定します。それに加えて、画面上の内容を読み上げたり内容を点字に変換したりする機械などを使って障碍を持ったユーザーがサイトを利用しようとしたときに、正しく動作しない可能性があるコードを検出できます。さらに、コーポレート ブランディングなどのカスタム設計やコンテンツ要件に準拠しているかどうかも検証できます。
SOAtest は、通常であれば何日もかかるような複雑な解析を自動化して静的解析を容易にします。静的解析はカスタマイズ可能です。以下のような問題を発見したり防止したりするのに役立つツールを追加できます。
- エラーを起こしやすく更新を難しくするコード構造
- ナビゲーションの問題。たとえば、破損リンク、指定のエラー ページを開くアクション、アンカーの問題、クリックできないリンクなど
- 表示、実行、動的コンテンツ、パフォーマンス、変換、非標準ブラウザーでの表示などに影響する HTML、CSS、JavaScript、VBScript のコーディングの問題
- 変換とデータの取得に影響する XML の問題
- Web アクセシビリティのガイドラインに違反するコードとコンテンツ
- スペルミスや誤植があるコンテンツ
- アプリケーション固有の要件とビジネス ルールに違反するコード
- プロジェクト固有または組織固有のブランディング、設計、コンテンツ ガイドラインに違反するコード
以下の演習では、SOAtest の静的解析機能を使ったプロジェクトの作成、初期サイトのプロジェクトへのロード、およびプロジェクトのファイルを簡単かつ迅速に静的解析する方法について説明します。ここでは、前の演習で作成したプロジェクトは使用しません。
静的解析の実行
静的解析を実行するには、以下の操作を行います。
- 前の演習で作成したプロジェクトを右クリックし、ショートカット メニューから [新規追加] > [テスト (.tst) ファイル] を選択します。
- ファイルの名前として
Web Static Analysis
と入力し、[次へ] をクリックします。 - [Web] > [Web アプリケーションのスキャン] を選択し、[次へ] をクリックします。
- HTTP/FTP/ローカル リソースのスキャンのページで、以下の設定を行います。
- [開始 URL] フィールドに
localhost:8080/parabank
と入力します。[許可/制限する URL] のテーブルにこの URL が追加されます。 - [ロードする階層数の上限] チェックボックスをオンにし、右隣のフィールドに 3 と入力します。この設定は、サイトにロードするクリック (リンク) の数の深さを決定します。たとえば、ロードの深さを 3 に設定した場合、開始 URL 設定から 2 クリックで到達できるページだけがロードされます (注意: リダイレクトも深さ 1 と見なされます)。
- パネル下部の [フォーム オプション] セクションで、以下のようにオプションを設定します。
- デフォルト入力でフォームをスキャン: オフ
- アクティブな入力を手動で入力: オン
[終了] をクリックします。
新しい .tst ファイルと、1 個のテストを持つテスト スイートがテスト ケース エクスプローラーに追加されます。
- [開始 URL] フィールドに
- テスト 1: スキャン ツール ノード を右クリックし、ショートカット メニューから [テスト コンフィギュレーション] を選択します。
- 表示された [テスト コンフィギュレーション] ダイアログで、左側から [ユーザー定義] を選択して [新規] ボタンをクリックします。
- 右側に表示された新規コンフィギュレーション パネルで、[名前] フィールドを
ScanTesting Configuration
に変更します。 - [静的] タブで、[静的解析を有効にする] チェックボックスをオンにします。
- ルール一覧で、以下のチェックボックスをオンにします。
- アクセシビリティ - WCAG 2.0 [ACC-WCAG2]
- ブラウザー互換性 [BC]
- コーディング規約 [CC]
- リンク チェック [CLINK]
- [適用] ボタンをクリックしてテスト コンフィギュレーションを保存し、[閉じる] をクリックします
- テスト ケース エクスプローラーで、スキャン テストのテスト スイートを選択します。
- ツールバーの [テスト] ボタンのプルダウン メニューを開き、[テストの使用] > [ユーザー定義] > [ScanTesting Configuration] を選択します。
指定されたサイトをスキャンする間、SOAtest は、ユーザー入力を許可するフォームをロードするたびに、[フォーム] ダイアログを開きます。この例では、form1 フォームに対して [フォーム] ダイアログが開きます。 - [Form:Form1] ダイアログで、以下の設定を行います。
- [Text: "username"] ドロップダウン メニューから [固定] を選択し、対応するテキスト フィールドに
john
と入力します。 - [Password: "password"] ドロップダウン リストメニューから [固定] を選択し、対応するテキスト フィールドに
demo
と入力します。この設定は、この特定フォームの入力要素に、SOAtest がどのように自動入力するかを指定します。 - [追加] ボタンをクリックします。
必要に応じてさらに入力を追加できるように、同じフォーム ダイアログが再び表示されます。 - このサイトのフォームにはもう入力を追加しないので、[すべてスキップ] ボタンをクリックします。
- [Text: "username"] ドロップダウン メニューから [固定] を選択し、対応するテキスト フィールドに
静的解析の実行が完了すると、静的解析の違反が [品質タスク] ビューに表示されます。静的解析の結果を見やすくするために、以下の操作を行います。
- [品質タスク] ビューの右上のプルダウン メニューを開きます。
- [表示] > [SOAtest 機能テストの静的解析レイアウト] を選択します。
追加オプション
以下の操作を行って、静的解析テストをカスタマイズすることができます。
- 静的解析ルールを有効化/無効化する。
- 静的解析中に適用されるさまざまなルールのパラメーターをカスタマイズする。
- チームやプロジェクト固有の要件に準拠するかを検証するルールを作成し、それらのルールを静的解析の実行中に適用するよう SOAtest を設定する。
- プロジェクトに関係しないエラー メッセージを抑制するように SOAtest を設定する。