Dreamland-夢と想いと小さな工夫

自分の中にある想いだったり日々の工夫だったりをすこしずつ書いていこうかなぁって思ってます。

時刻の境界値に対するUI入力値

11月22日に長崎美術館にてJaSST九州が開催されました。

JaSSTソフトウェアテストシンポジウム-JaSST'18 Kyushu

ソフトウェアテストの活動の中で基本となる技術と技術を活用するために必要なことについて学ぶ一日になりました。こういうテーマはスルメ的な魅力があって、誰もがそれぞれ異なる学びを得ることができるんですよね。

 

で、午後の境界値ワークショップのときに、ちょっとした気付きをいただきました。

お題が会議室利用可否判定のシステムで、
・時刻を入力すると会議室の利用可否を判定する
・会議室の利用可能時間は9:00から23:00までとする
このときの境界値を考える演習がありました。

この演習の解説で、一般的には「9:00〜10:00」「10:00〜11:00」という書き方をする。という話がありました。だから23:00は含むのか?という疑問が出るという話だったのですが・・・

そうか、たしかに。終了時刻をわざわざ9:59とは書かない。10:00って書きたい。
もしも9:59と書けっていわれたら、面倒だなもう#って思う。

でも普段テストを考えている立場としては、終了時刻10:00という文言に対して、もやっとしてしまう。なんで9:59じゃないんだろう?って思う。

たしかにスケジュール管理機能を持つシステムのUIは、たいてい終了時刻は次の開始時刻とかぶるような書き方になっている。
つまり、UI上ではそういう刻みをしないで、裏で終了時刻ならば1秒引くという対応をしているんだ。(たとえばレコーダーの予約録画とかだと前の録画終了処理と次の録画準備処理で20秒前に終了したりするのだけれど、そういう裏処理があるかどうかにかかわらず終了時刻の扱いはどうするのがよいか考える必要があるのね。)

仮に分刻みで設定できるとしたら、勝手に1秒引かれることのほうが不都合になるかもしれない。だけど会議室予約などのスケジュールなら15分単位とかになりますよね。


テストを考える頭で仕様を考えると、境界値を意識しすぎて、UI入力を面倒なことにしそうだなぁ。と感じたのでした。そして入力値どおりにシステムに設定することが必ずしも正ではないよな、ということも改めて感じました。