Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2024年版)
Search
Infiniteloop
April 23, 2024
Technology
6
25k
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2024年版)
インフィニットループ社内の新卒向け研修で使われた資料、テスト文字列に「うんこ」と入れるな(事例などを追記した2024年版)です。
Infiniteloop
April 23, 2024
Tweet
Share
More Decks by Infiniteloop
See All by Infiniteloop
俺の PHP プロファイラの話 PHP スクリプトで PHP 処理系のメモリをのぞき込む
infiniteloop_inc
0
270
心理的安全性を学び直し、 「いい組織とは何か?」を考えてみる
infiniteloop_inc
0
340
ゼロからつくる 2D物理シミュレーション ~物理現象をコードに落とし込む方法~
infiniteloop_inc
0
410
詫び石の裏側
infiniteloop_inc
0
370
リファクタリングで実装が○○分短縮した話
infiniteloop_inc
0
140
ADRという考えを取り入れてみて
infiniteloop_inc
0
130
500万行のPHPプロジェクトにおけるログ出力の歩み
infiniteloop_inc
0
110
I ❤ Virtual Machines 仮想環境をより便利に使うツールたち
infiniteloop_inc
0
83
アニメーションとスキニングをBurstで独自実装する
infiniteloop_inc
0
230
Other Decks in Technology
See All in Technology
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
250
CDCL による厳密解法を採用した MILP ソルバー
imai448
3
120
Lambda10周年!Lambdaは何をもたらしたか
smt7174
2
110
アジャイルでの品質の進化 Agile in Motion vol.1/20241118 Hiroyuki Sato
shift_evolve
0
170
Making your applications cross-environment - OSCG 2024 NA
salaboy
0
190
Amazon CloudWatch Network Monitor のススメ
yuki_ink
1
210
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
1
230
AI前提のサービス運用ってなんだろう?
ryuichi1208
8
1.4k
DynamoDB でスロットリングが発生したとき_大盛りver/when_throttling_occurs_in_dynamodb_long
emiki
1
430
Taming you application's environments
salaboy
0
190
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
390
Flutterによる 効率的なAndroid・iOS・Webアプリケーション開発の事例
recruitengineers
PRO
0
120
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
Building Applications with DynamoDB
mza
90
6.1k
Done Done
chrislema
181
16k
Statistics for Hackers
jakevdp
796
220k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
KATA
mclloyd
29
14k
Transcript
[新卒向け研修資料] テスト文字列に 「うんこ」と入れるな ~軽い気持ちで入れたその文字列は、いかにして社外に漏れるか~ 株式会社インフィニットループ 代表取締役会長 松井 健太郎 2024年版!
どうも!松井です!!いまは会長になりました!! ※フリー素材 3Dモデル絶賛配布中 https://www.infiniteloop.co.jp/sp ecial/ceo/
はじめに • 本日はうんこを題材にした話をします • タイトルはアレですが大事な話なのでちゃんと聞いてください • 繰り返ししている話なので、聞いたことがある人も 多いかもしれませんが、何度でも話します。
愛されて23.6万View! ※2024年4月現在 結構前に作った資料ですが、長く読まれ続けています。
本日伝えたいこと テスト文字列には 無難な文字列を使うこと 以上
テスト文字列とは? • 入力フォームなどを作るときに入れる文字列 • Web系エンジニアであれば、テスト等で山ほど入力するはず コレ
ところが? ここで人はつい出さなくてもよいユーモアを発揮してしまう
事例(1) セシウムさん騒動 参考: https://ja.wikipedia.org/wiki/%E3%82%BB%E3%82%B7%E3%82%A6%E3%83%A0%E3%81%95%E3%82%93%E9%A8%92%E5%8B%95 2011年に東海テレビのローカルワイド番組「ぴーかんテレビ」において発生した、 番組基準を大きく逸脱した不謹慎なテロップを表示した不祥事。 地方局のローカル番組内の出来事ながら、 日本全国における放送事業者の倫理観を問われる事態に発展した。 (Wikipediaより)
事例(2) じゃぶじゃぶ課金事件 参考: https://wedge.ismedia.jp/articles/-/4699 2015年にとあるブラウザゲームの「遊び方説明」ページが話題となった。 そこには 「プレイヤーがじゃぶじゃぶ課金したくなるような射幸心を煽りまくる説明文章」 というテキストが掲載されており、何らかのミスで公開されてしまったようだ。 文章は運営の手によりすぐに削除されたが、キャプチャ画像などが即座に 拡散され、まとめサイトやニュースサイト、SNS上などで大炎上した。
みんな言う • いや、私はそんなミスはしませんよ • これローカル環境ですから大丈夫ですよ
うんこの力をなめるな
例えば… • コマンドの引数を打ち間違えた • DBのダンプファイルを取り違えて復元した • テスト用のファイルや画像を本番環境にデプロイしてしまった • LBの参照先設定を間違えた •
リリース時に一部テーブルを消し忘れた • テスト環境だと思いこんでいた • そんな仕様だとは知らなかった 知らなかった… そんなつもりはなかった… 悪意はない… 膨大な数のテストデータは、0.001%の壁をくぐり!すり抜けて! うんこは本番環境に"必ず"現れる!!
どうすればいいのか?
どうすればいいのか? • 人類はうんこに打ち勝つことは不可能 • どんなに気をつけていてもミスは必ず起こる • 日頃から誤爆してもよい振る舞いをするしかない
正しいテスト文字列で防ぐ • 万が一漏れても問題ない文字列や画像を使う ◦ 例: 名前の場合 テスト太郎 ◦ 例: 会社名の場合 株式会社テスト ◦ 「ああああ」などでもよいが、それはそれでシュールな絵面になることもあるし、 開発時にカラム間違い等に気づける方が合理的
◦ 画像はウケを狙いがちなので特に注意、組織としてテスト画像を用意しておくと良い • 一見してテストとわかる文字の方が望ましい ◦ 実在する会社名だと万が一漏れた際に迷惑をかけるかもしれない ◦ テストデータであることが分かりづらいと取り違い事故などが発生する ※特に問題のない文字列だが、 外部に出ると話題になってしまう例 → 引用元: https://buzzap.jp/news/20210904-kyocera-analysis-center-member-aaaaaaaaa/
文化で防ぐ • 不適切な入力している人がいたら周りが止める ◦ 新人が「うんこ」など不適切な文字列を入れていたら諭す ◦ 不適切なテストデータを発見したら、原因を突き止める • 礼節を持って対応する ◦
常に表裏なく、たとえクライアントに見られても問題ない振る舞いを行う • 冷笑する文化を作る ◦ 仕事中にふざけない ◦ うんこと入力することが本当に面白いのかよく考える ◦ ふざけている人がいたら冷笑する(面白がらない)、先輩や上司はきちんと注意する ◦ そのユーモアはもっと活かせる場で使うようにしよう ◦ 楽しい職場環境は大事なので、ふざけあえる場は別途作りそちらで遊ぼう
仕事中にはふざけない • 悲しい事故の99%はつまらない冗談から起きる • ユーモアや楽しい職場環境は大事だが、業務システム上でやるべきではない • プロ意識を持つこと(プロ=ユーモアの無い人 ではないはず) 事例: 尻エアーコンプレッサー
• お尻から空気を入れることで何人もの死亡事故が起きている • 殺人の意思はなく、おそらく「冗談で」やっている (いじめ目的の場合もあるかもしれないが、きっと殺す気はないはず) • 機器やシステムが考えていたのと違う挙動をすることはよくあること
事例(3): まともな文字列を使うことの重要性 その1 Yahoo! JAPANのプッシュ通知誤配信の事例(2021/12/22) 当然SNSで炎上し、ネットニュースに載った。 「ゲリラや特殊部隊による攻撃が発生しました」 ではなく 「これはプッシュ通知のテストです」 であれば、話題性は何倍も少なかったはず。 (ニュースにもならなかった?)
※ [配信テスト] [dev] を付けていたことで、 被害が軽減していることにも注目
事例(4): まともな文字列を使うことの重要性 その2 JR東海のリニア・鉄道館サイトのお知らせの事例(2024/03/22) JR東海のリニア・鉄道館サイトのお知らせで、 誤ったテスト画面を表示してしまい、SNSで話題に。 > 「重要な重要が重要で重要」リニア・鉄道館サイトに > 奇妙な画面 誤ってテスト画面を表示 >
見つけた人が「どうしたJR東海」「お腹痛い」と投稿。 という題名で、ねとらぼの記事にもなってしまう。 ※本文がまともだったため大幅なダメージ軽減ができて いるが、もしタイトルもまともだったら話題にもならな かったかもしれないという惜しい例。 ※タイトルは明らかに「不要なユーモア」 本文もふざけていたらと想像すると震える。
余談(1): メールのテストについて • メールアドレスにはテスト用の予約ドメインである 「example.com」「example.jp」や「.test」等を使うこと ◦ 例:
[email protected]
◦ 例:
[email protected]
◦ 例:
[email protected]
• 適当に打った「aaa.com」や「test.com」は使ってはダメ • メールが届いて相手に見られてしまったり、 User Unknownメールが飛び交うことになる
余談(2): ランダム文章の生成 • Word上で「=rand()」と入力するとランダムの文章が生成できる ◦ 引数の数字で長さを調整できる ◦ 「=lorem()」で英文のランダム文が生成 • 最近だとChatGPTなどのAIで生成してもよいかもしれない
• とはいえ、一見してテストとわからない文字列は、 本番データとの取り違えが発生しそれはそれで厄介 • 組織で利用するサンプル文章を定めておくとよい ◦ 「吾輩は猫である。名前はまだない。どこで…」など ◦ 決まったサンプル文章であれば、すぐテストデータとわかる
まとめ • テスト文字列には、無難な文字列を使うこと。 • 入力する文字列や画像は全て外部に漏れる可能性があると考えること。 • 業務中はふざけない(休憩中など他の時間に楽しく遊ぼう)