質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.49%

ネットショッピングサイト関連のWebシステムのテストについて

受付中

回答 2

投稿

  • 評価
  • クリップ 1
  • VIEW 1,592

score 5786

Webシステム開発の初学者です。
抽象的な質問で真に恐縮ですが、多くの皆様のなるべく具体的な取り組みや工夫についてご教示頂ければ幸いです。

さて、近年特に、楽天やAmazonのようなネットショッピングサイト関連のWebシステム開発の案件を多数見聞きしているのですが、

① 各サイトに固有のAPIその他について、具体的な情報をどのように収集されていますか
② 作成したシステムのテストはどのように実施されているのでしょうか

特に、金銭が絡むため高い品質の担保が重要ですが、そうかと言って、テストのために実際に何度も商品を売買してみることもできないので、皆様はどのようにテストを実施されているのか、是非ヒントだけでも頂ければ助かります。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

+1

②についてお答えします。

テストでは実際に商品を購入します。そうしないと商品選択から購入完了までの流れが正常かどうか分かりませんので。
特にカート画面はボタンバックかブラウザバックか…クレジット情報がちゃんと処理されているか…など、様々な動きを試します。
でもって大抵は管理画面から購入キャンセル処理ができますので、購入後キャンセル処理を行います。
管理画面の動きもテストできて一石二鳥です。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/07/30 09:44

    早速、具体的なご回答ありがとうございます!

    「大抵は管理画面から購入キャンセル処理ができますので・・・一石二鳥です。」って、なるほどです。

    確かに仰る通りですね。非常に勉強になりました!
    どうもありがとうございます。

    キャンセル

+1

私どもの方では、実際のAPIを模倣したスタブサーバを用意して結合試験まで行っています。
規模がデカいサイトで、POS連携もあります。

シナリオで試験するときに、例外のパターンを担保したいので、スタブサーバは正常系だけではなく、レスポンスタイムアウトなどの通信系も含めた、いろいろなパターンを簡単に定義できるようにしています。

これで、シナリオ試験を消化して、その後のプロダクト試験で実際に購入からキャンセルを行っています。

また、ローンチ後にもまた、購入からキャンセルを行います。

試験環境が用意されているAPIは、結合試験からつなぎ込んでいることもありますが、例外パターンを網羅できない事が多いので、スタブと組み合わせて使っています。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/07/30 09:39

    漠然とした質問に早速ご回答頂きありがとうございます!

    やはり本格的にテストするとなると「実際のAPIを模倣したスタブサーバ」のようなしっかりとした基盤が必要なのですよね。

    ある程度の規模になると、スタブサーバの構築自体が一大プロジェクトになってしまいますね。。

    初心者には敷居が高いですが、とても参考になりました!
    どうもありがとうございます。

    キャンセル

  • 2015/07/30 10:16

    個人のスキルによる部分もありますが、我々が使うスタブは必要にせまられて1日2日で作ったものです。最初から予定していたものでは無かったのですが、工程に影響を与えない程度で、かつ実用的であることといことで、知恵を絞っただけです。

    返却値を定義したファイルを用意して、決められたキー項目でその定義を返すだけなので。

    スタブ作成前に、APIのインターフェースの仕様を確認して置く必要がありますが、接続先からなるべく資料を取得してます。これは一次資料が正であるからという面と、問い合わせ窓口を確保する意味があります。
    Web上の資料だけですと、どうしても思い込みなどで実際と異なることがあるので、窓口は重要です。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.49%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る