SlideShare a Scribd company logo
リファクタリング
プログラミングの体質改善テクニック
       読書会
      2012/02/20
第4章 テストの構築

• 堅実なテストは、リファクタリングを
 する上で欠かせない事前条件

• よいテストを書くとプログラミングが
 加速する
自己テストコードの意義


• プログラマの大半が実際にコードを書
 いている時間は短い

• 多くの時間をデバッグに費やしている
テストの自動化

• テストを完全に自動化して、その結果
 もテストにチェックさせる

• テストを頻繁に実行しておくと、バグ
 検出に絶大な力を発揮する

• バグの発見にかかる時間が削減
機能追加はテストから書く

• 機能を追加するためになすべきことを
 自問することになる

• 実装よりもインターフェースに集中する
 ことになる

• コーディングの完了時点が明確になる
 →テストがうまくいったとき
JUnitテストフレームワーク
テストクラスの作成



• テストを内包するクラスは、TestCaseク
 ラスを継承しなければならない

• TestSuiteクラスにひとまとめにして入れ
 ておくことができる
テスト対象(test fixture)の準備




• テスト対象を操作するメソッド
 • setUp
 • tearDown
class FileReaderTester extends TestCase . . .

  protected void setUp() {
    try {
       _input = new FileReader(“data.txt”);
    } catch (FileNotFoundException e) {
       throw new RuntimeException();
    }
  }

  protected void tearDown() {
    try {
       _input.close();
    } catch (FileNotFoundException e) {
       throw new RuntimeException();
    }
  }
テストを書く


• assert(表明)メソッド
 • 真なら正常、そうでなければエラー
  を通知
class FileReaderTester . . .

   protected void testRead() throw IOException {
     char ch = ‘&’;
     for (int i = 0; i < 4; i++)
        ch = (char) _input.read();
     assert(‘d’ == ch);
   }
テストを実行


• テストスイートの作成
 • テストケースを指定
• TestRunnerで実行
class FileReaderTester . . .

   public static Test suite() {
     TestSuite suite = new TestSuite();
     suite.addTest(new FileReaderTester(“testRead”));
     return suite;
   }

   public static void main(String[] args) {
     junit.textui.TestRunner.run(suite());
   }
【実行結果】
.
Time: 0.110

OK (1 tests)
class FileReaderTester . . .

   protected void testRead() throw IOException {
     char ch = ‘&’;
     for (int i = 0; i < 4; i++)
        ch = (char) _input.read();
     assert(‘2’ == ch); //故意のエラー
   }
【実行結果】
.F
Time: 0.170

!!!FAILURES!!!
Test Results:
Run: 1Failures: 1Erors: 0
There was 1failure:
1) FileReaderTester.testRead
test.framework.AssertionFailedError
• テストを書く際は、初めは失敗するよ
 うにしておく

• 本当にテストが実行され、期待どお
  りにテストしているかを確認するため
単体テストと機能テスト


•   単体テスト:プログラマの生産性を向上する
    ため

•   機能テスト:ソフトウェア全体の動作を保証
    するため
バグを発見したら


•   まずはバグを明らかにするための単体テスト
    を書くべき

    •   バグを突き止めるのにも、再度おなじバグ
        が単体テストをすり抜けないことを保証す
        るのにも役立つ
テストの追加

• 一番怪しいと思う部分をテストする
• 失敗の恐れのある境界条件を考えて、
 そこを集中的にテスト

• 予想されるエラーが正しく起こること
 の確認を忘れない
やめ時はいつか

•   過剰なテスト

    •   やる気が失せて、何も書けずに終わる危険

•   リスクがどこにあるか注目すべき

    •   コードを見て、複雑になってくるところ

    •   機能をみて、エラーが起こりそうなところ

More Related Content

What's hot

