« 3ウェイマージというマージアルゴリズム | トップページ | ドメイン駆動設計の感想~OOAは過ぎ去りDOAはもう一度舞台に上がるのか »

2012/06/20

「はじめて学ぶソフトウェアのテスト技法」は良本

はじめて学ぶソフトウェアのテスト技法」を読み直して、いい本と思ったのでメモ。

【元ネタ】
はじめて学ぶソフトウェアのテスト技法 : 賢者の図書館 (Under Construction) : livedoor Blog(ブログ)

ソフトウェアの安全性を考える - Basic

Twitter / akipii: 「はじめて学ぶソフトウェアのテスト技法」を読んでみた。同値クラステスト、境界値テスト、デシジョンテーブルテスト、ペア構成テスト、パス制御テスト、状態遷移テスト、探索的テストなどの手法を丁寧に説明してくれている。良本。 http://www.amazon.co.jp/dp/4822282511

Twitter / akipii: テスト駆動開発や単体テストを実施する時、どんなテストをすれば良いのか、と聞かれる時がある。やみくもにテストメソッドを実装してもパスを網羅しなければそこからバグが出る。各種のテスト技法で効率的にテストできるし、テスト技法はテストメソッドの実装にも役立つ。

Twitter / akipii: IF文やループ処理のテストでは同値クラステストや境界値テストが有効だし、ライブラリやOSのバージョンの組み合わせならデシジョンテーブルテストやペア構成テスト、直交表が有効。シナリオベースなら状態遷移テストが有効。どの観点でテストして品質を確保するのかという戦略が重要。

初心者はRubyやJavaなどのプログラミングから入るけれど、テスト技法の習得も重要。
書いたプログラムが正しく動いているという正当性は、テストした結果を見せなければ誰も信用しない。

はじめて学ぶソフトウェアのテスト技法」では、各種のテスト技法を具体例を付けながら丁寧に説明してくれている。

個人的には、テスト技法を使いこなしているかどうかの簡単な基準は、同値クラステストと境界値テストだと思う。
テストで使われるテストデータは、同値分析によってかなり減るのに、無駄にたくさんのデータを使って同じテストをしている人もいる。それは労力の無駄だ。
プログラムのバグは、境界値で発生する時が多いが、境界値付近のテストが不十分な人も多い。

また総合テストやシステムテストのように、シナリオベースないし本番環境に近いデータを使う場合、データの組み合わせを十分に考慮する必要がある。
その場合、ペア構成テストや直交表を使いこなせると威力を発揮するだろう。

日本の品質管理は世界でもトップクラスだと思うが、その理由は、詳細な仕様書をあらかじめ作っておき、その仕様書を元に、ペア構成テストや直交表を使って、想定される本番運用のテストデータを作りこんでテストする方法でやってきたからだと思う。
TestLinkを使った時に感じたことは、テスト技法はプログラミング技法とは異なる技術であり、どうしてもアジャイル向きと言うよりも計画駆動になりやすい。
アジャイル開発と組み合わせたテスト技法はもっと色々研究される余地があるように思う。

|

« 3ウェイマージというマージアルゴリズム | トップページ | ドメイン駆動設計の感想~OOAは過ぎ去りDOAはもう一度舞台に上がるのか »

ソフトウェア工学」カテゴリの記事

TestLink」カテゴリの記事

Agile」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« 3ウェイマージというマージアルゴリズム | トップページ | ドメイン駆動設計の感想~OOAは過ぎ去りDOAはもう一度舞台に上がるのか »