壊れる原因を特定して、壊れる確率を下げて、それを継続的にやっていく
目次
10,000回 電源をぶちぎってみる
10,000回 USBをぶちぎってみる
10,000回 有線LANをぶちぎってみる
10,000回 Wifiをぶちぎってみる
10,000回 Bluetooth Low Energyをぶちぎってみる
「なにもないかもしれないのに、なんでそんなに繰り返しテストするの?」という指摘がたまにあります。
これはソフトウェアテストとハードウェアテストの根本的な考え方の違いに起因するのかなと思っています。
ソフトウェアテストでは主に網羅的な機能チェックつまりカバレッジが重視される傾向にあると思います。わかりやすく言えば、デプロイ前に網羅的に1回テストパスすれば良い、というのがソフトウェアテスト的な考え方です。
一方で、ハードウェアはわずかな環境によって結果が違ってきたりするので、例えば「USBメモリが10回に1回くらい認識されないんだよね」みたいなことが出てきます。USBメモリならユーザが目の前いるので抜き差ししてもらえば良いですが、これがどこかに組み込まれてしかも1000台出荷して毎日100台が不具合を起こすシステムと聞くとだいぶまずいですよね。
この故障率が10回に1回なのか、100回に1回なのか、10,000回に1回なのかがわからないというのがハードウェアテストの考え方のベースにあります。つまり、ハードウェアテストとは故障率を明らかにすることだといえます。
RPiは壊れないとは断言できません。RPiが物質である以上なんらかの原因で壊れることは確かです。〔……〕壊れる原因を特定して、壊れる確率を下げて、それを継続的にやっていくことしかできないと思っています。
絵でも、この「故障率を明らかにする」に近い状況がある 絵を描いていると、初めから終わりまで、無意識 / 意識的にキャンバスのエラーを探知している
絵のハードウェアテスト
しっくりこなかったら、明らかにするためにあたりをとる
エラーの原因を明らかにして取り除く
頭と髪の関係、体と服の関係、平行な直線などは正しさの比重が大きい
エラーが出やすい
私は「あたりは最初だけとるものだ」と思っていましたが、上手い人に聞いてみると、「あたりは最初から最後までずっととっている」というのです。
mk.iconもこの影響であたりをよく取り直す
油絵の動画で、完成直前にキャンバスを上下さかさまにするというのもあった
目の慣れの対策
さかさまのまま小修整もしていた
そうして、絵の故障を可能な限り取り除き、完成に至る
絵=プロダクトが、ハードウェアのように平常運転でないとmk.iconが困るので直す / 改善する
単に描かれた絵は「リリース後に放置されるソフトウェア」になりかねない
ソフトウェアテストに合格=納品、になる世界
デプロイ前に網羅的に1回テストパスすれば良い
mk.iconが小さいころ玩具の耐久試験の話を本で読んだが、偶然そこでも「スイッチを1万回押す」と書いていた