TDD Boot Camp Tokyo for C++ 2014-01 補講
TDD Boot Camp Tokyo for C++ 2014-01 補講TDD Boot Camp Tokyo for C++ 2014-01 補講
TDD Boot Camp Tokyo for C++ 2014-01 補講
Takashi Imagire
 
Test Plugins
Test PluginsTest Plugins
Test Pluginsykhr
 
Getting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnitGetting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnitAtsuhiro Kubo
 
初めての単体テスト
初めての単体テスト初めての単体テスト
初めての単体テスト
Basuke Suzuki
 
Awsで実現するseleniumテスト高速術
Awsで実現するseleniumテスト高速術Awsで実現するseleniumテスト高速術
Awsで実現するseleniumテスト高速術finoue
 
Introduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGoodIntroduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGoodAtsuhiro Kubo
 
ビジネス的に高価値なアジャイルテスト
ビジネス的に高価値なアジャイルテストビジネス的に高価値なアジャイルテスト
ビジネス的に高価値なアジャイルテスト
Tsutomu Chikuba
 
第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ
hakoika-itwg
 
nGrinder3 : だれもが簡単にできる性能テスト
nGrinder3 : だれもが簡単にできる性能テストnGrinder3 : だれもが簡単にできる性能テスト
nGrinder3 : だれもが簡単にできる性能テストJunHo Yoon
 
テスティングフレームワークに入門してみた - Swift編
テスティングフレームワークに入門してみた - Swift編テスティングフレームワークに入門してみた - Swift編
テスティングフレームワークに入門してみた - Swift編
Hisakuni Fujimoto
 
reg-suitとQA Wolfを活用したVisual Regression Test
reg-suitとQA Wolfを活用したVisual Regression Testreg-suitとQA Wolfを活用したVisual Regression Test
reg-suitとQA Wolfを活用したVisual Regression Test
Kazuyuki Tsuzisaki
 
App extensionでテストコードを書く
App extensionでテストコードを書くApp extensionでテストコードを書く
App extensionでテストコードを書く
Yusuke Kita
 
Serverspec at July Tech Festa 2013
Serverspec at July Tech Festa 2013Serverspec at July Tech Festa 2013
Serverspec at July Tech Festa 2013Gosuke Miyashita
 
大規模な負荷でもドキドキしない為のJava EE
大規模な負荷でもドキドキしない為のJava EE大規模な負荷でもドキドキしない為のJava EE
大規模な負荷でもドキドキしない為のJava EE
Taiichilow Nagase
 
Acceptance testは開発者がつくるべき(公開版)
Acceptance testは開発者がつくるべき(公開版)Acceptance testは開発者がつくるべき(公開版)
Acceptance testは開発者がつくるべき(公開版)
Ken Muryoi
 
xUnit Test Patterns - Chapter19
xUnit Test Patterns - Chapter19xUnit Test Patterns - Chapter19
xUnit Test Patterns - Chapter19
Takuto Wada
 
キーワード駆動によるシステムテストの自動化について 2015
キーワード駆動によるシステムテストの自動化について 2015キーワード駆動によるシステムテストの自動化について 2015
キーワード駆動によるシステムテストの自動化について 2015
Toru Koido
 

What's hot (20)

TDD Boot Camp Tokyo for C++ 2014-01 補講
TDD Boot Camp Tokyo for C++ 2014-01 補講TDD Boot Camp Tokyo for C++ 2014-01 補講
TDD Boot Camp Tokyo for C++ 2014-01 補講
 
Test Plugins
Test PluginsTest Plugins
Test Plugins
 
Getting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnitGetting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnit
 
初めての単体テスト
初めての単体テスト初めての単体テスト
初めての単体テスト
 
Awsで実現するseleniumテスト高速術
Awsで実現するseleniumテスト高速術Awsで実現するseleniumテスト高速術
Awsで実現するseleniumテスト高速術
 
Casper導入資料
Casper導入資料Casper導入資料
Casper導入資料
 
Introduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGoodIntroduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGood
 
