テスターちゃん【4コマ漫画】

ソフトウェアテストの用語、やり方などを4コマ漫画でわかりやすく説明する(予定の)ブログです。脱線も多いです。



66.テストの7原則 その⑥

f:id:m_training:20190223234710p:plain

66.テストの7原則 その⑥

 

原則5「殺虫剤のパラドックス

パラドックスは「矛盾」といったような意味。

最強の矛と最強の盾の話もパラドックスの一つ。

 

殺虫剤のパラドックスはというと……

虫を駆除するために殺虫剤を使う

最初のうちはよく効く

その殺虫剤に対しての耐性がつきその虫が駆除できなくなる

その虫を駆除するために新しい殺虫剤を使う

最初のうちはよく効く

その殺虫剤に対しての耐性がつきその虫が駆除できなくなる

その虫を駆除するために新しい殺虫剤を使う

最初のうちはよく効く

その殺虫剤に対しての耐性がつきその虫が駆除できなくなる

以下エンドレスループ

 

テストも同様で、同じテストケースばかり使っていると、そのテストケースではバグは発見できなくなる。

そのテストケースで出たバグは修正されるのだから当然である。

ここに新しいテストケースを追加すると、また新たなバグが発見できるようになる。

もちろんそのテストケースを実施すると、そこで出たバグは修正され、新しいバグは出なくなるのである。

(もちろんこれは良いループですヨw)

 

気を付けてほしいのが、同じテストケースばかりの実施である。

そのテストケースではバグは出なくなってくる。

バグは出なくなったからそのプロダクトは大丈夫!……というとそんなことはなく、別パターンでのバグが探されていない可能性が高いゾ。

 

CIで回している自動テストも同様である。

デグレチェックの意味合いで回すなら良いが、それで新しいパターンのバグを見つけられるかな……という期待はしてはいけない。

 

デグレ

デグレードの略。

バグを修正した後、他の場所が壊れていたり、前より悪くなってしまうことがあるのだ。

ユニットテストがあまり書かれていないプロダクトは、テストの後半はデグレとの戦いになるゾ!

テストケースを通してバグ修正されたからもう大丈夫……と安心しないで、リグレッションテストを通すことはしておこう。

そうしないとリリースした後に「え!?なんでそこ動いてないの!?」みたいなことになるゾ。

(きっとテストをやってると1回は通る道だよ……)

 

じょうじ

ずばりテラフォーマーズですw

ただ作者はテラフォーマーズはちょっとしか見たことがなかったりします。

……なんか殺虫剤かけてるというよりヘアスプレーをかけてるような絵になってしまった……。

 

1コマ目

MMRを意識したけど……伝わらないだろうなぁ……。

説明系マンガの描き方を勉強しようと思って手にしたのがMMRでした(爆