Upload
Download free for 30 days
Login
Submit Search
JUnit入門/TDD入門[新人研修資料]
0 likes
136 views
R
Ryuhei Ishibashi
新人研修ように作ったJUnitとTDDの入門者向け資料です
Software
Related topics:
Software Testing Insights
Read more
1 of 40
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
More Related Content
PDF
GitLab Prometheus
Shingo Kitayama
PDF
MakeGoodで快適なテスト駆動開発を
Atsuhiro Kubo
PDF
GitLab/GitLab.com勉強会 第2回
NaohiroHamada
PDF
JUnit5とAndroidのテスト
Hiroshi Kikuchi
PDF
GitLab Meetup Tokyo #1 LT:「わりと大きい会社でGitLabをホスティングしてみた話」
Taisuke Inoue
PPTX
GitLabを16万8千光年ワープさせた話(改)
Wataru NOGUCHI
PDF
from old JUnit to modern JUnit
irof N
PDF
Android App Development with Gradle & Android Studio
Soichiro Kashima
GitLab Prometheus
Shingo Kitayama
MakeGoodで快適なテスト駆動開発を
Atsuhiro Kubo
GitLab/GitLab.com勉強会 第2回
NaohiroHamada
JUnit5とAndroidのテスト
Hiroshi Kikuchi
GitLab Meetup Tokyo #1 LT:「わりと大きい会社でGitLabをホスティングしてみた話」
Taisuke Inoue
GitLabを16万8千光年ワープさせた話(改)
Wataru NOGUCHI
from old JUnit to modern JUnit
irof N
Android App Development with Gradle & Android Studio
Soichiro Kashima
What's hot
(20)
PDF
Algolia
DaikiSato10
PDF
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
Yukiya Nakagawa
PDF
AndroidJUnitRunner で JUnit 4 形式のテストに移行
Yu Nobuoka
PDF
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
Hiroyuki Ohnaka
PDF
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
Masataka Kono
PDF
Google I/O 2021 Flutter 全体報告
cch-robo
PDF
Dart / Flutter コードファイルジェネレート入門
cch-robo
PDF
Before lunch オプションを使って Flutterでstaging/release環境を切り替える
cch-robo
PDF
超初心者向け!Visual Studio + Git で始める アジャイル開発 #fukuazu #jazug - ふくあず ~夏の終わりはDevelop...
満徳 関
PPTX
GoGoMakeDAST
Norihide Saito
PPTX
ちょっと丁寧にgitを説明する
Taichiro Ogawa
PDF
GoによるiOSアプリの開発
Takuya Ueda
PPTX
社内LT大会#3 2016-4-28 Vuls
Kota Kanbe
PDF
Gitはじめの一歩
Ayana Yokota
PDF
Detroit Programming City
Koichi ITO
PPTX
グリー アジャイル開発における品質保証と人材活用
Kaede Ichihara
PDF
新人Git/Github研修公開用スライド(その2)
pupupopo88
PDF
Android6.0の機能まとめ 実機でサンプルを動かしてみた
Satoshi Noda
PDF
ITpro expo2014_atlassian
グロースエクスパートナーズ株式会社/Growth xPartners Incorporated.
PDF
What is tested by pre-launch (security) reports?
ak_shio_555
Algolia
DaikiSato10
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
Yukiya Nakagawa
AndroidJUnitRunner で JUnit 4 形式のテストに移行
Yu Nobuoka
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
Hiroyuki Ohnaka
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
Masataka Kono
Google I/O 2021 Flutter 全体報告
cch-robo
Dart / Flutter コードファイルジェネレート入門
cch-robo
Before lunch オプションを使って Flutterでstaging/release環境を切り替える
cch-robo
超初心者向け!Visual Studio + Git で始める アジャイル開発 #fukuazu #jazug - ふくあず ~夏の終わりはDevelop...
満徳 関
GoGoMakeDAST
Norihide Saito
ちょっと丁寧にgitを説明する
Taichiro Ogawa
GoによるiOSアプリの開発
Takuya Ueda
社内LT大会#3 2016-4-28 Vuls
Kota Kanbe
Gitはじめの一歩
Ayana Yokota
Detroit Programming City
Koichi ITO
グリー アジャイル開発における品質保証と人材活用
Kaede Ichihara
新人Git/Github研修公開用スライド(その2)
pupupopo88
Android6.0の機能まとめ 実機でサンプルを動かしてみた
Satoshi Noda
ITpro expo2014_atlassian
グロースエクスパートナーズ株式会社/Growth xPartners Incorporated.
What is tested by pre-launch (security) reports?
ak_shio_555
Ad
Similar to JUnit入門/TDD入門[新人研修資料]
(20)
PPT
wankuma #28
高見 知英
PPTX
少し分かった気になるテスト駆動開発
lnial
PDF
C# から java へのプログラム移植で体験したtddの効果は?
Shinichi Hirauchi
PDF
SeasarCon 2009 White TDD
Takuto Wada
PDF
テスト 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第33回】
Tomoharu ASAMI
PPT
Sue445 Style TDD #atest_hack
Go Sueyoshi (a.k.a sue445)
PPTX
TDDをやってみた
Yuta Kawadai
PDF
受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし
terahide
PDF
『JUnit実践入門』写経・実践会 in 横浜 #2
shinyaa31
KEY
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
Shuji Watanabe
PPTX
Junit4
ichikaz3
PDF
JS開発におけるTDDと自動テストツール利用の勘所
Koji Nakamura
PDF
java-ja TDD 2nd
Takuto Wada
PDF
オトナのTDD(テスト駆動開発)入門
Yoshinori Yamanouchi
KEY
Unit testで定時帰宅!
Funato Takashi
KEY
テスト駆動開発の導入ーペアプログラミングの学習効果ー
Shuji Watanabe
PDF
Agileツール適合化分科会(tddとbdd)
masanori kataoka
PDF
CodeZineAcademy TDD実践講座PR資料
Yasui Tsutomu
PDF
テストの視点を活用した TDD アプローチの検討とその検証
Akira Ikeda
PDF
テストファースト、自動テストを導入するという事について(@社内勉強会)
kyon mm
wankuma #28
高見 知英
少し分かった気になるテスト駆動開発
lnial
C# から java へのプログラム移植で体験したtddの効果は?
Shinichi Hirauchi
SeasarCon 2009 White TDD
Takuto Wada
テスト 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第33回】
Tomoharu ASAMI
Sue445 Style TDD #atest_hack
Go Sueyoshi (a.k.a sue445)
TDDをやってみた
Yuta Kawadai
受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし
terahide
『JUnit実践入門』写経・実践会 in 横浜 #2
shinyaa31
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
Shuji Watanabe
Junit4
ichikaz3
JS開発におけるTDDと自動テストツール利用の勘所
Koji Nakamura
java-ja TDD 2nd
Takuto Wada
オトナのTDD(テスト駆動開発)入門
Yoshinori Yamanouchi
Unit testで定時帰宅!
Funato Takashi
テスト駆動開発の導入ーペアプログラミングの学習効果ー
Shuji Watanabe
Agileツール適合化分科会(tddとbdd)
masanori kataoka
CodeZineAcademy TDD実践講座PR資料
Yasui Tsutomu
テストの視点を活用した TDD アプローチの検討とその検証
Akira Ikeda
テストファースト、自動テストを導入するという事について(@社内勉強会)
kyon mm
Ad
JUnit入門/TDD入門[新人研修資料]
1.
JUnit入門/TDD入門
2.
自己紹介 石橋隆平 Refactoring Specialis t 零細SIer→ユーザベース →2017/4月BIZREACH入社 ScalaMatsuri運営委員(2016~ ) twitter:@cactaceae
3.
アジェンダ Intellij IDEA ショートカットの紹介 JUnit入門 良いユニットテスト TDD入門
4.
イントロダクション
5.
Kent Beck XP考案者 Agile Manifest
起草者 デザインパターン 著者 テスト駆動開発 著者 JUnit 開発者
6.
Githubからプロジェクトをクローンして $ git clone
git@github.com:rysh/junittutorial.git プロジェクトの準備 プロジェクトをインポート import project > junittutorial import project from external model > maven
7.
参考資料 実践JUnit 50分でわかるテスト駆動開発
8.
ショートカットの紹介
9.
Testショートカット テストクラス作成 Command +
Shift + T 実装クラスへ移動 Command + Shift + T テストクラスへ移動 Command + Shift + T テストケース作成 Command + Shift + T テスト実行 Shift + F10(Fn)
10.
Refactorショートカット 変数抽出 Command +
Option + V メソッド抽出 Command + Option + M 変数のインライン化 Command + Option + N メソッドのインライン化 Command + Option + N
11.
ショートカットが違う場合 右クリックメニューから確認 Preferences > Keymap
から確認
12.
JUnit入門
13.
初めてのJUnit
14.
デモ
15.
テストの例
16.
アサーションの種類
17.
アサーションの種類 assertTrue fai l assertEqual s assertTha t 他、色々
18.
HamcrestMatchers 柔軟な検査と詳しいレポートが特徴 assertThatと組み合わせて使う
19.
HamcrestMatchers コレクション内に存在するかどうか検証する いずれかが当てはまるかどうか検証する 順不同で指定したオブジェクトが全てコレクション に含まれるかどうか検証する 指定されたマッチャーがコレクション内のすべてのオ ブジェクトに適合するかどうか検証する
20.
一つだけ覚えておくと、Sourceへ ジャンプ後、 Cmd +
1でクラス一覧がみられる
21.
テストの構成
22.
テストの構成 テストコードの置き場所 AA A オブジェクトのふるまいをテストする 1つの目的に特化したテスト 意味のあるテスト
23.
テストコードの置き場所 JUnitでは テスト対象のコードと同じプロジェクト テスト専用のパッケージ テスト対象のコードと同じディレクトリ構成 Javascriptではテスト対象と同じディレクトリにテスト コードを置く文化もあります
25.
AAA(スリーエー) Arrange (セットアップ) Act (操作) Assert(アサーション)
26.
オブジェクトのふるまいをテストする コードの1行1行やメソッドの一つ一つをテストしな い オブジェクトが想定している一連のふるまいをテスト する
28.
1つの目的に特化したテスト 1つのテストケースには一つのassert文を書く テストが失敗した時に修正箇所がすぐわかる assertにmessage引数をつけると失敗時に表示されるの で、複数のassertがあっても修正箇所はすぐわかる assert失敗した時点で処理が終了するので後続のケー スは検査されない点は注意
29.
意味のあるテスト 1. テストクラス、テストケース、変数などに意味のあ る名前をつける 2. 1行ずつテストするのではなく、意味のある振る舞 いになる最小の粒度でテストする 3.
テストケースを見てコードの目的・ふるまい・仕様 がわかるようになる
30.
良いユニットテスト
31.
FIRST Fast(迅速) Isolate (テストを隔離する) Repeatable(繰り返し可能) Self-Validating(自律的検証) Timely(適切なタイミングでテストする) テスト対象を選ぶ
32.
Right-BICEP Right:結果は正しいですか? Boundary:境界条件は適切ですか? Inverse:逆の関係はチェックできますか? Cross-check:別の方法を使って結果をチェックできます か? Performance:パフォーマンスの特性は許容範囲内ですか? テスト対象を選ぶための問いかけ
33.
CORRECT Conformance:値は期待される形式に適合していますか? Ordering:値の集合は適切な順序に並べ替えられていますか? Range:値は最小値と最大値の範囲内にありますか? Reference:自身が直接コントロールできない外部のコードエオ参照していません か? Existence:値は存在しますか?Nullやから集合ではありませんか? Cardinality:十分な個数の値が用意されていますか? Time:全ての出来事は一定の順序で発生しますか? 境界条件の扱い
34.
TDD入門
35.
TDDの目的 動作するきれいなコードを書くこと
36.
動作するきれいなコードへ
37.
TDDのサイクル 1. 次の目標を考える 2. その目標を示すテストを書く 3.
そのテストを実行して失敗させる(Red) 4. 目的のコードを書く 5. 2で書いたテストを成功させる(Green) 6. テストが通るまでリファクタリングを行う(Refactor) 7. 1∼6を繰り返す
38.
Red, Green, Refactor
39.
デモ 1から100までの数をプリントするプログラムを書け。 ただし3の倍数の時は数の代わりに「Fizz」と、 5の倍数のときは「Buzz」とプリントし、 3と5両方の倍数の場合には「FizzBuzz」とプリントするこ と
40.
TDDのスキル 問題を小さく分割する 歩幅を える テスト→仮実装→三角測量→実装 テスト→仮実装→実装 テスト→明白な実装 テストの構造化とリファクタリング
Download