テスト固定装置とは、テストの前提として固定しておく入力と期待値のまとまりのことです。身元データの場合、氏名や住所や生年月日を含む人物の記録を、場面ごとに決まった形で用意しておくことを指します。この記事では、装置をどう並べ、どう保つかという観点で整理します。
固定装置はなぜ必要になるのか
毎回ランダムに値を生成する作りでは、失敗したときに原因を再現できません。昨日は落ちた確認が今日は通る、という状態になると、不具合の報告そのものが信用されなくなります。
固定装置があると、次の利点が得られます。
- 確認が安定します。同じ入力から同じ結果が返る前提で検証を書けます。
- 失敗を再現できます。記録に残った同じ値を使えば、同じ状態を再現できます。
- 前提が共有できます。確認の意図が値の名前から読み取れます。
一方で、固定装置は時間が経つと古くなります。誰も更新しないまま残ると、実際には起こり得ない前提の上で確認が続きます。古い装置は失敗を出しません。黙って通り続けるため、間違いに気付く手がかりが残らないのです。
人物の記録はどう整理すればよいのか?
記録そのものを一つずつ並べるだけでは、どの場面で使うのかが分からなくなります。場面と結び付けて持つのが扱いやすい形です。
| 場面 | 用意する記録 |
|---|---|
| 通常の登録 | すべての項目が揃った人物 |
| 単名の利用者 | 姓を持たない人物 |
| 長い名前 | 文字数の上限に近い人物 |
| 別の文字体系 | ラテン文字以外を使う名前の人物 |
| 高齢の利用者 | 生年月日が極端に古い人物 |
| 境界の年齢 | 条件の当日と前日の人物 |
この六つ程度で、入力欄の確認の多くをまかなえます。件数を増やすほどよいわけではなく、場面と記録が一対一で対応していることが重要です。
同じ人物を別の場面で使い回してよいのか?
使い回すと、片方の場面の都合で値を変えたときに、もう片方の確認が壊れます。共有したい場合は、共有する記録として別に切り出し、そこから派生させます。
逆に、すべての場面で別の人物を用意すると、今度は管理が煩雑になります。判断の目安は、値の変更が他の確認に影響するかどうかです。影響するなら分け、影響しないなら共有します。
同じ装置を複数の担当者が使う場合、値の名前だけでは意図が伝わりません。その記録が何を確かめるために置かれているのかを一言で添えておくと、値を変えてよいかどうかを後から見た人が判断できます。
装置が古くなるのをどう防ぐのか?
古くなる原因は主に三つです。仕様が変わった、制度が変わった、そして前提が変わった、です。どれも黙って進むため、気付く仕組みを用意する必要があります。
有効期限や見直しの時期を決めておく方法、生成の仕組みから値を取り直す方法、そして装置の値を検証する確認を一つだけ書いておく方法があります。最後の方法は、値そのものではなく、値が前提を満たしているかを見ます。たとえば、境界の年齢の記録が本当に境界に位置しているかを毎回確かめます。
ツールで装置の元になる値を用意する
当サイトの身元生成ツールでは、国と地域を選んで身元情報を生成できます。識別キーを固定すれば同じ記録を呼び出せるため、装置に書き込む値の出所として使えます。
装置に置く値は、一度生成したものをそのまま貼り付けるのではなく、識別キーと生成の条件を記録しておくほうが扱いやすくなります。値そのものを保存すると、作り方が変わったときに古い値だけが残ります。記録から取り直せる形にしておけば、必要なときに同じ手順で作り直せます。
生成される身元情報はテスト専用の合成データであり、実在の人物になりすます目的には使えません。装置に実在の人物の情報を混ぜないためにも、値は合成したものに統一してください。
開発者向け: 装置をどう書くか
装置は、人物の定義と、場面ごとの期待値に分けて持ちます。人物の定義を一箇所に置き、複数の確認から参照する形にすると、値の変更が一箇所で済みます。
値は識別キーで再現できる形にします。乱数の種を記録しておけば、装置そのものを保存しなくても同じ記録を取り直せます。ただし、生成の仕組みが変われば同じキーでも別の値になるため、記録に残した期待値と突き合わせる確認を一つ入れておくと安全です。
境界の標本は、値だけでなく「何の境界なのか」を名前で表します。条件の当日、前日、翌日という三つは、しきい値の確認で最も見つけやすい組です。同じ考え方は年齢確認テストの設計で扱っています。
装置をどこに置くかも決めます。確認の本体と同じ場所に置くと、他の確認から使いにくくなります。共有の置き場を一つ決め、そこから参照する形が扱いやすいです。装置を保存する際の考え方は、身元データの項目をそろえる身元データの整合性の内容と重なります。
次のステップ
まず、手元の装置にある人物の記録を数え、それぞれがどの場面に対応するかを一言で説明できるか確かめてください。説明できない記録は、使われていない可能性があります。次に、境界の三つ組がそろっているかを見ます。足りなければ、身元生成ツールで生成した値から用意するところから始められます。