SlideShare a Scribd company logo
1 of 21
Download to read offline
NSEG 第3回勉強会


                @koty



2010/5/22      第3回 NSEG 勉強会   1
自己紹介

• にしざわこういち(@koty)

• 市内の情報サービス会社勤務

• VB.NET C# ASP.NET




2010/5/22         第3回 NSEG 勉強会   2
今回のお話は・・・・




2010/5/22   第3回 NSEG 勉強会   3
テストコードを
  書こう!
2010/5/22   第3回 NSEG 勉強会   4
アジェンダ

• テストコードを書くことの利点
• 四則演算のテスト
• 簡単な業務ロジックのテスト



・環境はVisual Studio 2010
・言語はVB.NET

2010/5/22       第3回 NSEG 勉強会   5
テストコードを書くことの利点

• 退行テストの自動化
      – ライフサイクルの長いパッケージに最適

• 安全なリファクタリングの実現
      – 修正して祈る⇔保護して修正する

• クラウド
      – ミドルウェアやOSのバージョンアップを制御できない
      – よって自動の退行テストが不可欠
       (force.comはテストコードを義務化している)

2010/5/22       第3回 NSEG 勉強会        6
Demo:
テストコードの書き方@四則演算




2010/5/22   第3回 NSEG 勉強会   7
このような

2010/5/22     第3回 NSEG 勉強会   8
四則演算の
       例はよく
       見かける
2010/5/22   第3回 NSEG 勉強会   9
しかし。。

2010/5/22    第3回 NSEG 勉強会   10
ホンモノの
      システムは
2010/5/22   第3回 NSEG 勉強会   11
もっと
            複雑
2010/5/22   第3回 NSEG 勉強会   12
続いて。。。

2010/5/22   第3回 NSEG 勉強会   13
もうちょっと
   現実的な例
2010/5/22   第3回 NSEG 勉強会   14
Demo:
ちょっとだけ複雑な業務ロジック
Demo:
ちょっとだけ複雑な業務ロジック




            税込金額         税抜金額

               税金計算                  税率
                クラス                 丸め方法
                                   テストのために
               税金計算テスト             DBをupdateしな
2010/5/22           第3回 NSEG 勉強会
                                   ければいけない  16
Demo:
ちょっとだけ複雑な業務ロジックをテストしたい




2010/5/22   第3回 NSEG 勉強会   17
Demo:
ちょっとだけ複雑な業務ロジックをテストしたい




                      税金計算              税率
                       クラス             丸め方法
            税抜金額
            税率・丸め方法
                            税込金額       テストのための
                      税金計算             DBのupdateが
                       テスト               不要!
2010/5/22               第3回 NSEG 勉強会           18
心配ごと

• テストのためだけのロジックがプロダクション
  コードに入ってていいの?

      – いーんです !
      – テスト以外で呼ばれたらエラーするように配慮
            • RaiseErrorIfCalledFromProductionCode




2010/5/22                     第3回 NSEG 勉強会           19
まとめ

• テストコードをうまいこと書くコツ
      – 外部に依存している部分を
        テストコード側から制御できるよう
        いろんな手段を駆使して
        プロダクションコードを作る




2010/5/22       第3回 NSEG 勉強会   20
おしまい




                       To Be Continued ?...
2010/5/22   第3回 NSEG 勉強会                  21

More Related Content

Viewers also liked

install Sourcetree for windows
install Sourcetree for windowsinstall Sourcetree for windows
install Sourcetree for windowssirojiba
 
Source treeで始めるgit
Source treeで始めるgitSource treeで始めるgit
Source treeで始めるgitSatoshi Kamigaki
 
Source treeの紹介
Source treeの紹介Source treeの紹介
Source treeの紹介ko ty
 
データベース実践入門読書会スペシャル #nseg
データベース実践入門読書会スペシャル #nsegデータベース実践入門読書会スペシャル #nseg
データベース実践入門読書会スペシャル #nsegko ty
 
