SlideShare una empresa de Scribd logo
1 de 29
テスト駆動&オブジェクト指向再入門
正しく動くプログラムを綺麗なソースコードで実装する方法
• はじめに (5分)
• 課題プログラムの説明 (5分)
• ハンズオン
• 前半 (30分)
• 後半 (30分)
• まとめ (10分)
はじめに
株式会社モノクレア
• SIプロジェクトの技術コンサルティング
• アプリケーションアーキテクチャ
• 開発方法論
• テスト自動化
• CI/CD
課題プログラム
課題プログラム:バッチアプリケーション
• 仕様
• 実行するとディレクトリ以下の全Excelファイルを読み込み、HTML形式
のレポートを出力する。
• ディレクトリイメージ
testscript
└─dir1
└─dir2
ExcelTestScript1.xlsx
ExcelTestScript2.xlsx
課題アプリ
• Excelファイルの形式
• SI-Toolkit for Web Testingのテストスクリプト
• https://github.com/sitoolkit/sit-wt-all/raw/master/sit-wt-
runtime/testscript/SampleTestScript.xlsx
• HTMLレポートイメージ
No. 項目名 操作
ロケーター
形式
ロケーター ケース_001 ケース_002
1 開始URL open input.html y y
2 名前 input id name 試験太郎 試験
3 名前 input append:花子
4 性別 choose name 性別 男性 女性
5 都道府県 select id prefecture 青森
6 市区町村 select id city 青森
TestScript StepCount
dir1/dir2/TestScript1.xlsx case:001 3
dir1/dir2/TestScript1.xlsx case:002 6
dir1/dir2/TestScript2.xlsx case:001 10
作業順序
• 環境構築
• インストール
• プロジェクト作成
• 技術検証 (テスト駆動プログラミング)
• 出力機能の実装
• 入力機能の実装
• リファクタリング (オブジェクト指向プログラミング)
• 振る舞いモデリング
• 構造モデリング
環境構築
インストール
• 以下のソフトウェアをインストールする。
• Excel or LibreOffice
• JDK 1.8
• Eclipse Oxygen
プロジェクト作成
• Eclipseで「シンプルなMavenプロジェクト(アーキタイプ選択無し)」を作成
1. 「File」メニュー>「New」>「Maven Project」を選択
2. 「Create a simple project …」を選択して「Next」ボタンをクリック
プロジェクト作成
3. 「Group Id」に「a.b.c」(任意)、「Artifact Id」に「sit-wt-report」(任意)を入力して
「Finish」ボタンをクリック
プロジェクト変更
1. pom.xmlにプロパティを追加
2. プロジェクトを右クリック>Maven>Update Projectを選択
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>a.b.c</groupId>
<artifactId>sit-wt-report</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
</project>
プロジェクト変更
3. 「Update Maven Project」ダイアログで「OK」ボタンをクリック
4. プロジェクト以下に「JRE System Library [Java SE-1.8]」が表示されることを確認
補足:推奨Eclipse設定
• Save required dirty editors before launching -> Always
• Launch Option -> Always launch the previously launched
application
技術検証
技術検証
• 検証すべき技術要素
• Excelの読み込み
• HTMLファイルの出力
• テスト駆動の基本的な考え方
• 仕様を確認できるテストを自動化する事から始める
• 今回の場合は、、、
• レポート出力機能から着手する
1. テンプレートエンジンのサンプルコードを動かす
2. 期待する出力結果(レポート)を作る
3. テストを作る
4. 機能を作り込む
技術検証 テンプレートエンジンの実行
• 今回はテンプレートエンジンにFreeMarkerを使用
1. “freemarker example”で検索
2. 検索結果を上位から以下の観点で確認
• 自分が欲しい機能に関するソースコードがあるか?
• 各ソースコードのファイル名、配置場所が明確か?
• エントリーポイントが明確か?(mainメソッドがあるか?)
3. サンプルに従いファイルを作成、ソースコードを張り付けてmainメソッドを実
行
技術検証 期待結果の作成
• ここではBootstrapのテンプレートを使用
• “bootstrap”で検索→Get Started
• プロジェクト直下にexpected.htmlファイルを作成し貼り付け
技術検証 期待結果の作成
• 仕様のHTMLレポートの体裁となるようにexpected.htmlを実装
• ここではBootstrapのTableを使用
• サイドバー Content→Tables
技術検証 テストクラスの実装
• JUnitのdependencyをpom.xmlに追加
• 出力したファイルと期待結果の各行が一致することをassertするテストクラス、
テストメソッドを実装
• Eclipse Plugin “Quick JUnit“をインストールすると「Ctrl + 9」のショート
カットでテストクラスの作成、実行クラス⇔テストクラスの切り替えが可能
public class RunnerTest {
@Test
public void test() throws Exception {
Runner.main(new String[0]);
List<String> actual = Files.lines(Paths.get("output.html"),
StandardCharsets.UTF_8).collect(Collectors.toList());
List<String> expected = Files.lines(Paths.get("expected.html"),
StandardCharsets.UTF_8).collect(Collectors.toList());
for (int i = 0; i < expected.size(); i++) {
assertThat("line:" + i, actual.get(i), is(expected.get(i)));
}
}
}
技術検証 Excelファイルの読み込み
• 今回はExcelの読み込みにApache POIを使用
• “poi example”で検索
• サンプルに従いファイルを作成、ソースコードを張り付けてmainメソッドを実
行
リファクタリング
リファクタリング 振る舞いモデリング
• 仕様
実行するとディレクトリ以下の全テストスクリプト(Excelファイル)を読み込み、
HTML形式のレポートを出力する。
• 振る舞いモデリング
プログラムの処理をオブジェクトの振る舞い(メソッド)として可視化する。
メソッドのシグニチャは述語、目的語、動作の結果を明確にする。
• モデリング例
TestScriptReader ReportWriterReportGenerator
read(directory)
List<TestScript>
write(List<TestScript>)
execute
report.html
TestScript.xlsx
リファクタリング 構造モデリング
• 構造モデリング
プログラムが意識すべきモノとその属性、モノ同士の関連を可視化する。
• プログラムが意識すべきモノ:レポート
• レポートにはN個のテストスクリプトが含まれる
• テストスクリプトには1つのファイルパスとN個のテストケースが含まれる
• テストケースはケース名とステップカウントを持つ
• モデリング例
TestScript
filePath
TestCase
name
stepCount
*
Report * 11
リファクタリング 実装
• モデリングの結果をソースコードに反映する。
• 最上位の処理フローから仕様が読み取れるように!
public class ReportGenerator {
TestScriptReader reader = new TestScriptReader();
ReportWriter writer = new ReportWriter();
public static void main(String[] args) {
new ReportGenerator().generate(Paths.get("testscript"), Paths.get("report.html"));
}
public void generate(Path targetDir, Path reportFile) {
List<TestScript> testScripts = reader.readRecursively(targetDir);
writer.write(testScripts, reportFile);
}
}
まとめ
まとめ
• 速く正確に綺麗なソースコードを実装するための作業順序とポイント
1. 技術検証
アウトプットの処理から着手しましょう。
2. テスト自動化
受入テスト(仕様を確認するテスト)から自動化しましょう。
3. リファクタリング
最上位の処理フローから仕様が読み取れるようにリファクタリングしましょう。
1~3を繰り返して機能をテストコードを徐々に育てていきましょう。
ご参加ありがとうございました!
SmartなSIを!