ビジネス的に高価値なアジャイルテスト
ビジネス的に高価値なアジャイルテストビジネス的に高価値なアジャイルテスト
ビジネス的に高価値なアジャイルテスト
 
第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ
 
wankuma #28
wankuma #28wankuma #28
wankuma #28
 
nGrinder3 : だれもが簡単にできる性能テスト
nGrinder3 : だれもが簡単にできる性能テストnGrinder3 : だれもが簡単にできる性能テスト
nGrinder3 : だれもが簡単にできる性能テスト
 
テスティングフレームワークに入門してみた - Swift編
テスティングフレームワークに入門してみた - Swift編テスティングフレームワークに入門してみた - Swift編
テスティングフレームワークに入門してみた - Swift編
 
reg-suitとQA Wolfを活用したVisual Regression Test
reg-suitとQA Wolfを活用したVisual Regression Testreg-suitとQA Wolfを活用したVisual Regression Test
reg-suitとQA Wolfを活用したVisual Regression Test
 
App extensionでテストコードを書く
App extensionでテストコードを書くApp extensionでテストコードを書く
App extensionでテストコードを書く
 
Serverspec at July Tech Festa 2013
Serverspec at July Tech Festa 2013Serverspec at July Tech Festa 2013
Serverspec at July Tech Festa 2013
 
Serverspec at hbstudy #45
Serverspec at hbstudy #45Serverspec at hbstudy #45
Serverspec at hbstudy #45
 
大規模な負荷でもドキドキしない為のJava EE
大規模な負荷でもドキドキしない為のJava EE大規模な負荷でもドキドキしない為のJava EE
大規模な負荷でもドキドキしない為のJava EE
 
Acceptance testは開発者がつくるべき(公開版)
Acceptance testは開発者がつくるべき(公開版)Acceptance testは開発者がつくるべき(公開版)
Acceptance testは開発者がつくるべき(公開版)
 
xUnit Test Patterns - Chapter19
xUnit Test Patterns - Chapter19xUnit Test Patterns - Chapter19
xUnit Test Patterns - Chapter19
 
キーワード駆動によるシステムテストの自動化について 2015
キーワード駆動によるシステムテストの自動化について 2015キーワード駆動によるシステムテストの自動化について 2015
キーワード駆動によるシステムテストの自動化について 2015
 

Viewers also liked

[D24] あなたのビジネスを変えるInfiniDBケーススタディ by Toshihide Hanatani
[D24] あなたのビジネスを変えるInfiniDBケーススタディ by Toshihide Hanatani[D24] あなたのビジネスを変えるInfiniDBケーススタディ by Toshihide Hanatani
[D24] あなたのビジネスを変えるInfiniDBケーススタディ by Toshihide HanataniInsight Technology, Inc.
 
レガシーコード読書会 20120618
レガシーコード読書会 20120618レガシーコード読書会 20120618
レガシーコード読書会 20120618Suguru Shirai
 
青森県黒石市Facebookセミナー動画3時間in黒石市法人会
青森県黒石市Facebookセミナー動画3時間in黒石市法人会青森県黒石市Facebookセミナー動画3時間in黒石市法人会
青森県黒石市Facebookセミナー動画3時間in黒石市法人会
新潟コンサルタント横田秀珠
 
ヘイトスピーチと反ヘイト運動: 3種類の《二正面作戦》という難題
ヘイトスピーチと反ヘイト運動:3種類の《二正面作戦》という難題ヘイトスピーチと反ヘイト運動:3種類の《二正面作戦》という難題
ヘイトスピーチと反ヘイト運動: 3種類の《二正面作戦》という難題
Myungsoo Kim
 
クロスプラットフォーム モバイルアプリ開発ツール Xamarin 概要
クロスプラットフォーム モバイルアプリ開発ツール Xamarin 概要クロスプラットフォーム モバイルアプリ開発ツール Xamarin 概要
クロスプラットフォーム モバイルアプリ開発ツール Xamarin 概要
Yoshito Tabuchi
 
