株式会社大和ソフトウェアリサーチは、大和証券株式会社の関連会社として、システムのコンサルティングから設計・教育・運用・保守管理までのトータルソリューションを提供している。データセンターなどによるハウジングも得意で、クラウドサービスを使ったホスティングなども行っている。顧客のセキュリティ対策などを担うこともあり、個人情報には敏感な会社だ。
2015年8月にプロジェクト開始となった案件のクライアントは保険・共済業界。保険・共済に強みを持つ同社にとっては最大規模のクライアントだ。同プロジェクトでは、12年前に同社が同じシステムをクライアント・サーバ型で請け負っていたものの完全リプレースとなる。今回はWebシステムを採用し、ブラウザから内部情報にアクセスする形を取った。2年間で組み上げた画面は200にも及び、出力する帳票は500にも上った。一時期は150名体制でプロジェクトを動かしていたこともある。システムは、共済の契約情報や契約件数など、共済団体の内部情報を取り扱う。共済加入者の事故情報などのセンシティブな情報を取り扱うということもあり、テストデータは本番データを使うわけにはいかない。データベースのテーブルの数は300、レコード数は数百万件に達する。これだけの膨大なデータを取り扱うのに、手作業でテストデータを組むわけにはいかない、そこが同社の悩みだった。この悩みを解決したのが、本番環境のデータから安全・高品質なテストデータが作成可能なテストエースである。本稿ではその内容に迫る。
大和ソフトウェアリサーチでは、これまでもクライアント・サーバ型のシステムを使って、同システムを組み上げてきた実績がある。だが、旧システムでのテスト環境は本番データに近く、また個人情報などは自前でマスキングしていたため膨大な時間がかかっていた。今回は、開発にあたってテストデータを作っている時間がなかったと語るのは、保険事業本部 保険システム1部 部長の森田真介氏だ。
「従来のシステムの方式のまま、今回もテストデータを作ろうと思ったら、2〜3人がかかりきりで1カ月ほどデータの生成に時間を費やし、テストの期間は1年にも及んだはずです。また、自前のテストデータでは、単体テストでは動くけれども結合テストでは動かないなど、テスト工程でトラブルが発生していたことでしょう」
また、擬似データを使って、より本番環境に近い、生々しいデータを作ることができ、助かったと語るのは保険事業本部 保険システム1部 保険システム課 技師の市江俊之氏だ。
「テストエースは、一度設定してしまえばあとはボタン1つで擬似データを作れます。今回のプロジェクトはデータベースのテーブルが数百にも及び、膨大なテーブルがあったため、最初の設定は少し面倒だったのですが、擬似データをボタン1つで作成できたのは強みだと思います」
テストエースには、あらかじめ用意された定型のマスキングルールのほか、Javaを使って独自のマスキングルールを作成することもできるユーザー定義関数という機能がある。同社では、一部その機能を使用していた。
「帳票の数字を1桁ずらすとか、ランダムな数字に置き換えるなどのプログラムを作成して、独自のマスキング機能を使っていました。帳票は見た目が大切なので、ここにどんなデータが入るのかをイメージするためにも、Javaで作成できたのは非常に便利でした」(市江氏)。
この機能が、テストエースの中でも特に利用価値が高く、おすすめしたい点だと森田氏は語ってくれた。
「サポート体制にも満足しています。そもそも、サポートと言っても一度、定義のバックアップはできますかと問い合わせた程度です。直感的な操作で簡単に理解できるので、テストエースの導入に関しては特にトラブル等は生じませんでした。全体のプロジェクトは2カ月ほどリリースを延ばしましたが、テスト工程に関しては当初の計画通りに進んでいます。開発は複数の環境で行われ、DBtoDBでテストデータを作成していました。データのボリュームが数十万件から数百万件に及ぶため、さすがのテストエースでも2〜3日は時間がかかってしまいましたが、大変なのは最初の設定のみで、あとは自動でテストデータを作成してくれます」
そもそも、大和ソフトウェアリサーチがテストエースに出会ったのは、同社の保険事業本部 本部長の翁長良哉氏がインターネットで見つけたことがきっかけだ。もともとテストデータを作る必要があるという課題を持っていた同社とシステムエグゼの出会いは、2014年3月頃にさかのぼる。
「最初はインターネットから問い合わせて、デモを見て、簡単にマスキングができるので、好印象を持ちました。個人情報を単純に『■』などで置き換えるのではなく、擬似データで置き換えることに魅力を感じました。帳票は、『■』のデータで作るよりも、『田中太郎』のような擬似データで作ったほうが見栄えの設計にもいいのです。明朝体にしようかゴシック体にしようかなどの検討を、テストデータを通じて行うこともできました。また、テスト前に導入を決めていたため、スムーズに導入することができ、人的リソースを他の面に振り分けることもできました」(森田氏)。
ただ、テストエースを使用していくうえで、課題も見えてきたという。
「今回のプロジェクトはテーブル数が多く、膨大なデータを取り扱います。そのため、作成に失敗した時はどこの段階で落ちていたのか、失敗したログがちゃんと見られるようになっていると良かったと思います。最初は、データベースのスキーマ間移動ができなかったのですが、バージョンアップによってできるようになりました。定義に時間がかかるのと、膨大なデータによる処理時間の長さが今後の課題ではないでしょうか。ただ、細かいマスクの設定など、やりたいことはすべてできた印象です。仮に手作業でやっていたら、データの精度が落ちてしまい、本番直前にバグに気がつくなどのクリティカルなミスが生まれていたかもしれません。テストデータの品質向上が、ソフトウェアの品質向上に繋がってくれたことが最大の功績です」(森田氏)。
このように、個人情報の中でも重要な、共済加入者の契約情報、事故情報などを取り扱うシステムでも活用されるテストエース。正確なマスキングと自在に定義できる機能によって、正確かつ膨大なデータを取り扱うことができた。テストデータの信頼性はそのまま、システムの信頼性につながるだろう。手作業でのテストデータ作成に限界を感じている企業は多い。そんな会社には、テストエースが役に立つのではないだろうか。
Copyright© SystemEXE,Inc. all rights reserved.