GUIテスト論

amelia2007-07-31

むぅー。

やはりGUIテストはケースが多すぎで、現状の人海戦術という訳にはいかない弱小環境では開発者が炸裂する。
今日、テスト項目には記載していない(単純に漏れちゅう話)操作をやってみたのです。
プロパティページでワースレ起こしてブイブイやりながら完了通知をメッセージングする実装箇所があって、そこで何気なくAlt + F4発行したらパスンてシートが閉じて、ワースレが参照しているウィンドウハンドルが飛んで落ちてやんの。もう、そこの実装者が神隠しに遭っちゃってるから、仕方なく追ってたらSC_CLOSEのハンドラなんて未実装で「それが何か?」てな勢いのコード。システムメニューを無効にしてるけど、それ何の意味もないから。勘弁してください。

な訳で、傾向から言うと、
・ワースレ走ってるところでは、その終了割り込み実装が曖昧
・リスト系、スプレッドシート系は膨大なデータ(限界データ)を流し込まれた場合の処理が曖昧
・データ値が0又はマイナスだった場合の処理が曖昧
・モーダル時の親ウィンドウ指定が曖昧
・モードレス時にその他ウィンドウがイベントを受け付けてしまっている場合が多々ある
・ファイルロック関係が曖昧
・システムメニューに対する処理が曖昧
・ウィザード系の戻る操作で分岐ルートを変更すると不具合が素敵なくらい多発
・条件からして選択してはまずい機能が選べる→その先に必ず虫がいる
てな感じで、なんちゅうのか、あれですよ、想定外のインプットに対する考慮と、デフォルト動作に対する思慮不足が大部分。
「そういう操作するんかーい!」てフィールドでバグ出しても手遅れなんで、操作ガードは緻密に設計した方が良いですね。パンパンパンとポップアップを出すむかつくアプリではなくて、最初から条件に則してコントロールを非活性なりする感じで。

結局、GUIのバグちゅうのは傾向が似てくると思われるので、これはCASE云々より経験が物を言うような気がします。
Webアプリが火を噴くのもよく分かるような気がします。