Más contenido relacionado

La actualidad más candente

自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介Shinsuke Matsuki
 
20121019 jenkins勉強会lt資料
20121019 jenkins勉強会lt資料20121019 jenkins勉強会lt資料
20121019 jenkins勉強会lt資料Hiroko Tamagawa
 
iOSアプリ開発でもTravis CI #eytokyo
iOSアプリ開発でもTravis CI #eytokyoiOSアプリ開発でもTravis CI #eytokyo
iOSアプリ開発でもTravis CI #eytokyoKoji Hasegawa
 
Stack2017 自動化困難な状況での活動方法
Stack2017 自動化困難な状況での活動方法Stack2017 自動化困難な状況での活動方法
Stack2017 自動化困難な状況での活動方法Tatsuya Ishikawa
 
海外のSeleniumカンファレンスではどんな発表がされているのか2014
海外のSeleniumカンファレンスではどんな発表がされているのか2014海外のSeleniumカンファレンスではどんな発表がされているのか2014
海外のSeleniumカンファレンスではどんな発表がされているのか2014Nozomi Ito
 
アプリケーションエンジニアがMackerelで楽しく監視構成している事例
アプリケーションエンジニアがMackerelで楽しく監視構成している事例アプリケーションエンジニアがMackerelで楽しく監視構成している事例
アプリケーションエンジニアがMackerelで楽しく監視構成している事例景子 西岡
 
