ページ: << 1 ... 26 27 28 29 30 31 32 33 34 35 36 ... 41 >>

入力フォームのテストにはSelenium IDE

パーマリンク 2008/01/29 11:28:43 著者: あつ メール
カテゴリ: PHP

入力フォームのテストを行う時、特に項目数が多い時は、値を入力するのが面倒です。
そんな面倒から解放してくれるのが、Firefoxのアドオンの「Selenium IDE」です。

楽々♪

CakePHPで主キー以外でhasOneする方法

パーマリンク 2008/01/27 10:57:21 著者: あつ メール
カテゴリ: PHP, CakePHP

CakePHPで主キー以外でhasOneする方法

CakePHPでhasOneを行いたい場合、2つのテーブルの主キーがIDとなっていると、それ以外の項目で関連付けようとしてもうまくいきませんでした。

そんな時は、bindModelを使えばできます。

まずは、modelに下記のように記載します。

function findAllJoinModelName($conditions, $fields, $order, $limit, $page, $recursive)
{
$bind = array('hasOne' =>
array('ModelName' =>
array('className' => 'ModelName',
'foreignKey' => 'fieldName'
)
)
);
$this->primaryKey = 'fieldName';
$this->bindModel($bind);
$result = $this->findAll($conditions, $fields, $order, $limit, $page, $recursive);
$this->primaryKey = 'id';
return $result;
}


あとはコントローラ側で下記のように呼び出してあげればOKです。

$this->Model->findAllJoinModelName($conditions, $fields, $order, $limit, $page, $recursive);


ようするに主キーと外部キーを一時的に変更するんですね。
主キーを元に戻すのを忘れないように。

WEBサイトにおけるチェックリスト(テスト項目)まとめ

パーマリンク 2008/01/25 12:44:19 著者: あつ メール
カテゴリ: PHP

WEBサイトにおけるチェックリスト(テスト項目)まとめ

WEBサイトを構築する上で、チェックは欠かせません。
欠かせないのは分かっていても、時間がないとかなんらかの理由をつけて、雑に行ってしまう事もあると思います。
また、人によってチェック内容が大きく変わってしまうこともあると思います。

何れの理由にしても品質の低下を招いてしまうので、なんとかして対応したいと思っています。
対応方法としては、こんなチェックをしましょうねという指針を決めるのが良いかなと。

WEBアプリテストのチェック項目リストに良いのがありましたので、ここをベースにちょっとまとめてみました。

今後思いついた内容があれば順次ここに追記していきます。

1. リンク

 1.1 想定通りに遷移するか
 1.2 どこからもリンクされないページは存在しないか
 1.3 廃止したページはユーザーにアクセスされないように、404レスポンスを返してHOMEページ(または検索ページ)へリダイレクトするようにしているか
 1.4 全てのmailtoリンクは届く宛先になっているか
 1.5 別ウィンドで開くリンクは正常に開くか(サイズ、スクロールバー等)

2. フォーム

 2.1 共通

  2.1.1 ラジオボタンの動作は正常か
  2.1.2 ページを読み込み/再読み込みした時のデフォルト値は正常に表示されているか
  2.1.3 コンボボックスの中身が適切な並び順になっているか
  2.1.4 入力ボックスが適切なサイズに広げられているか
  2.1.5 データベースに保存されるデータは全て保存されているか
  2.1.6 任意項目と必須項目の判断は適切か
  2.1.7 入力可能な文字列長は指定されているか
  2.1.8 空白・半角スペース・全角スペースを入れる
  2.1.9 最大値、最低値を入れる
  2.1.10 無効な文字を入れる
  2.1.11 有効な文字を入れる
  2.1.12 データの最初の文字に空白・半角スペース・全角スペースを入れる
  2.1.13 データの最後の文字に空白・半角スペース・全角スペースを入れる
  2.1.14 クロスサイトスクリプトの問題はないか
  2.1.15 データベースを利用する場合、SQLインジェクションの問題はないか

 2.2 日付フィールド

  2.2.1 存在しない日付を受け付けないようにしているか
  2.2.2 うるう年を考慮しているか

 2.3 数字フィールド

  2.3.1 プラス、マイナス、ゼロの値が正しく処理されるか
  2.3.2 ゼロの割り算が起こらないか

