« [試験]JSTQBテスト技術者資格認定 | トップページ | [セミナー]ソフトウェア品質向上セミナー2007 »

テストツールとテスト設計意識

いまいち、All-pair法のメリットが自分の頭に入ってこない。ナゼダロウ

==

テストを自動化、効率化するためのテストツールは、当然テストを実施するコストを軽減してくれる。でも、それは単なる作業の効率化であって、品質向上にはさほど影響しない場合がある。(もちろん、浮いた時間で重要箇所のテストを厚くするなどやり方はあるが)

自分がソフトウェアテストに興味を持つきっかけになったのは、まさに「自動化」という手段を求めたことである。当然、手動でテストを実施する時間を短縮することができたが、目に見える品質向上というのはなかなか出てこなかった。なぜ?なぜ?と考えて、僕は「テスト設計」が重要じゃないか、というふうに考えた。どんなにいいツールを持っていても、使い方によっては宝の持ち腐れになる。テストケースに漏れがあれば、そのテストをどんなに厚く行ったって、欠陥は見つからないのだ。

テスト設計が重要なことは、いろんな本に載っているし、誰に聞いたって、そのとおり、自明なこと。だけど、テストツールという手段をまず求めたことで、そういう大事なところに気づけた、ということもいえるのではないだろうか。

教えられることよりも、自分で答えにたどり着くことのほうが、ずっとありがたみがわかる。と思います。

|

« [試験]JSTQBテスト技術者資格認定 | トップページ | [セミナー]ソフトウェア品質向上セミナー2007 »

コメント

テストを自動化することで、品質向上は望めないのは私も同意見です。
ただ、人間はミスを犯すものなので、ケースとしてはあるが、見落としたというヒューマンミスをなくすということはできるとは思います。
あくまで、テストを自動化するのは、手作業で行うことによる無駄を排除することがあると思います。
繰り返し行う作業であれば、テストは自動化すべきであるし、繰り返さないのであれば、自動化はすべきではないといつも思っています。
テスト設計は、私もどのようにしたらいいかはいつも悩んでいます。

投稿: ただいま修行中 | 2007年1月26日 (金) 08:09

>ただいま修行中さん

人間のミスとか見落としという観点だとけっこう自動化の裾野は広がりますね。
僕が思ったのは、ただいま修行中さんのようにテスト設計を悩む、ということが
実体験から導き出されると素晴らしいなと思いました。

投稿: softest | 2007年1月26日 (金) 09:22

私はテスト技術者ではないので、ちょっと違った考えで自動テストに取り組んでいます。
品質問題の多くは、設計の中に巣食った癌が広範囲に転移して、結果的に実装バグという問題を至る箇所で引き起こしていると考えています。設計が悪い状態で、品証でバグだけを取ろうとしても、根本的な品質向上にはなり得ないと考えています。
自動テストを利用することでリファクタリングでき、癌化した設計細胞が転移する前にそれを除去し、つねに設計のヘルスを維持することができます。良い設計は良い制約を実装者に課し、バグの存在を許さない構造になります。テストドリブンがまさに意図しているそれです。
こういう視点では、自動テストは開発の後半にまとめて1回だけ行うものでは意味がなく、開発中に何度も行うべきことになります。だから、「繰り返さないのであれば自動化すべきではない」というよりも「開発中に繰り返すために自動化すべきである」→「テストが自動化されているから、常に設計の癌を取り除くことに時間を使う」という考えです。

ただ正直、私は品証のためだけのテストというものをあまり良く知りません。開発のためのテストと品証のためのテストが違うという考え方があるのは知っていますが、それがどう違うのか、本当に違う必要があるのかが良くわかっていません(違うものなんだという議論は見ますが、それが本当にそうなんだという説得力有る議論に遭遇することや実体験が無いのです)。XPでは区別していませんし。
その辺について、的を射た論考があれば、学びたいです。

投稿: geo | 2007年1月28日 (日) 00:16

>geoさん

コメントありがとうございます。

ソフトウェア・テストPRESSでも例えとしてありました
が、品質を健康で例えると似てる気がします。手術や
西洋医学で悪い箇所を切ったりすることも長生きする
ひとつの手法ですが、それはソフトウェアテストで
表現すると、ヘルス維持とはいえないです。

食べ物や適度な運動をする、といった健康管理がコメ
ントにある「よい設計」にあたると僕は思っています。

--

品証=品質保証のテストについてですが、個人的には
区別していいと思ってます。一般的には、機能テスト
も品証テストに含まれると思いますが、非機能テスト
なんかはテストドリブンだけでは十分じゃないと思う
からです。

--

今回僕の文章が読みづらかったのかもしれませんが、
意図したことは、こんな感じです。

テストツールなどを導入することでテストを実施すると
いう手間がなくなります。それによりテスト工程という
ものが今までよりも見通しがよくなったように見える
くるかもしれません。
そのとき、今まで自分の作成していたテストケースが
いかに感覚的で大雑把なものか、ということに気づき
やすくなるんじゃないかって思ったんです。

「あ~どんな観点でテストケースを作成すればいいんだろう?」
「このテストケースって意味がないんじゃ?」
「単純に組み合わせたらテストケースが膨大になっちゃうけど、どうしたらいいんだろう?」
「このテストパターンは他でも使えそう」

テストツールを導入すると、こんないい気づきを創発
してくれるのかも、って思ったわけです。
(新人/経験の少ない開発者にとっては
有意義なことだと思ってるわけです)

もしかしたら、geoさんたちの論点とずれた記事だった
かもしれません。だとしたらすみませんでした^^;

投稿: softest | 2007年1月29日 (月) 14:43

コメントを書く



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




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/155415/5078290

この記事へのトラックバック一覧です: テストツールとテスト設計意識:

« [試験]JSTQBテスト技術者資格認定 | トップページ | [セミナー]ソフトウェア品質向上セミナー2007 »