Automation test.ssf alpha
Automation test.ssf alphaAutomation test.ssf alpha
Automation test.ssf alpharyuji koyama
 
第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座Hiroko Tamagawa
 
価値あるシステムテスト自動化の実現By friendly
価値あるシステムテスト自動化の実現By friendly価値あるシステムテスト自動化の実現By friendly
価値あるシステムテスト自動化の実現By friendlyTatsuya Ishikawa
 
ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014Koji Hasegawa
 
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化Nozomi Ito
 
DroidKaigi - Welcome talk
DroidKaigi - Welcome talkDroidKaigi - Welcome talk
DroidKaigi - Welcome talkMasahiro Hidaka
 
ノンプログラマのためのSelenium de DDTはじめの一歩
ノンプログラマのためのSelenium de DDTはじめの一歩ノンプログラマのためのSelenium de DDTはじめの一歩
ノンプログラマのためのSelenium de DDTはじめの一歩Satsuki Urayama
 
ハイパフォーマンスSeleniumテスト@サイボウズ
ハイパフォーマンスSeleniumテスト@サイボウズハイパフォーマンスSeleniumテスト@サイボウズ
ハイパフォーマンスSeleniumテスト@サイボウズJumpei Miyata
 
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会Koji Hasegawa
 
画像認識ベースのUI自動化フレームワークを用いた取り組み
画像認識ベースのUI自動化フレームワークを用いた取り組み画像認識ベースのUI自動化フレームワークを用いた取り組み
画像認識ベースのUI自動化フレームワークを用いた取り組みShuhei Furuya
 
スマートフォンアプリの テスト自動化をはじめよう
スマートフォンアプリの テスト自動化をはじめようスマートフォンアプリの テスト自動化をはじめよう
スマートフォンアプリの テスト自動化をはじめようKoji Hasegawa
 
「GebとSpockではじめるシステムテスト自動化」
「GebとSpockではじめるシステムテスト自動化」「GebとSpockではじめるシステムテスト自動化」
「GebとSpockではじめるシステムテスト自動化」Hiroyuki Ohnaka
 

La actualidad más candente (20)

自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介
 
20121019 jenkins勉強会lt資料
20121019 jenkins勉強会lt資料20121019 jenkins勉強会lt資料
20121019 jenkins勉強会lt資料
 
iOSアプリ開発でもTravis CI #eytokyo
iOSアプリ開発でもTravis CI #eytokyoiOSアプリ開発でもTravis CI #eytokyo
iOSアプリ開発でもTravis CI #eytokyo
 
Stack2017 自動化困難な状況での活動方法
Stack2017 自動化困難な状況での活動方法Stack2017 自動化困難な状況での活動方法
Stack2017 自動化困難な状況での活動方法
 
海外のSeleniumカンファレンスではどんな発表がされているのか2014
海外のSeleniumカンファレンスではどんな発表がされているのか2014海外のSeleniumカンファレンスではどんな発表がされているのか2014
海外のSeleniumカンファレンスではどんな発表がされているのか2014
 
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
 
XP祭り2013-LT-Codeer
XP祭り2013-LT-CodeerXP祭り2013-LT-Codeer
XP祭り2013-LT-Codeer
 
アプリケーションエンジニアがMackerelで楽しく監視構成している事例
アプリケーションエンジニアがMackerelで楽しく監視構成している事例アプリケーションエンジニアがMackerelで楽しく監視構成している事例
アプリケーションエンジニアがMackerelで楽しく監視構成している事例
 
Automation test.ssf alpha
Automation test.ssf alphaAutomation test.ssf alpha
Automation test.ssf alpha
 