Tddbc nagano0.1(nseg第20回勉強会)
Tddbc nagano0.1(nseg第20回勉強会)Tddbc nagano0.1(nseg第20回勉強会)
Tddbc nagano0.1(nseg第20回勉強会)ko ty
 

Viewers also liked (6)

install Sourcetree for windows
install Sourcetree for windowsinstall Sourcetree for windows
install Sourcetree for windows
 
Source treeで始めるgit
Source treeで始めるgitSource treeで始めるgit
Source treeで始めるgit
 
Source treeの紹介
Source treeの紹介Source treeの紹介
Source treeの紹介
 
データベース実践入門読書会スペシャル #nseg
データベース実践入門読書会スペシャル #nsegデータベース実践入門読書会スペシャル #nseg
データベース実践入門読書会スペシャル #nseg
 
Tddbc nagano0.1(nseg第20回勉強会)
Tddbc nagano0.1(nseg第20回勉強会)Tddbc nagano0.1(nseg第20回勉強会)
Tddbc nagano0.1(nseg第20回勉強会)
 
Git超入門
Git超入門Git超入門
Git超入門
 

Similar to NSEG第3回勉強会

受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし
受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし
受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなしterahide
 
モノタロウECプラットフォームを支える開発運用モダナイゼーションの取り組み #devsumi
モノタロウECプラットフォームを支える開発運用モダナイゼーションの取り組み #devsumi モノタロウECプラットフォームを支える開発運用モダナイゼーションの取り組み #devsumi
モノタロウECプラットフォームを支える開発運用モダナイゼーションの取り組み #devsumi 株式会社MonotaRO Tech Team
 
アジャイルなテストの見積もりと計画作り
アジャイルなテストの見積もりと計画作りアジャイルなテストの見積もりと計画作り
アジャイルなテストの見積もりと計画作りkyon mm
 
#NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり #NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり kyon mm
 
第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめhakoika-itwg
 
はこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テストはこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テストSeiji KOMATSU
 
NetOpsCoding#5 introduction
NetOpsCoding#5 introductionNetOpsCoding#5 introduction
NetOpsCoding#5 introductionTaiji Tsuchiya
 
テストプロセス改善モデルの最新動向
テストプロセス改善モデルの最新動向テストプロセス改善モデルの最新動向
テストプロセス改善モデルの最新動向崇 山﨑
 
Microsoft Team Foundation Service 入門
Microsoft Team Foundation Service 入門Microsoft Team Foundation Service 入門
Microsoft Team Foundation Service 入門You&I
 
connpass特徴と開発の流れ
connpass特徴と開発の流れconnpass特徴と開発の流れ
connpass特徴と開発の流れIkeda Yosuke
 
Nab Show 2019 報告会 - ATSC 3.0 / MOS / Machine Learning / 映像合成技術 編
Nab Show 2019 報告会 - ATSC 3.0 / MOS / Machine Learning / 映像合成技術 編Nab Show 2019 報告会 - ATSC 3.0 / MOS / Machine Learning / 映像合成技術 編
Nab Show 2019 報告会 - ATSC 3.0 / MOS / Machine Learning / 映像合成技術 編Yusuke Goto
 
アジャイル開発のためのDatadog
アジャイル開発のためのDatadogアジャイル開発のためのDatadog
アジャイル開発のためのDatadogNobuyasu Seki
 
異業種でのテスト自動化の実際
異業種でのテスト自動化の実際異業種でのテスト自動化の実際
異業種でのテスト自動化の実際Satsuki Urayama
 
わんくま名古屋#33(20141115) TDD道場#21
わんくま名古屋#33(20141115) TDD道場#21わんくま名古屋#33(20141115) TDD道場#21
わんくま名古屋#33(20141115) TDD道場#21Yasuhiko Yamamoto
 
Introduction to boost test
Introduction to boost testIntroduction to boost test
Introduction to boost testKohsuke Yuasa
 