【ゼンリンデータコム】株式発行トレンドマップ企画案
【ゼンリンデータコム】株式発行トレンドマップ企画案【ゼンリンデータコム】株式発行トレンドマップ企画案
【ゼンリンデータコム】株式発行トレンドマップ企画案東証ソーシャルかぶコン
 
勉強会KLC「図書・図書館史回」
勉強会KLC「図書・図書館史回」勉強会KLC「図書・図書館史回」
勉強会KLC「図書・図書館史回」Satoko Yamashita
 
部下が仕事に“ハマる”ために必要な 上司のコミュニケーションと職場環境
部下が仕事に“ハマる”ために必要な上司のコミュニケーションと職場環境部下が仕事に“ハマる”ために必要な上司のコミュニケーションと職場環境
部下が仕事に“ハマる”ために必要な 上司のコミュニケーションと職場環境
Rikkyo University
 
FOSS4G OKINAWA QGIS入門編ワークショップ
FOSS4G OKINAWA QGIS入門編ワークショップFOSS4G OKINAWA QGIS入門編ワークショップ
FOSS4G OKINAWA QGIS入門編ワークショップIWASAKI NOBUSUKE
 
プロジェクトリーダに必要な3つのこと
プロジェクトリーダに必要な3つのことプロジェクトリーダに必要な3つのこと
プロジェクトリーダに必要な3つのことYuji Okazawa
 
編集長に学ぶ、読まれるWebライティング
編集長に学ぶ、読まれるWebライティング編集長に学ぶ、読まれるWebライティング
編集長に学ぶ、読まれるWebライティング
Kappei Nakano
 
OpenCloudCampus PrivateCloudStudy Eucalyptus Deep-dive at GMO
OpenCloudCampus PrivateCloudStudy Eucalyptus Deep-dive at GMOOpenCloudCampus PrivateCloudStudy Eucalyptus Deep-dive at GMO
OpenCloudCampus PrivateCloudStudy Eucalyptus Deep-dive at GMOOsamu Habuka
 
How we realized SOA by Python at PyCon JP 2015
How we realized SOA by Python at PyCon JP 2015How we realized SOA by Python at PyCon JP 2015
How we realized SOA by Python at PyCon JP 2015
hirokiky
 
20150926 uwpストア攻略
20150926 uwpストア攻略20150926 uwpストア攻略
20150926 uwpストア攻略
Makoto Nishimura
 
創業時を振り返って(起業家向け)Ver1.1
創業時を振り返って(起業家向け)Ver1.1創業時を振り返って(起業家向け)Ver1.1
創業時を振り返って(起業家向け)Ver1.1Shinsuke Usami
 
PyCon JP 2015 keynote
PyCon JP 2015 keynotePyCon JP 2015 keynote
PyCon JP 2015 keynote
Haruo Sato
 
Ubuntuをインストールしたzyboボードにカメラを付けてopen cvで顔認識
Ubuntuをインストールしたzyboボードにカメラを付けてopen cvで顔認識Ubuntuをインストールしたzyboボードにカメラを付けてopen cvで顔認識
Ubuntuをインストールしたzyboボードにカメラを付けてopen cvで顔認識
marsee101
 
コミュニケーションを科学する
コミュニケーションを科学するコミュニケーションを科学する
コミュニケーションを科学する
WorksEntertainment.Inc
 
訪日外国人観光客の最新動向【20150520インバウンドセミナー】
訪日外国人観光客の最新動向【20150520インバウンドセミナー】訪日外国人観光客の最新動向【20150520インバウンドセミナー】
訪日外国人観光客の最新動向【20150520インバウンドセミナー】
株式会社ゼンリン
 
