how tester can think
シーン :レストランに、両親と幼児の3人家族が到着しました。一番好きなピザを注文した後、家族はリラックスしていて、幼児はテーブルに置いた箸で遊び始めました。彼はそれらが好きで、箸だけを使って夕食を食べることにしました。
彼は彼の願望を発表し、話をするのに忙しい両親はそれに同意しました。ピザが出されると、幼児は箸を使い始め、何度もピザを口に入れるのに失敗していました。突然、両親はそれに気づき、幼児に箸を使わないように命じました。両親はすでに彼の欲求に以前に同意していたので、幼児は納得しませんでした。両親がナイフとフォークだけでピザを食べることを教え始めたとき、幼児はその信念に疑問を呈しましたが、私はそれを箸だけで食べたいのですが、なぜそれが間違っているのですか?そして、好きなピザが食べられなかったときに箸を使っていたところ、焦り、やがて箸を捨てて、ピザも食べないことにしました。両親も欲求不満で何もできず、家族の夕食の時間はその日の最悪の時間でした。
さて、上記のパラグラフのいくつかの単語を次のように置き換えて、それについて考え直してください。
親: ビジネスアナリスト、営業担当者、開発マネージャー、アーキテクチャチームを含むプロジェクト管理チーム。
幼児: 顧客/エンドユーザー
ピザ: 製品/アプリケーション
箸: 間違い
最もお気に入りのアプリケーションは、ユーザーが間違いを犯さず、アプリケーションの最悪の動作が見られなくなるまで、お気に入りになります。一度経験すると、ユーザーはアプリケーションに戻ることはありません。したがって、テスターとして、理解することが非常に必要です。 ユーザーの考え方 、彼がどのように振る舞うことが期待されているか、彼がアプリケーションで何が間違っているか、何が最悪の間違いである可能性があるかなど。
ほとんどの場合、テスト中にユーザーエクスペリエンスを再現する方法について、フォーラムや社内のチームメンバーから質問を受けました。 私の答えはいつも簡単です– ユーザーになる :)
実装するよりも言うのは簡単ですが、ソフトウェアテスト業界が、ユーザーエクスペリエンスとフィードバックが何よりも重要である革命の方向に進むのに適切な時期です。
テスターはエンドユーザーとしてどのように考えることができますか?
ここにいくつかを提示する エンドユーザーとして行動し、驚きを見つける典型的な例 、私は過去数日間に観察しました:
#1) 日付フィールドのテスト中に、ユーザーが正しい日付値を選択または手動で入力すると、正常に機能しました。しかし、ユーザーが12/00 //のように完全に間違った値を入力し、(OK)をクリックすると、無効な日付値に関するエラーメッセージが表示されました。
これで、ユーザーは日付を修正せずにページを更新します。何が起こるべきですか?さて、あなたの多くは何が起こるべきかを推測することができますが、あなたはアプリケーションで何が起こったのか考えることができますか?ページを更新した後、ユーザーに以下が表示され、同じ値がデータベースにも保存されました。
それで…..テスターはここでユーザーを複製しました、同意しましたか?
#二) アプリケーションをテストしている間、ワークフローは、順序に従った場合に特別な順序でさまざまなフォームを送信することですが、正常に機能しました。しかし、ユーザーが#5フォームから#3フォームに戻ろうとした場合はどうなるでしょうか。
繰り返しますが、何が起こるべきかを考えるのではなく、何が起こったのか見てみましょう…
テスターは唖然としましたが、ユーザーとして自分自身を明らかにすることに誇りを感じました…..同意しましたか?
#3) ログインに成功した後、ユーザーはブラウザの戻るボタンをクリックします。もう一度、何が起こったのか見てみましょう…
資格情報はクリーンアップされているはずですが、クリーンアップされていません。さらに進むと、このログインページで、ユーザーは(パスワードを忘れた場合)リンクをクリックします。ブラウザの戻るボタンをクリックして、ユーザーがすでにログインしていて、ログインページを表示していることを確認してください。 (パスワードを忘れた場合)をクリックすると、ユーザーはアプリケーションのホームページに移動しました。
テスターがユーザーの方を向いた…..同意しましたか?
#4) アプリケーションの検索ページ(http://x.x.x.x:y /#/ Search)のURLを確認した後、テスターはURLをhttp://x.x.x.x:y /#/ Search / test?そして、あなたは何が起こったのか考えることができますか?
さて、アプリケーションがクラッシュし、テスターが再びユーザーの方を向いた…..同意しないことを願っています。
Javaで二重リンクリストを実装する方法
結論
これらの例を通して、私は自分がやりたかったことを十分に伝えたと思います。
実際、テストはアプリケーションのワークフローをチェックすることを意味するのではなく、アプリケーションを壊すことを意味するのでもありませんが、確かに ユーザーエクスペリエンスを確認する 彼が間違いを犯したときでさえ。
著者について: この投稿は、STHチームメンバーのBhumikaMehtaによって書かれました。彼女はプロジェクトリーダーであり、ソフトウェアテストで10年以上の経験があります。彼女は良いアイデアや革新、そしてリスクも高く評価しています。そしてもちろん、単調な仕事、人、環境は嫌いです。
はい、テスターをエンドユーザーに向けましょう…。同意しますか? :)
ですから…..このような例をもっとお聞きしたいと思いますし、ご意見もお聞かせください。