SlideShare a Scribd company logo
www.oisix.com 
本番に近いデータで 
テストするには 
~テストの質上げ、コストを下げる為に行った改善~ 
2014/10/30 オイシックスシステム部岩井
開発環境の利用状況 
www.oisix.com 
Test AP Server 
Test-db 
開発者 
デザイナー 
オペレーション 
EC 
ECサイト 
社内システム・・・ 
開発者
課題 
顧客データのパターンが多い 
通常会員、定期会員(ビギナー、送料定額、牛乳飲み放題、 
予約、お弁当クラブ、基本セット、クーポン、特定属性、 
VIP、決済方法、定期ボックスあり、離島、自社便 
・・などなど)、おいトク 
→ このパターンの顧客データでログインしないと 
サービスが使えないのでテストできないとか、 
このページが表示できないからテストできないとか、、 
www.oisix.com
課題 
システム部開発チーム 
ちょっとした改善や障害の改修の度にいちいちテスト用 
顧客を作ってテストする必要がある。 
いろんなパターンのテストデータを作るのがめんどう。 
関連するデータを揃えたり・・ 
テスト用に作った名前、住所などで品質大丈夫? テス 
ト○○とか・・ 
そんな新規の顧客データばかりでテストして大丈夫? 
ある程度、蓄積された注文データ/請求/入金など 
のデータがいるのでは・・ 
www.oisix.com
課題 
デザイナーやオペレーションチーム 
DBを直接触れないので特定パターンの顧客での 
テストデータを作るのが困難。 
ページを作ったがテスト機で確認できない・・ 
www.oisix.com
www.oisix.com 
毎朝コピー 
改善 
Product-db Test-db 
問題 
・テーブル数→ 多すぎる 
・データ量→ 多すぎる 
・個人情報→ そのままコピーできない 
・既存データ→ いろんな人が使っているので 
削除できない 
・テーブル構成→ 開発に使っているので変わる
www.oisix.com 
毎朝コピー 
改善 
Product-db Test-db 
解決策 
・テーブル数→ 必要最小限 
・データ量→ 絞り込む 
・個人情報→ マスキング 
・既存データ→ そのまま。コピーするデータのIDを 
競合しないIDに変換する 
・テーブル構成→ 毎日数回自動チェック
www.oisix.com 
毎朝実行 
改善 
Product-db Test-db 
個人情報有り 
変換1 
個人情報のマスキング 
ID変換 
変 
換 
2 
個人情報無し 
変換1 
変換2
個人情報のマスキング 
よくやりがちな簡単なマスキング・・・ 
UPDATE TBL_CUSTOMER 
SET ADDRESS = ‘テスト’ ||CUSTOMER_ID, YUUBIN = ‘1234567’ 
www.oisix.com 
テスト00001 
テスト00002 
テスト00003 
テスト00004 
テスト00005 
テスト00006
個人情報のマスキング 
テストエースでより本物に近いデータに変換!! 
本物と見間違えられることしばしば・・・ 
www.oisix.com
テストエース 
氏名 
フリガナ 
メールアドレス 
電話番号 
郵便番号 
住所 
などなど 
www.oisix.com
テストエース 
 独自の変換ロジックも簡単に作れる。 
 自動で個人情報を見つけて提案してくれる機能があ 
る。 
 固定の文字列に置き換え。 
 日付や数値のランダム変換。 
 CUI実行できる。(バッチに組み込める) 
 ファイル出力、取込み 
www.oisix.com
www.oisix.com 
毎朝実行 
改善 
Product-db Test-db 
個人情報有り 
変換1 
個人情報のマスキング 
ID変換 
変 
換 
2 
個人情報無し 
変換1 
変換2
データコピーの問題 
いろんな人たちが自由にデータを作ってテストして 
いる為、それらのデータを勝手に消すことができな 
い。 
 個人が作ったテストデータはそのままにして 
 本番からのテストデータをコピーする 
www.oisix.com 
→共存の道を選んだ。
データコピーの問題 
Primary key の変換 
orderId: 11232091 -> 91232091 
customerId: 210311 -> 910311 
例) 
CustomerId IDの中でさらに分け変更 
1% ~ 8% 通常のシステムから作られたID 触れない 
9% 本番からコピーしたデータ毎日All Delete 
www.oisix.com
こいつが・・・ 
www.oisix.com 
FK
やっかい・・ 
注意!! 
www.oisix.com 
DELETEする順番 
INSERTする順番 
データを絞る時の親子関係
www.oisix.com 
毎朝コピー 
改善 
Product-db Test-db 
解決策 
・テーブル数→ 必要最小限 
・データ量→ 絞り込む 
・個人情報→ マスキング 
・既存データ→ そのまま。コピーするデータのIDを 
競合しないIDに変換する 
・テーブル構成→ 毎日数回自動チェック
自動チェック 
www.oisix.com 
Product-db Test-db 
ddl ddl 
Table 
View 
Sequence 
Index 
Function 
Procedure 
Package 
synonym 
などなど 
diff 
差分あり!
テストデータを探す! 
作ったデータはそのままでは 
システム部の人以外使えない・・・ 
www.oisix.com
テストデータを探す! 
社内システム 
www.oisix.com
結果 
デザイナー 
オペレーション 
 システム部以外の人でも簡単にいろんな顧客パターンの 