3. インタフェース

 3.1 関係する外部のアプリケーションやサーバが使用できなくなった場合を考慮したか
 3.2 JavaScriptを使用する場合、それなしでも動作するか
 3.3 ダウンロードが失敗した場合、失敗の処理が行われるか
 3.4 必要な部分において、暗号化していないデータを送信するようになっていないか
 3.5 操作を途中で止めてサイトを去るなら、それは取り消されるか
 3.6 インターネットの接続が切れた場合、処理は取り消されるか
 3.7 プライバシーポリシーが制定されており、読みやすい場所にあるか
 3.8 サイト閲覧中にユーザーがCOOKIEを削除したらどうなるか
 3.9 サイト訪問後にユーザーがCOOKIEを削除したらどうなるか

4. 互換性

 4.1 ブラウザ

  4.1.1 推奨するブラウザ全てで確認する
  4.1.1 使用しているHTMLのバージョンは対象ブラウザのバージョンと適合しているか
  4.1.2 画像は対象ブラウザで正しく表示されているか
  4.1.3 フォントは対象ブラウザで表示可能か
  4.1.4 スクリプトは対象ブラウザで正しく動作しているか
  4.1.5 アニメーションGIFは対象ブラウザで表示されるか

 4.2 画面表示設定

  4.2.1 様々な解像度(1024x768, 600x800, 640x480ピクセルなど)でレイアウト崩れはないか
  4.2.2 色数(256色、16ビット, 32ビット)を変えて不具合は生じないか

 4.3 接続(表示)速度

  4.3.1 ページが8秒以内に表示されるか

 4.4 印刷

  4.4.1 テキストと画像の並びが乱れないか
  4.4.2 全ての色は適切か
  4.4.3 紙サイズに合う大きさになっているか
  4.4.4 テーブルと枠線は表示されるか
  4.4.5 テキストを分断せずに読みやすく印刷出来るか

詳解HTML & XHTML & CSS辞典第3版

CakePHPでトランザクションを行う方法

パーマリンク 2008/01/23 14:33:00 著者: あつ メール
カテゴリ: PHP, CakePHP

CakePHPでトランザクションを行う方法

CakePHPでトランザクションを行う場合には、下記のように書けばOK。

$this->Model->begin();

if (!$this->Model->save($data)) {
    $this->Model->rollback();
}

$this->Model->commit();

複数のテーブルに対してトランザクションを行う場合、begin/commit/rollbackを呼び出すModelは何でも成功(本当に大丈夫!?)。

[追記]
コメントを頂きましたが、PostgreSQLではたまたまうまくいっているだけなので、要注意です。
参考:[PHP][CakePHP]CakePHP 1.2 でトランザクション

CakePHP 1.2ガイドブック

CakePHPでセレクトボックスを作る方法

パーマリンク 2008/01/18 16:58:40 著者: あつ メール
カテゴリ: PHP, CakePHP

CakePHPでセレクトボックスを作る方法

CakePHPでDBの情報からセレクトボックスを作るには、まずコントローラへ下記のように書きます。

$this->set('list', $this->Model->generateList(null, null, null, "{n}.Model.field_id", "{n}.Model.field_name"));


続いて、ビューへ下記のように書きます。

<?php echo $html->selectTag('Model/field', $list, null, null, null, null, false); ?>


これでOKです。

<< 1 ... 26 27 28 29 30 31 32 33 34 35 36 ... 41 >>

あつ

Facebookやってます

愛知県名古屋市在住のWEBシステム屋(SE・プログラマ)。株式会社一六社(いちろくしゃ)所属。PHP、 CakePHPを利用して日々開発中。WEBで地域活性化を目指します。好き:フットサル/GTD/Mac/ 住んだことのある場所:一宮(愛知)、豊田(愛知)、浜松(静岡)、浦添(沖縄)、中津川(岐阜)、名古屋(愛知)

検索

タグクラウド

勉強会

欲しい物リストの全て

レコメンデーションエンジン

16ブログ     powered by b2evolution