第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座
 
価値あるシステムテスト自動化の実現By friendly
価値あるシステムテスト自動化の実現By friendly価値あるシステムテスト自動化の実現By friendly
価値あるシステムテスト自動化の実現By friendly
 
ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014
 
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
 
DroidKaigi - Welcome talk
DroidKaigi - Welcome talkDroidKaigi - Welcome talk
DroidKaigi - Welcome talk
 
ノンプログラマのためのSelenium de DDTはじめの一歩
ノンプログラマのためのSelenium de DDTはじめの一歩ノンプログラマのためのSelenium de DDTはじめの一歩
ノンプログラマのためのSelenium de DDTはじめの一歩
 
ハイパフォーマンスSeleniumテスト@サイボウズ
ハイパフォーマンスSeleniumテスト@サイボウズハイパフォーマンスSeleniumテスト@サイボウズ
ハイパフォーマンスSeleniumテスト@サイボウズ
 
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
 
画像認識ベースのUI自動化フレームワークを用いた取り組み
画像認識ベースのUI自動化フレームワークを用いた取り組み画像認識ベースのUI自動化フレームワークを用いた取り組み
画像認識ベースのUI自動化フレームワークを用いた取り組み
 
スマートフォンアプリの テスト自動化をはじめよう
スマートフォンアプリの テスト自動化をはじめようスマートフォンアプリの テスト自動化をはじめよう
スマートフォンアプリの テスト自動化をはじめよう
 
「GebとSpockではじめるシステムテスト自動化」
「GebとSpockではじめるシステムテスト自動化」「GebとSpockではじめるシステムテスト自動化」
「GebとSpockではじめるシステムテスト自動化」
 

Similar a テスト駆動&オブジェクト指向ハンズオン

A 1-1 tfs on azure で始めるイマドキのソフトウェア開発
A 1-1 tfs on azure で始めるイマドキのソフトウェア開発A 1-1 tfs on azure で始めるイマドキのソフトウェア開発
A 1-1 tfs on azure で始めるイマドキのソフトウェア開発GoAzure
 
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説Daisuke Nishino
 