テストデータを探してページの確認ができる 
開発 
 ちょっとした開発でもいちいちテストデータを作らずにテスト 
www.oisix.com 
ができる 
 直近であれば本番に近いデータ量がある為、テストDBでも常に 
負荷がかかった状態でテストができる 
 バッチのテストの為に大量のデータを作ったりしなくて済む。 
しかも、本番同様の複雑なデータ
www.oisix.com 
ご質問など
www.oisix.com 
ご静聴有難うございました。

More Related Content

Similar to オイシックスIT勉強会20141030_テストデータ

製造業における「データ活用」事例 -センサー・データと既存データを統合し、品質管理・顧客満足度を向上
製造業における「データ活用」事例 -センサー・データと既存データを統合し、品質管理・顧客満足度を向上製造業における「データ活用」事例 -センサー・データと既存データを統合し、品質管理・顧客満足度を向上
製造業における「データ活用」事例 -センサー・データと既存データを統合し、品質管理・顧客満足度を向上日本テラデータ株式会社
 
Oracle Advanced Analytics 概要
Oracle Advanced Analytics 概要Oracle Advanced Analytics 概要
Oracle Advanced Analytics 概要
オラクルエンジニア通信
 
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターンAzure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Kazuyuki Miyake
 
ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014
Koji Hasegawa
 
No-Ops で大量データ処理基盤
No-Ops で大量データ処理基盤No-Ops で大量データ処理基盤
No-Ops で大量データ処理基盤
Google Cloud Platform - Japan
 
No-Ops で大量データ処理基盤を簡単に実現する
No-Ops で大量データ処理基盤を簡単に実現するNo-Ops で大量データ処理基盤を簡単に実現する
No-Ops で大量データ処理基盤を簡単に実現する
Kiyoshi Fukuda
 
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
真吾 吉田
 
テストって何がしたいんですか?
テストって何がしたいんですか?テストって何がしたいんですか?
テストって何がしたいんですか?Satoshi Kubo
 
AIの取り組み.pdf
AIの取り組み.pdfAIの取り組み.pdf
AIの取り組み.pdf
KunihiroSugiyama1
 
Test automation strategy for .net core 3 transition
Test automation strategy for .net core 3 transitionTest automation strategy for .net core 3 transition
Test automation strategy for .net core 3 transition
Tatsuya Ishikawa
 
【STAC2017】テスト自動化システム 成長記
【STAC2017】テスト自動化システム 成長記【STAC2017】テスト自動化システム 成長記
【STAC2017】テスト自動化システム 成長記
友隆 浅黄
 
20110519 okuyama tokyo_linuxstudy
20110519 okuyama tokyo_linuxstudy20110519 okuyama tokyo_linuxstudy
20110519 okuyama tokyo_linuxstudyTakahiro Iwase
 
オープンソースソフトウェアによるビジネス支援セミナー
オープンソースソフトウェアによるビジネス支援セミナーオープンソースソフトウェアによるビジネス支援セミナー
オープンソースソフトウェアによるビジネス支援セミナー
株式会社 オープンソース・ワークショップ
 
異業種でのテスト自動化の実際
異業種でのテスト自動化の実際異業種でのテスト自動化の実際
異業種でのテスト自動化の実際
Satsuki Urayama
 
Gamedevenvstudy1
Gamedevenvstudy1Gamedevenvstudy1
Gamedevenvstudy1
Takashi Kokawa
 
[Japan Tech summit 2017] DAL 005
[Japan Tech summit 2017] DAL 005[Japan Tech summit 2017] DAL 005
[Japan Tech summit 2017] DAL 005
Microsoft Tech Summit 2017
 
おしゃスタ@リクルート
おしゃスタ@リクルートおしゃスタ@リクルート
おしゃスタ@リクルートIssei Kurahashi
 
[db tech showcase Tokyo 2015] E27: Neo4jグラフデータベース by クリエーションライン株式会社 李昌桓
[db tech showcase Tokyo 2015] E27: Neo4jグラフデータベース by クリエーションライン株式会社 李昌桓[db tech showcase Tokyo 2015] E27: Neo4jグラフデータベース by クリエーションライン株式会社 李昌桓
[db tech showcase Tokyo 2015] E27: Neo4jグラフデータベース by クリエーションライン株式会社 李昌桓
Insight Technology, Inc.
 

Similar to オイシックスIT勉強会20141030_テストデータ (20)

