狠狠撸

狠狠撸Share a Scribd company logo
テストコード入门
2017/2/15 sh-ogawa
目次
? はじめに
? テストコードとは
? テストコードのメリット、デメリット
? テストコードとの付き合い方
? テストコードの书き方
? テスト自动化
? デモ
? レガシーシステムとテストコード
はじめに
テストコードを書いたことがない人向けに、
テストコードを書くと何が良いのかデモを交えて
紹介します。
※デモの言語はJavaを使用します。
テストコードを書くだけだと、将来的にゴミ化す
る可能性が高いため、書いたテストコードをゴミ
にしないように自動テストについても扱います。
はじめに
みなさま、テストコードと聞くとどんなイメージ
を持ちますか?
はじめに
私は最初、以下のように思いました。
? そもそも、どうやって書くの?
? テストコードのテストもするの?
それって2度手間では???
? つまり、テストコードを书くと何が嬉しいの?
はじめに
参加いただいた方々の疑問?ネガティブな感情
をクリアにして、
テストコードを書くはじめの一歩を踏み出すきっ
かけになる場とするべく、頑張って喋ります。
はじめに
ちなみに
はじめに
TDDとかBDD信者で
はないので、
その辺、勘違いしない
ようにお願いします!
テストコードとは
テストコードとは
? 書いたコードが、開発者目線で思ったとおりに
動いているか検査する
? つまり、機能仕様を検査するわけではない
? 书いたコードの仕様を表す
テストコードとは
書いたプログラムについて、
そのロジックが想定通りの動きをしているか
確認するためのプログラムです。
以下のようなメソッドがあった場合、
public int add(int x, int y) { return x + y ;}
addメソッドに「xに1」、「yに2」を渡したら、
戻り値が「3」になっていれば合格!
ということを、コードベースで確認します。
テストコードとは
また、テストコードは、書いたコードの仕様の側
面も満たします。
テストコードには、開発者が想定しているパター
ンのテストが反映されています。
つまり、テストコードとは、開発者が想定してい
るメソッドの使われ方を表しています。
このメソッド
そんな使われ方、想定してないんですけど???
というのを防ぐのにも役立ちます
テストコードのメリット、デメリット
テストコードのメリット、デメリット
メリット
? 中のロジックが変わらなければ、結果は同じに
なる(ようにプログラムを書く)
? 逆に結果が変われば、何か内部的に変わったこ
とを気付ける
? 人が実行して目で確認するよりも、
圧倒的に早く終わって、何よりも正確である
リファクタリング
しやすくなる
テストコードのメリット、デメリット
メリット(応用編)
? 特定の条件で起こる不具合について、テスト
コード上で再現させれば、何度でも瞬時に現象
を確認できる
? 不具合を対応したら、テストが成功になるため、
実装者レベルでの確認はスグに終わる
? 他人が作った機能であっても、テストコードが
あれば、テストコードを実行することで、どん
な機能かが概ね判る
テストコードのメリット、デメリット
メリット(余談)
OSSのライブラリやフレームワークの選定条件と
して、テストコードの有無は、重要な要素になり
ます。
なぜかというと、テストコードを実行することで、
どんな機能が提供されているかを簡単に確認でき
るためです。
テストコードのメリット、デメリット
デメリット
? テストコードを書くのは、開発と同じくらい時
間がかかる(経験的に半分~同じくらい)
? メンテナンスをし続けないと、ゴミになるため、
お世話が必要
テストコードを書かない勢力には
めんどくさ???
という心理的な訴えが強力にはたらきやすい
テストコードのメリット、デメリット
テストコードは、
以下のようなプロジェクトには向きません
? クイック案件
? 作り切の案件
逆に、以下のようなプロジェクトでは
積極的に採用したいです
? 細かい仕様がよく変わる
? 開発終了後に、保守することが決まっている
? 人の出入りが、結構ある
テストコードとの付き合い方
テストコードとの付き合い方
テストコード書くぞ!!
と決めたプロジェクトで失敗する事例(個人編)
? 量産されるコピペのテストコード
? プロダクトコードのテスタビリティが低い
(端的に云うと、コーディングセンス×)
? 1つのテストコードに複数パターンを混ぜ込む
? テストコードに実行順序を持たせる
テストコードは、プロダクトコードと同じように、
しっかりと設計して書かないと死にます
テストコードとの付き合い方
テストコード書くぞ!!
と決めたプロジェクトで失敗する事例(組織編)
? C0カバレッジ100%を目指す
? テストコード書けば工数が浮くという勘違い
? テストコードを書けば品質が担保できるという
勘違い
? テストコードのメンテナンスをしない
? なんでもかんでもテストコードを書かせる
? 性能試験などを書いてしまう
こういうことをされると、
開発者が死にます
テストコードとの付き合い方
テストコードとの上手な付き合い方(個人編)
? 共通的に使うものは、テストコード共通みたい
な形で、周りに提供する
? テストコードをレビューする、してもらう
? テスト可能なプロダクトコードを書く
?メソッドの戻り値voidは、本来おかしい
テストしやすいプロダクトコードを上手く書く
ということは、関数型プログラミングを学んでみると
個人的には良いと思います。
テストコードとの付き合い方
テストコードとの上手な付き合い方(組織編)
? カバレッジは85%程度を目指させ、カバレッジ
の変化に着目するようにする
? テストコードはコストがかかることを認識する
? 新規開発では、テストコードだけに頼らず、打
鍵確認も行う(正常系だけでも良い)
? テスト自动化して、テストが失敗したら通知す
る仕組みを構築する
? テストコードを書くのに、十分な時間を取れな
い場合は、対象を重要機能のみに絞る
? 性能試験は、別フォルダに実装して行う
ガチガチにやる必要はない
テストコードの书き方
テストコードの书き方
? テスト用のライブラリを必ず使う
? テスティングフレームワークを使って、
カバレッジを取得する
? モックを上手く利用する
? テストコードの実行は一瞬で終わる構成にする
テストコードの书き方
//プロダクトコード
public class Calculation {
/** 加法を行う */
public static int add(int x, int y) { return x + y; }
/** 減法を行う */
public static int sub(int x, int y) { return x - y; }
/** 乗法を行う */
public static int multi(int x, int y) { return x * y; }
/** 除法を行う */
protected static int div(int x, int y) {
if(y == 0) throw new IllegalArgumentException("Please pass a non-zero value to y.");
return x / y;
}
}
テストコードの书き方
//テストコード
public class CalculationTest {
//例外を検知する
@Rule
public ExpectedException expect = ExpectedException.none();
@Test
public void 加法の確認(){
assertEquals(3, Calculation.add(1, 2));
}
@Test
public void 減法の確認(){
assertEquals(4, Calculation.sub(6, 2));
}
@Test
public void 乗法の確認(){
assertEquals(12, Calculation.multi(6, 2));
}
@Test
public void 徐法の確認(){
assertEquals(2, Calculation.div(8, 4));
}
@Test
public void 徐法でゼロ除算させようとした場合に例外が発生することの確認(){
//デバッグすれば判るが、Ruleは毎回インスタンスを作り直すため、変更したら、変更しっぱなしにしておいて問題ない
expect.expect(IllegalArgumentException.class);
expect.expectMessage("Please pass a non-zero value to y.");
assertEquals(2, Calculation.div(8, 0));
}
}
かなり端折ってますが、
?メソッド名が項目になる(日本語OK)
?try-catchしなくても、
例外とそのメッセージの検査が可能
?protectedまでは小細工しないで検査可能
テスト自动化
テスト自动化
先にも出ましたが、テストコードを書く場合は、
以下の理由からテストの自動化は必須です。
? テストコードの作りっ放しは、将来的にテスト
コードがエラーとなる
?テストコードのゴミ化を招く
折角書いたテストコードを
ゴミ化しないために、テスト自动化をします。
これは必須です。
テスト自动化
必要なもの
? CIを支援するツール
オンプレの場合:
Jenkins一択
※弊社標準もJenkins
クラウドサービスの場合:
選択肢は色々あるけど、プライベートリポジトリは大体有料
例外として、werckerは無料で作り放題(多分今だけだけど)
でも、Java使えない
CI何ぞやは、以下を読んでください。判らないことは聞いてください
[顿别惫翱辫蝉を支える技术勉强会(颁滨编)]
http://www.slideshare.net/sh-ogawa/dev-opsci
テスト自动化
Jenkins
画面からテコテコ設定を入れても良いんだけど、、
世間だともうそういう段階ではないので、、
テスト自动化
Jenkins(Blue Ocean)
テスト自动化
Jenkins(Blue Ocean Pipeline)
こんな感じで、何がどこまで正常に動いたかを見れちゃいます
テスト自动化
ソースはこんな感じで、Groovyで書きます
node {
stage('update') {
git([url: 'https://github.com/sh-ogawa/auto-test-
demo.git', branch: 'sonar'])
}
stage('test') {
bat 'mvn clean jacoco:prepare-agent test
jacoco:report -e | echo "ignore failure"'
}
stage('analyze') {
bat 'mvn sonar:sonar -e'
}
}
ソースの更新
テストコードの
実行&カバレッジ取得
テスト結果の解析
テスト自动化
余談ですが、Pipelineスクリプトを書く理由は、
? 画面からCIで回すシナリオを変えた場合に、何
を変えられたのか判らない
? GUIベースは便利だが、職人技になりがち
? シナリオをソースで残しておけば、何を変更さ
れたか判るし、ソースを見れば何しているか判
る
? Gitのホスティングサービス(GitBucketとか
GitHub)を使っていればP-Rでレビューして、
OK -> マージという戦略が取れるため、属人化
しづらい
デモ
デモ
個人で行う場合は、IDEでテストした
いコードを実行できる。
成功すると緑になる。
※失敗は赤くなる
デモ
自動化構成
push
hook
pull
build
and
test
analyze
save
Analyze
result
結果の閲覧
デモ
SonarQube(テスト、解析結果)
レガシーシステムとテストコード
レガシーシステムとテストコード
最後に、テストコードがないシステムはどうやっ
て書けば良い?について
レガシーシステムでテストコードを書くには、
? 今動くものを絶対の正とする
? テストを頑張って書き過ぎない
ということを念頭において、テストコードを書く
仕様化テストを実施しましょう!
レガシーシステムとテストコード
仕様化テストの書き方
? テストコードから対象のメソッドを呼ぶ
インプットは実体に合わせるのが良い
(実際の画面などを動かして、
入っているObjectを保存するとかいう
荒業を使ってもOK)
? 戻り値や、IN/OUT兼用パラメータに何が入っ
ているかを見ながら、assertを書けば良い
? カバレッジは上がらないはずなので、
半日~1日で上げられるところまでを対応して、
見切りをつける(これやらないと泥沼化します)
レガシーシステムとテストコード
このようにして仕様化テストを作っておくことで、
将来、以下のようなイベントが発生した場合、
楽になります。
? システム老朽化によるリプレース
? フレームワークを載せ替えたい
? 言語のバージョンを上げたい
? リファクタリングして、ソースを綺麗にしたい
etc..
质疑応答
ご静聴ありがとうございました

More Related Content

What's hot (20)

TRICK 2022 Results
TRICK 2022 ResultsTRICK 2022 Results
TRICK 2022 Results
mametter
?
良い?悪い?コードコメントの书き方
良い?悪い?コードコメントの书き方良い?悪い?コードコメントの书き方
良い?悪い?コードコメントの书き方
Shigenori Sagawa
?
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
?
奥别产础蝉蝉别尘产濒测の奥别产以外のことぜんぶ话す
奥别产础蝉蝉别尘产濒测の奥别产以外のことぜんぶ话す奥别产础蝉蝉别尘产濒测の奥别产以外のことぜんぶ话す
奥别产础蝉蝉别尘产濒测の奥别产以外のことぜんぶ话す
Takaya Saeki
?
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメオブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメ
Yoji Kanno
?
搁别诲颈蝉の特徴と活用方法について
搁别诲颈蝉の特徴と活用方法について搁别诲颈蝉の特徴と活用方法について
搁别诲颈蝉の特徴と活用方法について
Yuji Otani
?
オブジェクト指向の设计と実装の学び方のコツ
オブジェクト指向の设计と実装の学び方のコツオブジェクト指向の设计と実装の学び方のコツ
オブジェクト指向の设计と実装の学び方のコツ
増田 亨
?
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン?UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン?UXリサーチ「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン?UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン?UXリサーチ
Yoshiki Hayama
?
REST API のコツ
REST API のコツREST API のコツ
REST API のコツ
pospome
?
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
A AOKI
?
正しいものを正しく作る塾-设计コース
正しいものを正しく作る塾-设计コース正しいものを正しく作る塾-设计コース
正しいものを正しく作る塾-设计コース
増田 亨
?
例外设计における大罪
例外设计における大罪例外设计における大罪
例外设计における大罪
Takuto Wada
?
ソーシャルゲームのためのデータベース设计
ソーシャルゲームのためのデータベース设计ソーシャルゲームのためのデータベース设计
ソーシャルゲームのためのデータベース设计
Yoshinori Matsunobu
?
「UXデザインとは」からはじめる「本流」のUXデザインはじめの一歩 | UXデザイン基礎セミナー 第1回
「UXデザインとは」からはじめる「本流」のUXデザインはじめの一歩 | UXデザイン基礎セミナー 第1回「UXデザインとは」からはじめる「本流」のUXデザインはじめの一歩 | UXデザイン基礎セミナー 第1回
「UXデザインとは」からはじめる「本流」のUXデザインはじめの一歩 | UXデザイン基礎セミナー 第1回
Yoshiki Hayama
?
デキるプログラマだけが知っているコードレビュー7つの秘诀
デキるプログラマだけが知っているコードレビュー7つの秘诀デキるプログラマだけが知っているコードレビュー7つの秘诀
デキるプログラマだけが知っているコードレビュー7つの秘诀
Masahiro Nishimi
?
クラシフィケーション?ツリー法入门
クラシフィケーション?ツリー法入门クラシフィケーション?ツリー法入门
クラシフィケーション?ツリー法入门
H Iseri
?
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?
Moriharu Ohzu
?
笔辞蝉迟驳谤别厂蚕尝アンチハ?ターン
笔辞蝉迟驳谤别厂蚕尝アンチハ?ターン笔辞蝉迟驳谤别厂蚕尝アンチハ?ターン
笔辞蝉迟驳谤别厂蚕尝アンチハ?ターン
Soudai Sone
?
「顾客の声を闻かない」とはどういうことか
「顾客の声を闻かない」とはどういうことか「顾客の声を闻かない」とはどういうことか
「顾客の声を闻かない」とはどういうことか
Yoshiki Hayama
?
ネットストーカー御用达翱厂滨狈罢ツール叠濒补肠办叠颈谤诲を触ってみた.辫辫迟虫
ネットストーカー御用达翱厂滨狈罢ツール叠濒补肠办叠颈谤诲を触ってみた.辫辫迟虫ネットストーカー御用达翱厂滨狈罢ツール叠濒补肠办叠颈谤诲を触ってみた.辫辫迟虫
ネットストーカー御用达翱厂滨狈罢ツール叠濒补肠办叠颈谤诲を触ってみた.辫辫迟虫
Shota Shinogi
?
TRICK 2022 Results
TRICK 2022 ResultsTRICK 2022 Results
TRICK 2022 Results
mametter
?
良い?悪い?コードコメントの书き方
良い?悪い?コードコメントの书き方良い?悪い?コードコメントの书き方
良い?悪い?コードコメントの书き方
Shigenori Sagawa
?
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
?
奥别产础蝉蝉别尘产濒测の奥别产以外のことぜんぶ话す
奥别产础蝉蝉别尘产濒测の奥别产以外のことぜんぶ话す奥别产础蝉蝉别尘产濒测の奥别产以外のことぜんぶ话す
奥别产础蝉蝉别尘产濒测の奥别产以外のことぜんぶ话す
Takaya Saeki
?
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメオブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメ
Yoji Kanno
?
搁别诲颈蝉の特徴と活用方法について
搁别诲颈蝉の特徴と活用方法について搁别诲颈蝉の特徴と活用方法について
搁别诲颈蝉の特徴と活用方法について
Yuji Otani
?
オブジェクト指向の设计と実装の学び方のコツ
オブジェクト指向の设计と実装の学び方のコツオブジェクト指向の设计と実装の学び方のコツ
オブジェクト指向の设计と実装の学び方のコツ
増田 亨
?
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン?UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン?UXリサーチ「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン?UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン?UXリサーチ
Yoshiki Hayama
?
REST API のコツ
REST API のコツREST API のコツ
REST API のコツ
pospome
?
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
A AOKI
?
正しいものを正しく作る塾-设计コース
正しいものを正しく作る塾-设计コース正しいものを正しく作る塾-设计コース
正しいものを正しく作る塾-设计コース
増田 亨
?
例外设计における大罪
例外设计における大罪例外设计における大罪
例外设计における大罪
Takuto Wada
?
ソーシャルゲームのためのデータベース设计
ソーシャルゲームのためのデータベース设计ソーシャルゲームのためのデータベース设计
ソーシャルゲームのためのデータベース设计
Yoshinori Matsunobu
?
「UXデザインとは」からはじめる「本流」のUXデザインはじめの一歩 | UXデザイン基礎セミナー 第1回
「UXデザインとは」からはじめる「本流」のUXデザインはじめの一歩 | UXデザイン基礎セミナー 第1回「UXデザインとは」からはじめる「本流」のUXデザインはじめの一歩 | UXデザイン基礎セミナー 第1回
「UXデザインとは」からはじめる「本流」のUXデザインはじめの一歩 | UXデザイン基礎セミナー 第1回
Yoshiki Hayama
?
デキるプログラマだけが知っているコードレビュー7つの秘诀
デキるプログラマだけが知っているコードレビュー7つの秘诀デキるプログラマだけが知っているコードレビュー7つの秘诀
デキるプログラマだけが知っているコードレビュー7つの秘诀
Masahiro Nishimi
?
クラシフィケーション?ツリー法入门
クラシフィケーション?ツリー法入门クラシフィケーション?ツリー法入门
クラシフィケーション?ツリー法入门
H Iseri
?
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?
Moriharu Ohzu
?
笔辞蝉迟驳谤别厂蚕尝アンチハ?ターン
笔辞蝉迟驳谤别厂蚕尝アンチハ?ターン笔辞蝉迟驳谤别厂蚕尝アンチハ?ターン
笔辞蝉迟驳谤别厂蚕尝アンチハ?ターン
Soudai Sone
?
「顾客の声を闻かない」とはどういうことか
「顾客の声を闻かない」とはどういうことか「顾客の声を闻かない」とはどういうことか
「顾客の声を闻かない」とはどういうことか
Yoshiki Hayama
?
ネットストーカー御用达翱厂滨狈罢ツール叠濒补肠办叠颈谤诲を触ってみた.辫辫迟虫
ネットストーカー御用达翱厂滨狈罢ツール叠濒补肠办叠颈谤诲を触ってみた.辫辫迟虫ネットストーカー御用达翱厂滨狈罢ツール叠濒补肠办叠颈谤诲を触ってみた.辫辫迟虫
ネットストーカー御用达翱厂滨狈罢ツール叠濒补肠办叠颈谤诲を触ってみた.辫辫迟虫
Shota Shinogi
?

Viewers also liked (19)

惭测厂蚕尝入门
惭测厂蚕尝入门惭测厂蚕尝入门
惭测厂蚕尝入门
小川 昌吾
?
顿别惫翱辫蝉を支える技术勉强会(颁滨编)
顿别惫翱辫蝉を支える技术勉强会(颁滨编)顿别惫翱辫蝉を支える技术勉强会(颁滨编)
顿别惫翱辫蝉を支える技术勉强会(颁滨编)
小川 昌吾
?
骋颈迟入门
骋颈迟入门骋颈迟入门
骋颈迟入门
小川 昌吾
?
スキトラ Spring + mybatis
スキトラ Spring + mybatisスキトラ Spring + mybatis
スキトラ Spring + mybatis
小川 昌吾
?
スキトラ骋颈迟
スキトラ骋颈迟スキトラ骋颈迟
スキトラ骋颈迟
小川 昌吾
?
[db tech showcase Tokyo 2014] B25: [In-Memory DB: SAP HANA] 障害?災害対策のメカニズム by...
[db tech showcase Tokyo 2014] B25: [In-Memory DB: SAP HANA] 障害?災害対策のメカニズム  by...[db tech showcase Tokyo 2014] B25: [In-Memory DB: SAP HANA] 障害?災害対策のメカニズム  by...
[db tech showcase Tokyo 2014] B25: [In-Memory DB: SAP HANA] 障害?災害対策のメカニズム by...
Insight Technology, Inc.
?
札束で贰虫肠别濒を殴る
札束で贰虫肠别濒を殴る札束で贰虫肠别濒を殴る
札束で贰虫肠别濒を殴る
bleis tift
?
骋谤别蝉颁耻产别で快适笔辞蝉迟驳谤别厂蚕尝ライフ
骋谤别蝉颁耻产别で快适笔辞蝉迟驳谤别厂蚕尝ライフ骋谤别蝉颁耻产别で快适笔辞蝉迟驳谤别厂蚕尝ライフ
骋谤别蝉颁耻产别で快适笔辞蝉迟驳谤别厂蚕尝ライフ
NTT DATA OSS Professional Services
?
Città RavenaCittà Ravena
Città Ravena
Michell Mendes
?
Literally Litter Free- DSS Socio Camp'15
Literally Litter Free- DSS Socio Camp'15Literally Litter Free- DSS Socio Camp'15
Literally Litter Free- DSS Socio Camp'15
Zeba Adiba
?
PHILCAN - SUN CSA Philippine Launch
PHILCAN - SUN CSA Philippine LaunchPHILCAN - SUN CSA Philippine Launch
PHILCAN - SUN CSA Philippine Launch
SUN Civil Society Network
?
Policy Paper: Confronting the ISIS Threat in the United States
Policy Paper: Confronting the ISIS Threat in the United StatesPolicy Paper: Confronting the ISIS Threat in the United States
Policy Paper: Confronting the ISIS Threat in the United States
Brett Champlin
?
Oskar Schindler - The Savior
Oskar Schindler - The SaviorOskar Schindler - The Savior
Oskar Schindler - The Savior
yountmitchell
?
[C33] 24時間365日「本当に」止まらないデータベースシステムの導入 ~AlwaysOn+Qシステムで完全無停止運用~ by Nobuyuki Sa...
[C33] 24時間365日「本当に」止まらないデータベースシステムの導入 ~AlwaysOn+Qシステムで完全無停止運用~ by Nobuyuki Sa...[C33] 24時間365日「本当に」止まらないデータベースシステムの導入 ~AlwaysOn+Qシステムで完全無停止運用~ by Nobuyuki Sa...
[C33] 24時間365日「本当に」止まらないデータベースシステムの導入 ~AlwaysOn+Qシステムで完全無停止運用~ by Nobuyuki Sa...
Insight Technology, Inc.
?
Consume Power Sensibly - Pushpalata British International School
Consume Power Sensibly - Pushpalata British International SchoolConsume Power Sensibly - Pushpalata British International School
Consume Power Sensibly - Pushpalata British International School
PUSHPALATA BRITISH INTERNATIONAL SCHOOL
?
Windowsで惭测厂蚕尝入门
Windowsで惭测厂蚕尝入门Windowsで惭测厂蚕尝入门
Windowsで惭测厂蚕尝入门
Hidenori Ishii
?
Hello, systemd
Hello, systemdHello, systemd
Hello, systemd
Emma Haruka Iwao
?
The Lens of Intrinsic Skill Atoms: A Method for Gameful Design
The Lens of Intrinsic Skill Atoms: A Method for Gameful DesignThe Lens of Intrinsic Skill Atoms: A Method for Gameful Design
The Lens of Intrinsic Skill Atoms: A Method for Gameful Design
Sebastian Deterding
?
a-blog cmsを使うデザイナーのための5つの心得【a-blog cms Training Camp 2016 Autumn】
a-blog cmsを使うデザイナーのための5つの心得【a-blog cms Training Camp 2016 Autumn】a-blog cmsを使うデザイナーのための5つの心得【a-blog cms Training Camp 2016 Autumn】
a-blog cmsを使うデザイナーのための5つの心得【a-blog cms Training Camp 2016 Autumn】
Risako Imai
?
顿别惫翱辫蝉を支える技术勉强会(颁滨编)
顿别惫翱辫蝉を支える技术勉强会(颁滨编)顿别惫翱辫蝉を支える技术勉强会(颁滨编)
顿别惫翱辫蝉を支える技术勉强会(颁滨编)
小川 昌吾
?
スキトラ Spring + mybatis
スキトラ Spring + mybatisスキトラ Spring + mybatis
スキトラ Spring + mybatis
小川 昌吾
?
[db tech showcase Tokyo 2014] B25: [In-Memory DB: SAP HANA] 障害?災害対策のメカニズム by...
[db tech showcase Tokyo 2014] B25: [In-Memory DB: SAP HANA] 障害?災害対策のメカニズム  by...[db tech showcase Tokyo 2014] B25: [In-Memory DB: SAP HANA] 障害?災害対策のメカニズム  by...
[db tech showcase Tokyo 2014] B25: [In-Memory DB: SAP HANA] 障害?災害対策のメカニズム by...
Insight Technology, Inc.
?
札束で贰虫肠别濒を殴る
札束で贰虫肠别濒を殴る札束で贰虫肠别濒を殴る
札束で贰虫肠别濒を殴る
bleis tift
?
骋谤别蝉颁耻产别で快适笔辞蝉迟驳谤别厂蚕尝ライフ
骋谤别蝉颁耻产别で快适笔辞蝉迟驳谤别厂蚕尝ライフ骋谤别蝉颁耻产别で快适笔辞蝉迟驳谤别厂蚕尝ライフ
骋谤别蝉颁耻产别で快适笔辞蝉迟驳谤别厂蚕尝ライフ
NTT DATA OSS Professional Services
?
Città RavenaCittà Ravena
Città Ravena
Michell Mendes
?
Literally Litter Free- DSS Socio Camp'15
Literally Litter Free- DSS Socio Camp'15Literally Litter Free- DSS Socio Camp'15
Literally Litter Free- DSS Socio Camp'15
Zeba Adiba
?
Policy Paper: Confronting the ISIS Threat in the United States
Policy Paper: Confronting the ISIS Threat in the United StatesPolicy Paper: Confronting the ISIS Threat in the United States
Policy Paper: Confronting the ISIS Threat in the United States
Brett Champlin
?
Oskar Schindler - The Savior
Oskar Schindler - The SaviorOskar Schindler - The Savior
Oskar Schindler - The Savior
yountmitchell
?
[C33] 24時間365日「本当に」止まらないデータベースシステムの導入 ~AlwaysOn+Qシステムで完全無停止運用~ by Nobuyuki Sa...
[C33] 24時間365日「本当に」止まらないデータベースシステムの導入 ~AlwaysOn+Qシステムで完全無停止運用~ by Nobuyuki Sa...[C33] 24時間365日「本当に」止まらないデータベースシステムの導入 ~AlwaysOn+Qシステムで完全無停止運用~ by Nobuyuki Sa...
[C33] 24時間365日「本当に」止まらないデータベースシステムの導入 ~AlwaysOn+Qシステムで完全無停止運用~ by Nobuyuki Sa...
Insight Technology, Inc.
?
Windowsで惭测厂蚕尝入门
Windowsで惭测厂蚕尝入门Windowsで惭测厂蚕尝入门
Windowsで惭测厂蚕尝入门
Hidenori Ishii
?
The Lens of Intrinsic Skill Atoms: A Method for Gameful Design
The Lens of Intrinsic Skill Atoms: A Method for Gameful DesignThe Lens of Intrinsic Skill Atoms: A Method for Gameful Design
The Lens of Intrinsic Skill Atoms: A Method for Gameful Design
Sebastian Deterding
?
a-blog cmsを使うデザイナーのための5つの心得【a-blog cms Training Camp 2016 Autumn】
a-blog cmsを使うデザイナーのための5つの心得【a-blog cms Training Camp 2016 Autumn】a-blog cmsを使うデザイナーのための5つの心得【a-blog cms Training Camp 2016 Autumn】
a-blog cmsを使うデザイナーのための5つの心得【a-blog cms Training Camp 2016 Autumn】
Risako Imai
?

Similar to テストコード入门 (17)

アプリ開発を効率化する 方法あれこれ
アプリ開発を効率化する 方法あれこれアプリ開発を効率化する 方法あれこれ
アプリ開発を効率化する 方法あれこれ
Atsushi Mizoue
?
开発者による现実的な自动化テスト及び搁耻产测のテストツールについて
开発者による现実的な自动化テスト及び搁耻产测のテストツールについて开発者による现実的な自动化テスト及び搁耻产测のテストツールについて
开発者による现実的な自动化テスト及び搁耻产测のテストツールについて
Takaaki Kasai
?
Code cademyの学習方法
Code cademyの学習方法Code cademyの学習方法
Code cademyの学習方法
Tsuyoshi Motobe
?
新人が罢顿顿を学ぶ方法
新人が罢顿顿を学ぶ方法新人が罢顿顿を学ぶ方法
新人が罢顿顿を学ぶ方法
Ito Kunihiko
?
【&辩耻辞迟;8补1&辩耻辞迟;20160729资料】
【&辩耻辞迟;8补1&辩耻辞迟;20160729资料】【&辩耻辞迟;8补1&辩耻辞迟;20160729资料】
【&辩耻辞迟;8补1&辩耻辞迟;20160729资料】
8a1
?
プログラミング勉强会
プログラミング勉强会プログラミング勉强会
プログラミング勉强会
ssuser50bb47
?
テストを書くのが嫌いな君へ #m3dev
テストを書くのが嫌いな君へ #m3devテストを書くのが嫌いな君へ #m3dev
テストを書くのが嫌いな君へ #m3dev
Kazuhiro Sera
?
ユニットテストをちゃんとした话
ユニットテストをちゃんとした话ユニットテストをちゃんとした话
ユニットテストをちゃんとした话
Tsuyoshi Nakamura
?
ソースコート?を読んて?みよう
ソースコート?を読んて?みようソースコート?を読んて?みよう
ソースコート?を読んて?みよう
Shun Tsunoda
?
剪定テスト
剪定テスト剪定テスト
剪定テスト
Makoto Yonezawa
?
テストを书こう!!
テストを书こう!!テストを书こう!!
テストを书こう!!
拓 小林
?
はし?めての厂肠谤耻尘
はし?めての厂肠谤耻尘はし?めての厂肠谤耻尘
はし?めての厂肠谤耻尘
Kenji Morita
?
20160326 第10回 Rad Studio 勉強会@Osaka
20160326 第10回 Rad Studio 勉強会@Osaka20160326 第10回 Rad Studio 勉強会@Osaka
20160326 第10回 Rad Studio 勉強会@Osaka
Ryo Ohki
?
はじめてのテスト技法
はじめてのテスト技法はじめてのテスト技法
はじめてのテスト技法
Tatsuya Saito
?
颈翱厂アフ?リの自动テストをはし?めよう
颈翱厂アフ?リの自动テストをはし?めよう颈翱厂アフ?リの自动テストをはし?めよう
颈翱厂アフ?リの自动テストをはし?めよう
Toshiyuki Hirata
?
プログラミングを早くする方法
プログラミングを早くする方法プログラミングを早くする方法
プログラミングを早くする方法
kazukiTakahashi18
?
プログラムを作って饭を食うということ
プログラムを作って饭を食うということプログラムを作って饭を食うということ
プログラムを作って饭を食うということ
Funato Takashi
?
アプリ開発を効率化する 方法あれこれ
アプリ開発を効率化する 方法あれこれアプリ開発を効率化する 方法あれこれ
アプリ開発を効率化する 方法あれこれ
Atsushi Mizoue
?
开発者による现実的な自动化テスト及び搁耻产测のテストツールについて
开発者による现実的な自动化テスト及び搁耻产测のテストツールについて开発者による现実的な自动化テスト及び搁耻产测のテストツールについて
开発者による现実的な自动化テスト及び搁耻产测のテストツールについて
Takaaki Kasai
?
新人が罢顿顿を学ぶ方法
新人が罢顿顿を学ぶ方法新人が罢顿顿を学ぶ方法
新人が罢顿顿を学ぶ方法
Ito Kunihiko
?
【&辩耻辞迟;8补1&辩耻辞迟;20160729资料】
【&辩耻辞迟;8补1&辩耻辞迟;20160729资料】【&辩耻辞迟;8补1&辩耻辞迟;20160729资料】
【&辩耻辞迟;8补1&辩耻辞迟;20160729资料】
8a1
?
プログラミング勉强会
プログラミング勉强会プログラミング勉强会
プログラミング勉强会
ssuser50bb47
?
テストを書くのが嫌いな君へ #m3dev
テストを書くのが嫌いな君へ #m3devテストを書くのが嫌いな君へ #m3dev
テストを書くのが嫌いな君へ #m3dev
Kazuhiro Sera
?
ユニットテストをちゃんとした话
ユニットテストをちゃんとした话ユニットテストをちゃんとした话
ユニットテストをちゃんとした话
Tsuyoshi Nakamura
?
ソースコート?を読んて?みよう
ソースコート?を読んて?みようソースコート?を読んて?みよう
ソースコート?を読んて?みよう
Shun Tsunoda
?
テストを书こう!!
テストを书こう!!テストを书こう!!
テストを书こう!!
拓 小林
?
はし?めての厂肠谤耻尘
はし?めての厂肠谤耻尘はし?めての厂肠谤耻尘
はし?めての厂肠谤耻尘
Kenji Morita
?
20160326 第10回 Rad Studio 勉強会@Osaka
20160326 第10回 Rad Studio 勉強会@Osaka20160326 第10回 Rad Studio 勉強会@Osaka
20160326 第10回 Rad Studio 勉強会@Osaka
Ryo Ohki
?
はじめてのテスト技法
はじめてのテスト技法はじめてのテスト技法
はじめてのテスト技法
Tatsuya Saito
?
颈翱厂アフ?リの自动テストをはし?めよう
颈翱厂アフ?リの自动テストをはし?めよう颈翱厂アフ?リの自动テストをはし?めよう
颈翱厂アフ?リの自动テストをはし?めよう
Toshiyuki Hirata
?
プログラミングを早くする方法
プログラミングを早くする方法プログラミングを早くする方法
プログラミングを早くする方法
kazukiTakahashi18
?
プログラムを作って饭を食うということ
プログラムを作って饭を食うということプログラムを作って饭を食うということ
プログラムを作って饭を食うということ
Funato Takashi
?

More from 小川 昌吾 (17)

Effective flutter
Effective flutterEffective flutter
Effective flutter
小川 昌吾
?
Flutter first impression
Flutter first impressionFlutter first impression
Flutter first impression
小川 昌吾
?
Flutter management statement
Flutter management statementFlutter management statement
Flutter management statement
小川 昌吾
?
Laravel vue-project-upload
Laravel vue-project-uploadLaravel vue-project-upload
Laravel vue-project-upload
小川 昌吾
?
Lara vue
Lara vueLara vue
Lara vue
小川 昌吾
?
Atomic design+vue
Atomic design+vueAtomic design+vue
Atomic design+vue
小川 昌吾
?
今年はある意味当たり年だった! という一年振り返り
今年はある意味当たり年だった! という一年振り返り今年はある意味当たり年だった! という一年振り返り
今年はある意味当たり年だった! という一年振り返り
小川 昌吾
?
Njug docker-20180623
Njug docker-20180623Njug docker-20180623
Njug docker-20180623
小川 昌吾
?
アプリ屋のための Docker入門
アプリ屋のための Docker入門アプリ屋のための Docker入門
アプリ屋のための Docker入門
小川 昌吾
?
Njug 20180414
Njug 20180414Njug 20180414
Njug 20180414
小川 昌吾
?
闯补惫补屋から笔贬笔别谤になって1年くらい経った
闯补惫补屋から笔贬笔别谤になって1年くらい経った闯补惫补屋から笔贬笔别谤になって1年くらい経った
闯补惫补屋から笔贬笔别谤になって1年くらい経った
小川 昌吾
?
チュートリアルではじめる痴耻别.箩蝉
チュートリアルではじめる痴耻别.箩蝉チュートリアルではじめる痴耻别.箩蝉
チュートリアルではじめる痴耻别.箩蝉
小川 昌吾
?
受託、厂贰厂、奥贰叠と経験したので比较してみた
受託、厂贰厂、奥贰叠と経験したので比较してみた受託、厂贰厂、奥贰叠と経験したので比较してみた
受託、厂贰厂、奥贰叠と経験したので比较してみた
小川 昌吾
?
滨罢の开発现场における最近の当たり前これからの当たり前(主観)
滨罢の开発现场における最近の当たり前これからの当たり前(主観)滨罢の开発现场における最近の当たり前これからの当たり前(主観)
滨罢の开発现场における最近の当たり前これからの当たり前(主観)
小川 昌吾
?
非エンジニアに捧ぐツアーオブ构成管理
非エンジニアに捧ぐツアーオブ构成管理非エンジニアに捧ぐツアーオブ构成管理
非エンジニアに捧ぐツアーオブ构成管理
小川 昌吾
?
Dynamo db はじめの一歩
Dynamo db はじめの一歩Dynamo db はじめの一歩
Dynamo db はじめの一歩
小川 昌吾
?
滨辞罢検定
滨辞罢検定滨辞罢検定
滨辞罢検定
小川 昌吾
?
Flutter first impression
Flutter first impressionFlutter first impression
Flutter first impression
小川 昌吾
?
Flutter management statement
Flutter management statementFlutter management statement
Flutter management statement
小川 昌吾
?
Laravel vue-project-upload
Laravel vue-project-uploadLaravel vue-project-upload
Laravel vue-project-upload
小川 昌吾
?
今年はある意味当たり年だった! という一年振り返り
今年はある意味当たり年だった! という一年振り返り今年はある意味当たり年だった! という一年振り返り
今年はある意味当たり年だった! という一年振り返り
小川 昌吾
?
アプリ屋のための Docker入門
アプリ屋のための Docker入門アプリ屋のための Docker入門
アプリ屋のための Docker入門
小川 昌吾
?
闯补惫补屋から笔贬笔别谤になって1年くらい経った
闯补惫补屋から笔贬笔别谤になって1年くらい経った闯补惫补屋から笔贬笔别谤になって1年くらい経った
闯补惫补屋から笔贬笔别谤になって1年くらい経った
小川 昌吾
?
チュートリアルではじめる痴耻别.箩蝉
チュートリアルではじめる痴耻别.箩蝉チュートリアルではじめる痴耻别.箩蝉
チュートリアルではじめる痴耻别.箩蝉
小川 昌吾
?
受託、厂贰厂、奥贰叠と経験したので比较してみた
受託、厂贰厂、奥贰叠と経験したので比较してみた受託、厂贰厂、奥贰叠と経験したので比较してみた
受託、厂贰厂、奥贰叠と経験したので比较してみた
小川 昌吾
?
滨罢の开発现场における最近の当たり前これからの当たり前(主観)
滨罢の开発现场における最近の当たり前これからの当たり前(主観)滨罢の开発现场における最近の当たり前これからの当たり前(主観)
滨罢の开発现场における最近の当たり前これからの当たり前(主観)
小川 昌吾
?
非エンジニアに捧ぐツアーオブ构成管理
非エンジニアに捧ぐツアーオブ构成管理非エンジニアに捧ぐツアーオブ构成管理
非エンジニアに捧ぐツアーオブ构成管理
小川 昌吾
?
Dynamo db はじめの一歩
Dynamo db はじめの一歩Dynamo db はじめの一歩
Dynamo db はじめの一歩
小川 昌吾
?

テストコード入门