実装(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第31回】
実装(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第31回】実装(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第31回】
実装(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第31回】Tomoharu ASAMI
 
1000人規模で使う分析基盤構築 〜redshiftを活用したeuc
1000人規模で使う分析基盤構築  〜redshiftを活用したeuc1000人規模で使う分析基盤構築  〜redshiftを活用したeuc
1000人規模で使う分析基盤構築 〜redshiftを活用したeucKazuhiro Miyajima
 
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...Akira Inoue
 
継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキングTakayuki Kondou
 
はじめてのASP.NET MVC5
はじめてのASP.NET MVC5はじめてのASP.NET MVC5
はじめてのASP.NET MVC5Tomo Mizoe
 
Microsoft Team Foundation Service 入門
Microsoft Team Foundation Service 入門Microsoft Team Foundation Service 入門
Microsoft Team Foundation Service 入門You&I
 
設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】
設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】
設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】Tomoharu ASAMI
 
実装(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第30回】
実装(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第30回】実装(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第30回】
実装(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第30回】Tomoharu ASAMI
 
テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1Hiro Yoshioka
 
Machine Learning Operations (MLOps): Overview, Definition, and Architecture
Machine Learning Operations (MLOps): Overview, Definition, and ArchitectureMachine Learning Operations (MLOps): Overview, Definition, and Architecture
Machine Learning Operations (MLOps): Overview, Definition, and ArchitectureTakuya Minagawa
 
JenkinsとSeleniumの活用事例
JenkinsとSeleniumの活用事例JenkinsとSeleniumの活用事例
JenkinsとSeleniumの活用事例Takeshi Kondo
 
XPagesジャンプスタート
XPagesジャンプスタートXPagesジャンプスタート
XPagesジャンプスタートMitsuru Katoh
 
Eclipse xtext 紹介
Eclipse xtext 紹介Eclipse xtext 紹介
Eclipse xtext 紹介Akira Tanaka
 
バニラで使うTFS
バニラで使うTFSバニラで使うTFS
バニラで使うTFSyasuohosotani
 
Windows アプリケーション開発 はじめに ~ Windows アプリケーション開発初学者の方向け Visual Studio を使ったアプリケーショ...
Windows アプリケーション開発はじめに ~ Windows アプリケーション開発初学者の方向けVisual Studio を使ったアプリケーショ...Windows アプリケーション開発はじめに ~ Windows アプリケーション開発初学者の方向けVisual Studio を使ったアプリケーショ...
Windows アプリケーション開発 はじめに ~ Windows アプリケーション開発初学者の方向け Visual Studio を使ったアプリケーショ...Fujio Kojima
 
AWS Black Belt Online Seminar AWS上のJenkins活用方法
AWS Black Belt Online Seminar AWS上のJenkins活用方法AWS Black Belt Online Seminar AWS上のJenkins活用方法
AWS Black Belt Online Seminar AWS上のJenkins活用方法Amazon Web Services Japan
 
Eclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテストEclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテストAtsuhiro Kubo
 

Similar a テスト駆動&オブジェクト指向ハンズオン (20)

A 1-1 tfs on azure で始めるイマドキのソフトウェア開発
A 1-1 tfs on azure で始めるイマドキのソフトウェア開発A 1-1 tfs on azure で始めるイマドキのソフトウェア開発
A 1-1 tfs on azure で始めるイマドキのソフトウェア開発
 
Go azure tfs_service
Go azure tfs_serviceGo azure tfs_service
Go azure tfs_service
 
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
 
実装(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第31回】
実装(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第31回】実装(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第31回】
実装(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第31回】
 
1000人規模で使う分析基盤構築 〜redshiftを活用したeuc
1000人規模で使う分析基盤構築  〜redshiftを活用したeuc1000人規模で使う分析基盤構築  〜redshiftを活用したeuc
1000人規模で使う分析基盤構築 〜redshiftを活用したeuc
 
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
 
継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング
 
はじめてのASP.NET MVC5
はじめてのASP.NET MVC5はじめてのASP.NET MVC5
はじめてのASP.NET MVC5
 
Microsoft Team Foundation Service 入門
Microsoft Team Foundation Service 入門Microsoft Team Foundation Service 入門
Microsoft Team Foundation Service 入門
 
設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】
設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】
設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】
 
実装(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第30回】
実装(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第30回】実装(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第30回】
実装(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第30回】
 
テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1
 
Machine Learning Operations (MLOps): Overview, Definition, and Architecture
Machine Learning Operations (MLOps): Overview, Definition, and ArchitectureMachine Learning Operations (MLOps): Overview, Definition, and Architecture
Machine Learning Operations (MLOps): Overview, Definition, and Architecture
 
JenkinsとSeleniumの活用事例
JenkinsとSeleniumの活用事例JenkinsとSeleniumの活用事例
JenkinsとSeleniumの活用事例
 
XPagesジャンプスタート
XPagesジャンプスタートXPagesジャンプスタート
XPagesジャンプスタート
 
Eclipse xtext 紹介
Eclipse xtext 紹介Eclipse xtext 紹介
Eclipse xtext 紹介
 
バニラで使うTFS
バニラで使うTFSバニラで使うTFS
バニラで使うTFS
 
Windows アプリケーション開発 はじめに ~ Windows アプリケーション開発初学者の方向け Visual Studio を使ったアプリケーショ...
Windows アプリケーション開発はじめに ~ Windows アプリケーション開発初学者の方向けVisual Studio を使ったアプリケーショ...Windows アプリケーション開発はじめに ~ Windows アプリケーション開発初学者の方向けVisual Studio を使ったアプリケーショ...
Windows アプリケーション開発 はじめに ~ Windows アプリケーション開発初学者の方向け Visual Studio を使ったアプリケーショ...
 
AWS Black Belt Online Seminar AWS上のJenkins活用方法
AWS Black Belt Online Seminar AWS上のJenkins活用方法AWS Black Belt Online Seminar AWS上のJenkins活用方法
AWS Black Belt Online Seminar AWS上のJenkins活用方法
 
Eclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテストEclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテスト
 

テスト駆動&オブジェクト指向ハンズオン