2009年9月21日月曜日

単体テストについて

最近はテストコードを書く人になっていたので、
書いていて思った事をつらつらと。

・まず目的を設定する。
 何のためにテストコードを書いているのか?
 テストコードを書いて何を検査したいのか?

・テストケースの追加が容易になるようにテストコードを書く
 追加コストが高いと必要なテストケースを後で追加しなくなるため。
 入力と結果の2つを引数にもつ関数を実装していれば問題無いと思う。

・テストコードを書いたらカバレッジも一緒に計測すること
 これが無いとテスト出来ているのかが分からない。
 目で結果が見れるものであれば達成感も味わえる。

・テスト対象のコードとテストコードは同時にビルドすること
 同時にビルドしていないとテストコードのメンテナンスをしなくなり、
 折角書いたテストコードを腐らせていく原因になります。
 
・テストコードを実行させるのは容易か?
 実行コストが高いとテストを実行させない。
 テスト自動化(回帰テスト)の意味が無い。

.

1 件のコメント:

匿名 さんのコメント...

Excelでデータベースの取り込みやのデータ取得/更新するなら、ExcelDBToolをお勧めします。
テーブルのデータをエクセルに取得、更新、削除することだけではなく、複数のSQLを実行して、結果を
一括Excelの各シートに出力することもできます。

http://www.superdbtool.com
ベクターからもダウンロードできます。
Oracle,SQL Server,DB2,Sybase,MySQL,Postgre,Sqlite対応。

使い方動画:
http://superdbtool.com/blog/basic-guide

またExcelDBToolを使って、本番擬似ランダムテストデータを一括作成することは非常に簡単です。
是非お試しください。
作成できるダミーデータ種類(69種類):
郵便番号, 都道府県, 企業名, 市区,町村,最寄駅,最寄駅ふりがな,路線,銀行コード, 銀行名, 銀行カタカナ, 支店コード, 支店名, 支店カタカナ,E-Mail, URL, 携帯, 苗字のみ, 氏名, 住所, 住所ふりがな,性別, 年齢, 血液型, 固定電話, 婚姻, ふりがな, 大学名,身長,体重固定値,国籍,国籍英語,国籍英語略,クレジットカード会社,クレジットカード番号,有効期限,IPアドレス,業種大分類,業種大分類名称,業種中分類,業種中分類名称,業種小分類,業種小分類名称,職種大分類,職種大分類名称,職種中分類,職種中分類名称,職種小分類,職種小分類名称,数値連番,整数・小数点数,英数混在,文字列+連番,文字列+全角連番全角漢字,ひらがな,全角カタカナ,半角カタカナ,全角英数,全角数値,全角英字,全半混在日付,時間,タイムスタンプ,特殊文字

Oracle,SQL Server,DB2,Sybase,MySQL,Postgre,Sqliteもご利用できます。

ラベル