プロファイル自動化とは?詳しく解説します
概要
ここでは、プロファイル自動化とは?という点について詳しく解説させていただきます。
プロファイル機能 (作成、読み取り、更新、および削除) はWebで最も一般的な機能の一つです。
特に、現在のようにソーシャル時代において、各ユーザーのプロフィールの作成や自動化をいかに効率よく実施するかという点は、ソフトウェアエンジニアだけでなくWeb管理者にとっても大きな課題の一つと言えるでしょう。
さらに詳しく解説させていただきます。
詳細
プロファイル自動化における課題の一つは、新しいユーザーの作成や値の更新で直面することがわかっている際の新しいキーエントリーの作成です。
この作成においては後続のテストで調べると問題を引き起こす可能性があるため、特定の値を追加します。
これにより、アカウント、グループ、およびユーザーを作成したり、他のテストと衝突することなくテストに同じデータセットを使用したりできます。
これらの追加の利点は、適切な権限がない場合、ドキュメントの検索などの特定のタスクの実行が失敗する可能性があることです。
プロファイルに関するもう1つの課題は、多くの場合必須フィールドがあることです。
10個の必須フィールドがあり、それらのいずれかを空白のままにするとエラーメッセージが表示されるとします。
すべてのフィールドを空白のままにするテストが1つしかなく、すべてのフィールドに入力して動作することを確認した場合、限定的なテストであり、役に立たないため段階的なレベルのフィールドへの入力を使用する必要があります。
例えば、以下のようなケースです。
一点目が何も入力されていないフィールドから開始し、送信して、エラーメッセージを受け取ります。
二点目が3つのフィールドに入力して、もう一度送信し、エラーメッセージを再度確認してください。
三点目がさらに3つのフィールドに入力して、もう一度送信し、エラーを確認します。
四点目が最後の4つのフィールドに入力して、もう一度送信してみるなどです。
これらは10個の必須フィードについての例ですが、フィールドを更新できることを確認し、それらの更新が行われたことを確認します。この目的のためにフィールドごとに1つのテストを作成するよりも、一度にいくつかのフィールドを更新すると効率よく実施できます。
プロファイルを削除した場合、アカウントが削除されたことを示すメッセージを受信したことを確認するか、
問題のアカウントを表示しようとしたときにエラーメッセージを受信して、プロファイルが表示されなくなったことを確認します。
補足
プロファイル自動化における自動テストで画像を検証するのは難しい場合があります。
このようなケースにおいてプロフィール画像をアップロード後の要素検査が重要です。
要素を検査して画像ファイル名が存在することを確認することで、バックエンドで何かを実行して、HTMLを強制的に正しいものにしますが、画像は表示されないようにし、テストがfalseを返すようにします。
電子メールの検証は自動化が難しい場合がありますが、ツールを使用するとプロセスを合理化できます。
さらに、アドレスの一部として${starttime} 値を使用することで、メールを設定するたびに、その1回のテストでメールが利用可能になることを確認できます。
また、自分のドメインでカスタムメールサービスをセットアップすることも可能です。
電子メールの対話は、GUIを介する必要はありません。コマンドラインツールを使用して電子メールを取得したり、curlなどのツールを使用してWebリクエストのテキストを取得したりできます。
コマンドラインツールは、オペレーティングシステムと対話する方法を提供する一連のソフトウェアプログラムです。
これらは、主にプログラマー、システム管理者、およびその他のパワーユーザーが使用するように設計されています。
コマンドラインツールは、OSとの対話、ファイルの管理、プロセスの管理、プログラムの実行など、さまざまな目的に使用できます。
curlは、ある場所から別の場所にデータを転送するために使用されるコマンドラインツールです。
curlコマンドを使用して、単純な HTTP POST要求やその他の種類の要求を作成できます。たとえば、次のコマンドは、データをJSON形式で投稿するPOST要求を作成します。
すべてのエラー条件を実行する UI レベルのテストを作成するのは至難の業かもしれませんが、これらはテストの自動化によって確実に可能になります。
さらに、さまざまな自動順列を作成することで、それらの順列を他のプラットフォーム (iOS、AndroidWindows、MacOS、Linux、IoT など) で再利用することもできます。
共通のテーマ
プロファイル自動化において、効果的なテストを行うために考慮する必要がある、よく知られたパターンと領域がいくつかあります。これらはモジュールに結合できる領域です。
一点目が権限です。
適切なアクセス許可なしで他のユーザーのプロファイルを編集できるようにしたくないので、一般的なテストセットアップの一環として、ユーザーを作成し、アクセス許可を定義し、変更または削除する方法があることを確認します。それらの権限は非常に重要と言えるでしょう。
二点目が既知のデータセットです。 既知の値のセットを用意しておくことは、値の存在と変更および更新の両方をテストできるようにするために重要です。これらのテストに使用する既定のグループアカウントと個人アカウントをセットアップするテストは理想的となります。もちろん、一連のテストの最後にそれらのグループアカウントと個人アカウントも削除します。
三点目が可能なルートに従うことです。 各プロファイル テストは、従来のCRUDルーチン (ユーザーの作成、そのユーザーの読み取り/表示、そのユーザーの詳細の更新、およびそのユーザーの削除) に従う可能性があります。
四点目が意図的にエラーをテストすることです。 作成されたテスト ケースを見て、手順が機能することを確認し、アプリケーションが正常に失敗する条件を作成できることを確認します。つまり、特に否定的な結果を得るためのテストを書くということです。
まとめ
いかがでしたでしょうか? プロファイル自動化について説明させていただきましたので、参考にしていただけましたら幸いです。