テストケースを出す際に、境界値分析や0など様々な注意点があるが、最近テスト実施をしているときに、注意していることがある。
それは、ある画面を起動するテストのときに、別の画面を起動したときや一度閉じてから起動することだ。
理由は、画面を表示する際に、あるクラスのメモリを確保し、画面を閉じたときに、メモリを開放することがある。
ロジックの組み方にもよるが、画面を表示した際に、メモリの確保をしないような処理があるときに、アドレス違反が発生する。下のようなロジックの場合である。
Delphiの場合
if classA <> nil then
C++の場合
if classA != NULL
これは、メモリの開放をしても、Delphiの場合は、ごみが残っているため、nilではなくなる。
C++では試していないので、分からないが、たぶん同じになるのではないかと思う。
これは、テストケースとしては、画面を表示した際にどのようになっているかを確認するので、開発者は2度以上その画面を表示することはないと思う。
そういったときに、アドレス違反が発生することが時々あるので、テスト実施時には画面を開く際には、大体2度以上開くようにしている。
それは、ある画面を起動するテストのときに、別の画面を起動したときや一度閉じてから起動することだ。
理由は、画面を表示する際に、あるクラスのメモリを確保し、画面を閉じたときに、メモリを開放することがある。
ロジックの組み方にもよるが、画面を表示した際に、メモリの確保をしないような処理があるときに、アドレス違反が発生する。下のようなロジックの場合である。
Delphiの場合
if classA <> nil then
C++の場合
if classA != NULL
これは、メモリの開放をしても、Delphiの場合は、ごみが残っているため、nilではなくなる。
C++では試していないので、分からないが、たぶん同じになるのではないかと思う。
これは、テストケースとしては、画面を表示した際にどのようになっているかを確認するので、開発者は2度以上その画面を表示することはないと思う。
そういったときに、アドレス違反が発生することが時々あるので、テスト実施時には画面を開く際には、大体2度以上開くようにしている。