設計時の見落とし
設計時の見落とし設計時の見落とし
設計時の見落としyaju88
 
クラウドワークスを使ったバーチャル開発術(セミナー資料)
クラウドワークスを使ったバーチャル開発術(セミナー資料)クラウドワークスを使ったバーチャル開発術(セミナー資料)
クラウドワークスを使ったバーチャル開発術(セミナー資料)Innova Inc.
 
クラウドワークスを使ったバーチャル開発術
クラウドワークスを使ったバーチャル開発術クラウドワークスを使ったバーチャル開発術
クラウドワークスを使ったバーチャル開発術Kimiya Sato
 

Similar to NSEG第3回勉強会 (20)

.Netlab202107
.Netlab202107.Netlab202107
.Netlab202107
 
受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし
受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし
受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし
 
モノタロウECプラットフォームを支える開発運用モダナイゼーションの取り組み #devsumi
モノタロウECプラットフォームを支える開発運用モダナイゼーションの取り組み #devsumi モノタロウECプラットフォームを支える開発運用モダナイゼーションの取り組み #devsumi
モノタロウECプラットフォームを支える開発運用モダナイゼーションの取り組み #devsumi
 
アジャイルなテストの見積もりと計画作り
アジャイルなテストの見積もりと計画作りアジャイルなテストの見積もりと計画作り
アジャイルなテストの見積もりと計画作り
 
#NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり #NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり
 
第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ
 
はこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テストはこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テスト
 
NetOpsCoding#5 introduction
NetOpsCoding#5 introductionNetOpsCoding#5 introduction
NetOpsCoding#5 introduction
 
テストプロセス改善モデルの最新動向
テストプロセス改善モデルの最新動向テストプロセス改善モデルの最新動向
テストプロセス改善モデルの最新動向
 
Microsoft Team Foundation Service 入門
Microsoft Team Foundation Service 入門Microsoft Team Foundation Service 入門
Microsoft Team Foundation Service 入門
 
connpass特徴と開発の流れ
connpass特徴と開発の流れconnpass特徴と開発の流れ
connpass特徴と開発の流れ
 
Nab Show 2019 報告会 - ATSC 3.0 / MOS / Machine Learning / 映像合成技術 編
Nab Show 2019 報告会 - ATSC 3.0 / MOS / Machine Learning / 映像合成技術 編Nab Show 2019 報告会 - ATSC 3.0 / MOS / Machine Learning / 映像合成技術 編
Nab Show 2019 報告会 - ATSC 3.0 / MOS / Machine Learning / 映像合成技術 編
 
レガシーコードに向き合ってみた話
レガシーコードに向き合ってみた話レガシーコードに向き合ってみた話
レガシーコードに向き合ってみた話
 
アジャイル開発のためのDatadog
アジャイル開発のためのDatadogアジャイル開発のためのDatadog
アジャイル開発のためのDatadog
 
異業種でのテスト自動化の実際
異業種でのテスト自動化の実際異業種でのテスト自動化の実際
異業種でのテスト自動化の実際
 
わんくま名古屋#33(20141115) TDD道場#21
わんくま名古屋#33(20141115) TDD道場#21わんくま名古屋#33(20141115) TDD道場#21
わんくま名古屋#33(20141115) TDD道場#21
 
Introduction to boost test
Introduction to boost testIntroduction to boost test
Introduction to boost test
 
設計時の見落とし
設計時の見落とし設計時の見落とし
設計時の見落とし
 
クラウドワークスを使ったバーチャル開発術(セミナー資料)
クラウドワークスを使ったバーチャル開発術(セミナー資料)クラウドワークスを使ったバーチャル開発術(セミナー資料)
クラウドワークスを使ったバーチャル開発術(セミナー資料)
 
クラウドワークスを使ったバーチャル開発術
クラウドワークスを使ったバーチャル開発術クラウドワークスを使ったバーチャル開発術
クラウドワークスを使ったバーチャル開発術
 

NSEG第3回勉強会