業界でテストケースに関する標準化がイマイチなので、以下は個人的な考えです――。
まず、単体テストと結合テストに分けて考えます。
一番最初には「各項目に対してどのような処理内容(表示条件)があるのか」を視点と置くべきでしょうか
この質問は結合テストを指しているという前提ですが、Webアプリだと、一般的にユーザー入力から処理が始まるので、データフローに沿ってテストケースを設定していくとよいでしょう。もちろん、異常データを投入したり(XSS,SQL印じぇくしょん)や、正規のデータフローの途中から悪意のあるデータを紛れ込ませる(パラメーター改竄)ケースも含めてテスト・シナリオを用意しましょう。
資料として画面レイアウトのみしか存在していない場合
「基本設計しかない」状態と考え、ブラックボックステストを準備します。
ただ、ブラックボックステストには莫大な工数がかかるので(かといって手を抜けばセキュリティホールの温床となりかねない)、画面レイアウトしかない状態でのテスト設計は勘弁してほしいですね。
参考サイト
>大抵のWebシステムを扱う現場で作成するテストケースの作成方法としては、
>画面レイアウトを見て、プログラム仕様書を見て、そこからケースを起こす、
>という流れが一般的なのでしょうか?
単体テストはプログラム仕様書をみて、
結合テスト意向は機能仕様書とか実際の業務を想定したケースを作ってテストします。
>また、Webシステムの画面におけるテストケース作成の際の視点としては、
>一番最初には「各項目に対してどのような処理内容(表示条件)があるのか」を視点と置くべきでし>ょうか?
>それとも、DB更新値など処理の結果的な部分を先に視点とおく方が良いのでしょうか?
テストはインプットに対してアウトプットの妥当性を検証するので、両方必要です。
>「プログラム仕様書が完成した後」が基本なのでしょうか?
プログラムが完成した時点で、プログラム仕様書をみて作成します。
プログラム仕様書が絶対に変わらないのなら可能ですが、
実際には、プログラマーからのフィードバックもあって仕様書が変わるので、
理論通りには行きません。
>そのほか、資料として画面レイアウトのみしか存在していない場合など、
>プログラムの記述内容が判っていない状態で、
>テストケースを作成する場合などはあるのでしょうか?
はてなはそのやり方をしてる可能性が・・。
XP手法に近いやり方なので、そうかも。
はてなの人に聞いてください。
微妙にUIが統一されていないので、各自勝手に開発してそうです。