SlideShare a Scribd company logo
3
Most read
4
Most read
6
Most read
PHPのTestの関数名を日本
語にした話
PHPUnitのテスト名を日本語にした
もくじ
導入前の社内のテストの状態
なぜ日本語にしようと思ったのか
日本語導入のために決めたルール
導入後の利点
導入後の問題点
改善案
参考
導入前の社内のテストの状態
● カバレッジがそもそも低い X0%
● テストが本当に正しいのかわからない
● CI(Jenkins)でみたときに失敗しているテストが探しづらい
● testメソッドの命名規則がない
● あまりテストを書かない
● 変更に弱いテストが多い
なぜ日本語を導入しようと思ったのか
● テストが足りているのかわかりづらい(コードレビューの際の負荷)
● オフシェアはやめた
● このタイミングでテストのルールを決めたい
● PHPSpecはSpecの管理が現在のシステムだと難しい(Composerがうまく使
えない)ので却下になった
● 新しく書いたテストと今までの質の悪いテストを区別したい
● テストを他のメソッドから呼ぶことはない(日本語でこまらない)
日本語導入のために決めたルール
● context (条件)と it (結果)をメソッド名に含める (基本的にこれだけ)
ex .
function ユーザーが男性の時にtrueを返す()
{
$user = new User();
$user->sex = User::MAN;
$this->assertTrue($user->isMan());
}
導入後の利点
● レビューの時にテスト内容の不備がすぐに分かる
● テストが上手く書けない時にメソッドの設計を見直しやすくなる
● CIでこけてもわかりやすい
● テストだけでなくコードもやっていることが自然と明確になった
● テスト名の中で複数のassertを書きにくくなった
● BDDとかTDDしやすくなっている
実際の問題点(今のところ)
● 海外の人を雇うことになってその人のハードルが高くなった
● 『何か変派』の登場
改善案
● 日本語を頑張ってもらう(すまぬ。。。)
● 『なにか変派』にはより説明していく(この資料とか)
参考
● JUnit実践入門
● これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発
問題を解答コード使いながら解説します~現在時刻が関わるテストから、テ
スト容易性設計を学ぶ #tdd
● 日本語のテストメソッドについてどう思いますか?
● テストメソッドを日本語で書くことについて
きちんとチームの同意をとって
ご利用は計画的に

More Related Content

PDF
例外設計における大罪
PDF
データベース設計徹底指南
PPTX
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
PDF
Dockerからcontainerdへの移行
PPTX
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
PPTX
世界一わかりやすいClean Architecture
PDF
中3女子が狂える本当に気持ちのいい constexpr
PDF
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
例外設計における大罪
データベース設計徹底指南
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
Dockerからcontainerdへの移行
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
世界一わかりやすいClean Architecture
中3女子が狂える本当に気持ちのいい constexpr
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy

What's hot (20)

PDF
Ruby でつくる型付き Ruby
PDF
The Usage and Patterns of MagicOnion
PPTX
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
PDF
イミュータブルデータモデル(世代編)
PDF
なぜ人は必死でjQueryを捨てようとしているのか
PDF
リアクティブプログラミング
KEY
塹壕よりLivetとMVVM
PDF
【Unite Tokyo 2019】Understanding C# Struct All Things
PPTX
Pycairo を使ってみる その1
PPTX
C#や.NET Frameworkがやっていること
PDF
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
PDF
日本語テストメソッドについて
PDF
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
PDF
CTF for ビギナーズ バイナリ講習資料
PDF
Git flowの活用事例
PDF
Airflowで真面目にjob管理
PDF
Redmineをちょっと便利に! プログラミング無しで使ってみるREST API
PDF
シリコンバレーの「何が」凄いのか
PDF
ドメイン駆動設計のための Spring の上手な使い方
PPTX
トランザクションの設計と進化
Ruby でつくる型付き Ruby
The Usage and Patterns of MagicOnion
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
イミュータブルデータモデル(世代編)
なぜ人は必死でjQueryを捨てようとしているのか
リアクティブプログラミング
塹壕よりLivetとMVVM
【Unite Tokyo 2019】Understanding C# Struct All Things
Pycairo を使ってみる その1
C#や.NET Frameworkがやっていること
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
日本語テストメソッドについて
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
CTF for ビギナーズ バイナリ講習資料
Git flowの活用事例
Airflowで真面目にjob管理
Redmineをちょっと便利に! プログラミング無しで使ってみるREST API
シリコンバレーの「何が」凄いのか
ドメイン駆動設計のための Spring の上手な使い方
トランザクションの設計と進化
Ad

Viewers also liked (20)

PDF
Test Yourself - テストを書くと何がどう変わるか
PDF
PPTX
Siklu EH-600TX Brochure JP
PDF
java-ja TDD 2nd
PPTX
ギガビット無線機 Siklu の製品紹介 2016
PPT
Sue445 Style TDD #atest_hack
PDF
my-spirit-of-tdd
PDF
20140226_TDD
KEY
TDD #NagoyaTesting
PDF
SeasarCon 2009 White TDD
PPTX
Windows IoT Core and Robot Arm
PDF
TDDの自殺 #TDDeX
PDF
TDD BootCamp in JJUG CCC - レガシーコード対策編 -
PPTX
Friendlyを使ったwindowsアプリテスト自動化
PDF
うそのアジャイル、まことのアジャイル 公開用
PDF
Tddのすゝめ
PDF
Prophecyを使ったユニットテスト
PDF
TDDを研ぎ究める
PPTX
TDD & Pull Request入門
PPT
アジャイル開発
Test Yourself - テストを書くと何がどう変わるか
Siklu EH-600TX Brochure JP
java-ja TDD 2nd
ギガビット無線機 Siklu の製品紹介 2016
Sue445 Style TDD #atest_hack
my-spirit-of-tdd
20140226_TDD
TDD #NagoyaTesting
SeasarCon 2009 White TDD
Windows IoT Core and Robot Arm
TDDの自殺 #TDDeX
TDD BootCamp in JJUG CCC - レガシーコード対策編 -
Friendlyを使ったwindowsアプリテスト自動化
うそのアジャイル、まことのアジャイル 公開用
Tddのすゝめ
Prophecyを使ったユニットテスト
TDDを研ぎ究める
TDD & Pull Request入門
アジャイル開発
Ad

PHPのテスト名を日本語にした話