スタートアップ 立ち上げマニュアル
スタートアップ 立ち上げマニュアルスタートアップ 立ち上げマニュアル
スタートアップ 立ち上げマニュアル
Takaya Shinozuka
 

Viewers also liked (20)

[D24] あなたのビジネスを変えるInfiniDBケーススタディ by Toshihide Hanatani
[D24] あなたのビジネスを変えるInfiniDBケーススタディ by Toshihide Hanatani[D24] あなたのビジネスを変えるInfiniDBケーススタディ by Toshihide Hanatani
[D24] あなたのビジネスを変えるInfiniDBケーススタディ by Toshihide Hanatani
 
レガシーコード読書会 20120618
レガシーコード読書会 20120618レガシーコード読書会 20120618
レガシーコード読書会 20120618
 
青森県黒石市Facebookセミナー動画3時間in黒石市法人会
青森県黒石市Facebookセミナー動画3時間in黒石市法人会青森県黒石市Facebookセミナー動画3時間in黒石市法人会
青森県黒石市Facebookセミナー動画3時間in黒石市法人会
 
ヘイトスピーチと反ヘイト運動: 3種類の《二正面作戦》という難題
ヘイトスピーチと反ヘイト運動:3種類の《二正面作戦》という難題ヘイトスピーチと反ヘイト運動:3種類の《二正面作戦》という難題
ヘイトスピーチと反ヘイト運動: 3種類の《二正面作戦》という難題
 
クロスプラットフォーム モバイルアプリ開発ツール Xamarin 概要
クロスプラットフォーム モバイルアプリ開発ツール Xamarin 概要クロスプラットフォーム モバイルアプリ開発ツール Xamarin 概要
クロスプラットフォーム モバイルアプリ開発ツール Xamarin 概要
 
【ゼンリンデータコム】株式発行トレンドマップ企画案
【ゼンリンデータコム】株式発行トレンドマップ企画案【ゼンリンデータコム】株式発行トレンドマップ企画案
【ゼンリンデータコム】株式発行トレンドマップ企画案
 
勉強会KLC「図書・図書館史回」
勉強会KLC「図書・図書館史回」勉強会KLC「図書・図書館史回」
勉強会KLC「図書・図書館史回」
 
部下が仕事に“ハマる”ために必要な 上司のコミュニケーションと職場環境
部下が仕事に“ハマる”ために必要な上司のコミュニケーションと職場環境部下が仕事に“ハマる”ために必要な上司のコミュニケーションと職場環境
部下が仕事に“ハマる”ために必要な 上司のコミュニケーションと職場環境
 
FOSS4G OKINAWA QGIS入門編ワークショップ
FOSS4G OKINAWA QGIS入門編ワークショップFOSS4G OKINAWA QGIS入門編ワークショップ
FOSS4G OKINAWA QGIS入門編ワークショップ
 
プロジェクトリーダに必要な3つのこと
プロジェクトリーダに必要な3つのことプロジェクトリーダに必要な3つのこと
プロジェクトリーダに必要な3つのこと
 
編集長に学ぶ、読まれるWebライティング
編集長に学ぶ、読まれるWebライティング編集長に学ぶ、読まれるWebライティング
編集長に学ぶ、読まれるWebライティング
 
OpenCloudCampus PrivateCloudStudy Eucalyptus Deep-dive at GMO
OpenCloudCampus PrivateCloudStudy Eucalyptus Deep-dive at GMOOpenCloudCampus PrivateCloudStudy Eucalyptus Deep-dive at GMO
OpenCloudCampus PrivateCloudStudy Eucalyptus Deep-dive at GMO
 
How we realized SOA by Python at PyCon JP 2015
How we realized SOA by Python at PyCon JP 2015How we realized SOA by Python at PyCon JP 2015
How we realized SOA by Python at PyCon JP 2015
 
20150926 uwpストア攻略
20150926 uwpストア攻略20150926 uwpストア攻略
20150926 uwpストア攻略
 