製造業における「データ活用」事例 -センサー・データと既存データを統合し、品質管理・顧客満足度を向上
製造業における「データ活用」事例 -センサー・データと既存データを統合し、品質管理・顧客満足度を向上製造業における「データ活用」事例 -センサー・データと既存データを統合し、品質管理・顧客満足度を向上
製造業における「データ活用」事例 -センサー・データと既存データを統合し、品質管理・顧客満足度を向上
 
Oracle Advanced Analytics 概要
Oracle Advanced Analytics 概要Oracle Advanced Analytics 概要
Oracle Advanced Analytics 概要
 
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターンAzure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
 
ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014
 
No-Ops で大量データ処理基盤
No-Ops で大量データ処理基盤No-Ops で大量データ処理基盤
No-Ops で大量データ処理基盤
 
No-Ops で大量データ処理基盤を簡単に実現する
No-Ops で大量データ処理基盤を簡単に実現するNo-Ops で大量データ処理基盤を簡単に実現する
No-Ops で大量データ処理基盤を簡単に実現する
 
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
 
テストって何がしたいんですか?
テストって何がしたいんですか?テストって何がしたいんですか?
テストって何がしたいんですか?
 
AIの取り組み.pdf
AIの取り組み.pdfAIの取り組み.pdf
AIの取り組み.pdf
 
Test automation strategy for .net core 3 transition
Test automation strategy for .net core 3 transitionTest automation strategy for .net core 3 transition
Test automation strategy for .net core 3 transition
 
Nds#24 単体テスト
Nds#24 単体テストNds#24 単体テスト
Nds#24 単体テスト
 
【STAC2017】テスト自動化システム 成長記
【STAC2017】テスト自動化システム 成長記【STAC2017】テスト自動化システム 成長記
【STAC2017】テスト自動化システム 成長記
 
20110519 okuyama tokyo_linuxstudy
20110519 okuyama tokyo_linuxstudy20110519 okuyama tokyo_linuxstudy
20110519 okuyama tokyo_linuxstudy
 
BPStudy20121221
BPStudy20121221BPStudy20121221
BPStudy20121221
 
オープンソースソフトウェアによるビジネス支援セミナー
オープンソースソフトウェアによるビジネス支援セミナーオープンソースソフトウェアによるビジネス支援セミナー
オープンソースソフトウェアによるビジネス支援セミナー
 
異業種でのテスト自動化の実際
異業種でのテスト自動化の実際異業種でのテスト自動化の実際
異業種でのテスト自動化の実際
 
Gamedevenvstudy1
Gamedevenvstudy1Gamedevenvstudy1
Gamedevenvstudy1
 
[Japan Tech summit 2017] DAL 005
[Japan Tech summit 2017] DAL 005[Japan Tech summit 2017] DAL 005
[Japan Tech summit 2017] DAL 005
 
おしゃスタ@リクルート
おしゃスタ@リクルートおしゃスタ@リクルート
おしゃスタ@リクルート
 
[db tech showcase Tokyo 2015] E27: Neo4jグラフデータベース by クリエーションライン株式会社 李昌桓
[db tech showcase Tokyo 2015] E27: Neo4jグラフデータベース by クリエーションライン株式会社 李昌桓[db tech showcase Tokyo 2015] E27: Neo4jグラフデータベース by クリエーションライン株式会社 李昌桓
[db tech showcase Tokyo 2015] E27: Neo4jグラフデータベース by クリエーションライン株式会社 李昌桓
 

Recently uploaded

アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
You&I
 
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdfCO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
yamamotominami
 
クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdfクラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
TatsuyaHanayama
 
シグネチャで始めるRustプログラミング - Superteam Japan Developer Event
シグネチャで始めるRustプログラミング - Superteam Japan Developer Eventシグネチャで始めるRustプログラミング - Superteam Japan Developer Event
シグネチャで始めるRustプログラミング - Superteam Japan Developer Event
K Kinzal
 
Solanaで始めるRustプログラミング - Superteam Japan Developer Event
Solanaで始めるRustプログラミング - Superteam Japan Developer EventSolanaで始めるRustプログラミング - Superteam Japan Developer Event
Solanaで始めるRustプログラミング - Superteam Japan Developer Event
K Kinzal
 
NIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしようNIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしよう
You&I
 

Recently uploaded (6)

アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
 
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdfCO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
 
クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdfクラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
 
シグネチャで始めるRustプログラミング - Superteam Japan Developer Event
シグネチャで始めるRustプログラミング - Superteam Japan Developer Eventシグネチャで始めるRustプログラミング - Superteam Japan Developer Event
シグネチャで始めるRustプログラミング - Superteam Japan Developer Event
 
Solanaで始めるRustプログラミング - Superteam Japan Developer Event
Solanaで始めるRustプログラミング - Superteam Japan Developer EventSolanaで始めるRustプログラミング - Superteam Japan Developer Event
Solanaで始めるRustプログラミング - Superteam Japan Developer Event
 
NIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしようNIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしよう
 

オイシックスIT勉強会20141030_テストデータ