創業時を振り返って(起業家向け)Ver1.1
創業時を振り返って(起業家向け)Ver1.1創業時を振り返って(起業家向け)Ver1.1
創業時を振り返って(起業家向け)Ver1.1
 
PyCon JP 2015 keynote
PyCon JP 2015 keynotePyCon JP 2015 keynote
PyCon JP 2015 keynote
 
Ubuntuをインストールしたzyboボードにカメラを付けてopen cvで顔認識
Ubuntuをインストールしたzyboボードにカメラを付けてopen cvで顔認識Ubuntuをインストールしたzyboボードにカメラを付けてopen cvで顔認識
Ubuntuをインストールしたzyboボードにカメラを付けてopen cvで顔認識
 
コミュニケーションを科学する
コミュニケーションを科学するコミュニケーションを科学する
コミュニケーションを科学する
 
訪日外国人観光客の最新動向【20150520インバウンドセミナー】
訪日外国人観光客の最新動向【20150520インバウンドセミナー】訪日外国人観光客の最新動向【20150520インバウンドセミナー】
訪日外国人観光客の最新動向【20150520インバウンドセミナー】
 
スタートアップ 立ち上げマニュアル
スタートアップ 立ち上げマニュアルスタートアップ 立ち上げマニュアル
スタートアップ 立ち上げマニュアル
 

Similar to リファクタリング読書会20120220

はこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テストはこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テスト
Seiji KOMATSU
 
Gamedevenvstudy1
Gamedevenvstudy1Gamedevenvstudy1
Gamedevenvstudy1
Takashi Kokawa
 
Java scriptによるテスト駆動開発
Java scriptによるテスト駆動開発Java scriptによるテスト駆動開発
Java scriptによるテスト駆動開発Hidekazu Nakamura
 
Java scriptによるテスト駆動開発
Java scriptによるテスト駆動開発Java scriptによるテスト駆動開発
Java scriptによるテスト駆動開発Hidekazu Nakamura
 
ソフトウェアテスト入門
ソフトウェアテスト入門ソフトウェアテスト入門
ソフトウェアテスト入門
iKenji
 
CruiseControl.NET設置
CruiseControl.NET設置CruiseControl.NET設置
CruiseControl.NET設置
Kuniaki Igarashi
 
pytest × TDD テスト駆動開発のススメ
pytest × TDD テスト駆動開発のススメpytest × TDD テスト駆動開発のススメ
pytest × TDD テスト駆動開発のススメ
iRidge, Inc.
 
Tokyor14 - R言語でユニットテスト
Tokyor14 - R言語でユニットテストTokyor14 - R言語でユニットテスト
Tokyor14 - R言語でユニットテストYohei Sato
 
Xcode10での テスト周りの進化をふりかえる
Xcode10での テスト周りの進化をふりかえるXcode10での テスト周りの進化をふりかえる
Xcode10での テスト周りの進化をふりかえる
Toshiyuki Hirata
 
CodeZineAcademy TDD実践講座PR資料
CodeZineAcademy TDD実践講座PR資料CodeZineAcademy TDD実践講座PR資料
CodeZineAcademy TDD実践講座PR資料
Yasui Tsutomu
 
Introduction to Continuous Testing
Introduction to Continuous TestingIntroduction to Continuous Testing
Introduction to Continuous Testing
Atsuhiro Kubo
 
UIテストの実行時間の短縮の方法
UIテストの実行時間の短縮の方法UIテストの実行時間の短縮の方法
UIテストの実行時間の短縮の方法
Toshiyuki Hirata
 
使い捨て python コードの書き方
使い捨て python コードの書き方使い捨て python コードの書き方
使い捨て python コードの書き方
Sho Shimauchi
 
ソフトウェア工学2023 11 テスト
ソフトウェア工学2023 11 テストソフトウェア工学2023 11 テスト
ソフトウェア工学2023 11 テスト
Toru Tamaki
 
#NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり #NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり kyon mm
 
テストコードの定型化
テストコードの定型化テストコードの定型化
テストコードの定型化
Shinichi Hirauchi
 
Spring と TDD
Spring と TDDSpring と TDD
Spring と TDD
Takeshi Ogawa
 
xUTP Chapter19 (2). Testcase Class
xUTP Chapter19 (2). Testcase ClassxUTP Chapter19 (2). Testcase Class
xUTP Chapter19 (2). Testcase Class
Takuto Wada
 
自動テストのすすめ
自動テストのすすめ自動テストのすすめ
自動テストのすすめKatsunori Kanda
 
Eclipse を使った java 開発 111126 杉浦
Eclipse を使った java 開発 111126 杉浦Eclipse を使った java 開発 111126 杉浦
Eclipse を使った java 開発 111126 杉浦urasandesu
 

Similar to リファクタリング読書会20120220 (20)

はこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テストはこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テスト
 
Gamedevenvstudy1
Gamedevenvstudy1Gamedevenvstudy1
Gamedevenvstudy1
 
Java scriptによるテスト駆動開発
Java scriptによるテスト駆動開発Java scriptによるテスト駆動開発
Java scriptによるテスト駆動開発
 
Java scriptによるテスト駆動開発
Java scriptによるテスト駆動開発Java scriptによるテスト駆動開発
Java scriptによるテスト駆動開発
 
ソフトウェアテスト入門
ソフトウェアテスト入門ソフトウェアテスト入門
ソフトウェアテスト入門
 
CruiseControl.NET設置
CruiseControl.NET設置CruiseControl.NET設置
CruiseControl.NET設置
 
pytest × TDD テスト駆動開発のススメ
pytest × TDD テスト駆動開発のススメpytest × TDD テスト駆動開発のススメ
pytest × TDD テスト駆動開発のススメ
 
Tokyor14 - R言語でユニットテスト
Tokyor14 - R言語でユニットテストTokyor14 - R言語でユニットテスト
Tokyor14 - R言語でユニットテスト
 
Xcode10での テスト周りの進化をふりかえる
Xcode10での テスト周りの進化をふりかえるXcode10での テスト周りの進化をふりかえる
Xcode10での テスト周りの進化をふりかえる
 
CodeZineAcademy TDD実践講座PR資料
CodeZineAcademy TDD実践講座PR資料CodeZineAcademy TDD実践講座PR資料
CodeZineAcademy TDD実践講座PR資料
 
Introduction to Continuous Testing
Introduction to Continuous TestingIntroduction to Continuous Testing
Introduction to Continuous Testing
 
UIテストの実行時間の短縮の方法
UIテストの実行時間の短縮の方法UIテストの実行時間の短縮の方法
UIテストの実行時間の短縮の方法
 
使い捨て python コードの書き方
使い捨て python コードの書き方使い捨て python コードの書き方
使い捨て python コードの書き方
 
ソフトウェア工学2023 11 テスト
ソフトウェア工学2023 11 テストソフトウェア工学2023 11 テスト
ソフトウェア工学2023 11 テスト
 
#NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり #NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり
 
テストコードの定型化
テストコードの定型化テストコードの定型化
テストコードの定型化
 
Spring と TDD
Spring と TDDSpring と TDD
Spring と TDD
 
xUTP Chapter19 (2). Testcase Class
xUTP Chapter19 (2). Testcase ClassxUTP Chapter19 (2). Testcase Class
xUTP Chapter19 (2). Testcase Class
 
自動テストのすすめ
自動テストのすすめ自動テストのすすめ
自動テストのすすめ
 
Eclipse を使った java 開発 111126 杉浦
Eclipse を使った java 開発 111126 杉浦Eclipse を使った java 開発 111126 杉浦
Eclipse を使った java 開発 111126 杉浦
 

リファクタリング読書会20120220

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n