SlideShare una empresa de Scribd logo
1 de 33
Descargar para leer sin conexión
「最強」のチームを
「造る」技術基盤
ディレクターズ・カット
-Android Test Casual TalksDec/13/2013
Hiroyuki Ito
IT Department, Rakuten, Inc.
http://www.rakuten.co.jp/
Hiroyuki Ito (伊藤 宏幸、The Hiro)

情報技術部
プロセス・品質課
テスト駆動開発グループ
@hageyahhoo

2
Android Test Casual Talks

3
CI/CD

TDD

ATDD

この3つを導入したお話を
カジュアルにします
4
Agenda
1. 背景
2. 1st Stage

: CI/CD

3. 2nd Stage

: TDD

4. 3rd Stage

: ATDD

5. 結論

5
1. 背景
2. 1st Stage

: CI/CD

3. 2nd Stage

: TDD

4. 3rd Stage

: ATDD

5. 結論

6
1) スクラムのプロジェクトを始めたいというチームから、
アジャイルコーチとしてのサポート依頼を受けた

2) Android の既存アプリのエンハンス
• ベースはあるものの、実質新アプリの作成。
• 自動テストがなく、テスト・リリースは手作業。
3) 私自身、Android を(プログラム・端末含め)
一切触ったことがない
• JavaEE の開発経験あるから、何とかなるだろ~
7
超えるべき3つの壁
ここから
WALL CI/CD

WALL TDD

WALL ATDD

こう攻めることにしました

8
1. 背景
2. 1st Stage

: CI/CD

3. 2nd Stage

: TDD

4. 3rd Stage

: ATDD

5. 結論

9
前提1 既にある仕組みの活用

手作業でとはいえ、
ビルドやデプロイをする
仕組みはあった。

これを Jenkins に肩代わりさせれば
良い。
10
前提2 新たなアプリ配信の仕組み

Android も使えるぞ~

スマートフォンのβ 版アプリを
チームメンバーへ配信できるサービス
丁度他のメンバーが試験導入をしていたため、
これとコラボを組むことにしました
11
具体的に実現した仕組み
チェックインビルド
(1時間おき)

私のノート PC

チームメンバー全員に
最新版を配信

毎朝のデイリースクラムで、
最新版のアプリをステークホルダーに
デモするようにしました
12
振り返り
既存システムの拡張で改善を始める場合は、
TDD や ATDD よりも、CI/CD を先にやった方が ROI が高いです。

• 品質の作り込みには、もちろん価値があります。
• 回帰テストの自動化は、繰り返しリリースをする場合には間違いなく
必要です。
• 一方で、触れるものを先に提示する方が、
直感的に「進んでいるな」と思われ易いことも事実です。

これは善悪の話ではなく、そこから攻めた方が
改善を進め易いという意味です。
13
1. 背景
2. 1st Stage

: CI/CD

3. 2nd Stage

: TDD

4. 3rd Stage

: ATDD

5. 結論

14
Before TDD

Dao

Dao

DB

Dao

Model
Controller

DB

DB

Activity

• 全コンポーネントを開発しないと(手動)テスト出来なかった。
• 画面一式を開発するのに、それまでは1週間かかっていた。
15
Android の単体テストの課題

Android JUnit 使い辛すぎるだろ(怒)
• java.lang.RuntimeException: Stub! (゚Д゚)
• 単体テストなのに Emulator/ 実機を要求するな~
• コンポーネント単位での単体テストし辛いぞ~
※Dao だけテストさせてくれ!

16
解決策

・Robolectric で、全ての UT を JVM 上で実行できる!
• http://robolectric.org/
• Emulator も実機も不要。
・Test Double フレームワークとして、
Robolectric との相性の良い Mockito を活用。
• http://code.google.com/p/mockito/
17
Robolectric で Dao の UT を行うイメージ

@Before
public void setUp() {
Create database for Test;
Insert test data;
}

@Test
public void findXxx() {
Assertions;
}
@After
public void tearDown() {
Drop Database for Test;
}
18
After TDD

Dao

Dao

DB

Dao

Model
Controller

DB

DB

Activity

• 個々のコンポーネント毎に独立・分割して(自動)テストが可能に。
• 画面一式を開発する期間を、1週間から1日に削減。
19
成果

1) フィードバックを迅速化できた。
• デグレをすぐに発見し、問題を解決できるようになった。
• Emulator・実機が不要なため、テストが非常に容易&速い。
• 導入して4ヶ月以上経つが、Robolectric・Mockito 由来で
検証がうまく行かなかった箇所は特にない。

2) DB 周りを、開発の初期に一通り全て構築できた。
• UT 込みで一式完成させたため、
変更があっても容易に対応できるようになった。

3) 技術的にも心理的にも、エンジニアの負荷が減った。
• エンジニアが変更に積極的になった。
• 自発的にバグを見つけては解決してくれるようになった。
20
気付き

Activity の UT も実施は可能だが、ROI は低い。
• 後述の Calabash-Android の方が、
ウチのチームでは ROI が高いです。
• 検証したい機能・粒度に合わせて
別々のツール・技術を利用しても問題はない。
テストカバレッジを100%にすることや、
1つの方法に統一することが目的ではない。
テスト等を導入することで
開発を効率化出来ることの方が重要。
21
1. 背景
2. 1st Stage

: CI/CD

3. 2nd Stage

: TDD

4. 3rd Stage

: ATDD

5. 結論

22
なぜ ATDD か?

1) Activity を JUnit でつくるのが面倒…
• 皆さん Activity の UT って本当に出来てる???

2) ユースケース/ユーザーストーリーを
自動テストしたい
• Activity のテストは、デザイン除けばユースケース
/ユーザーストーリーのテストになることが多い。
3) 仕様がまとまりづらかったので、
テストケースから仕様をまとめようと考えた。
23
Calabash-android : Our answer

•
•
•
•

Cucumber の Android 用 Wrapper です。
テスト仕様書を自動実行できるイメージです。
エンジニア以外でもテストケースをメンテナンスできます。
ビジネス・マネージャーが読めるため、
テストの妥当性を判断できます。
24
テストケースのイメージ
Feature: Input
Scenario: Input today’s data
Given I kick drumroll
Then drumroll show today
When press next
Then I should see ”xxx" screen

テストケースの名称です

このレベルの記述で
自動実行できます

When I press keys and calculator should show like this:
| 2 | 2 |
| 0 | 20 |
| 0 | 200 |
読みやすさを考慮した
| * | 200 |
記述ができます
| 3 | 3 |
| = | 600 |
Then take photo
…
25
試してみて分かったこと

1) 画面遷移やユースケースレベルのテストを、
繰り返し実行しやすくなった。
SmartPhone の場合、画面遷移・操作が複雑かつ複数のインタラクションを
含むことが多いため、UT よりは ATDD の方が ROI が高いと思います。

2) コミュニケーションツールとして有用。
• 外国人の開発メンバーに仕様を伝えるのが便利。
• ビジネスやデザイナーとの会話を整理することに使うこともある。

3) Silver bulletではない。
• 環境構築が意外と難しい。
• ライブラリが成熟していないため、そもそも自動化できない操作も多い。
• Excel のテスト仕様書の方が読んでくれる人が多い。
26
現在取り組んでいること

1) メンバーがやってくれたバグ対応は、
基本全て ATDD 化する。
• 回帰テスト対策に加え、どういう仕様であるのかを動作&ロジックで
後々説明しやすいため。
• メンバーの努力を形として残す、チームビルディングの一環でもある。

2) テスト仕様書はキチンと作る。
• 対象読者数を考えると、Excel のテスト仕様書はやはり必要。
• 読んでもらうにはテスト仕様書、実行はなるべく ATDD のように、
状況に応じて使い分けた方が良い。

3) テスト仕様書はキチンと作る。

大事なことなので2回言いました。
27
とはいうものの…

Emulator が遅くて
検証が辛い(´・ω ・)
28
Genymotion!

1) VirtualBox 上で動作する、超高速 Emulator です。
2) Calabash-Android からでも普通に使えます。

3) GPS やカメラも emulate できます。
4) 無料版があるので、試してみよう!

29
1. 背景
2. 1st Stage

: CI/CD

3. 2nd Stage

: TDD

4. 3rd Stage

: ATDD

5. 結論

30
Android のテストの自動化のポイント

1) 仕事の効率化に焦点を絞ろう
2) 自動化の導入自体を目的にしないようにしよう
3) 新しくてよいものは柔軟に取り入れよう

4) 簡単に失敗できるようにし、そこから学べるようにしよう
5) JavaEE の知識は使えるぞ!

31
何のための
自動化か?
32
Be happy!
33

Más contenido relacionado

La actualidad más candente

僕らのおれおれメトリクス / We Metrics Our Own Way!
僕らのおれおれメトリクス / We Metrics Our Own Way!僕らのおれおれメトリクス / We Metrics Our Own Way!
僕らのおれおれメトリクス / We Metrics Our Own Way!Yasui Tsutomu
 
現場の見える化で、チーム力を向上させる
現場の見える化で、チーム力を向上させる現場の見える化で、チーム力を向上させる
現場の見える化で、チーム力を向上させるESM SEC
 
世界最大級のアジャイルカンファレンス報告:Agile2016参加レポート
世界最大級のアジャイルカンファレンス報告:Agile2016参加レポート世界最大級のアジャイルカンファレンス報告:Agile2016参加レポート
世界最大級のアジャイルカンファレンス報告:Agile2016参加レポートHiroyuki Ito
 
TDDはじめる前に
TDDはじめる前にTDDはじめる前に
TDDはじめる前にYasui Tsutomu
 
【DevLOVE現場甲子園2013】Software Engineer in Test @ 楽天の検索基盤の現場
【DevLOVE現場甲子園2013】Software Engineer in Test @ 楽天の検索基盤の現場【DevLOVE現場甲子園2013】Software Engineer in Test @ 楽天の検索基盤の現場
【DevLOVE現場甲子園2013】Software Engineer in Test @ 楽天の検索基盤の現場Kotaro Ogino
 
LINE Developer Meetup in Tokyo #39 Presentation
LINE Developer Meetup in Tokyo #39 PresentationLINE Developer Meetup in Tokyo #39 Presentation
LINE Developer Meetup in Tokyo #39 PresentationYasuharu Nishi
 
アジャイル開発とメトリクス
アジャイル開発とメトリクスアジャイル開発とメトリクス
アジャイル開発とメトリクスRakuten Group, Inc.
 
テストスキルを測ってみよう
テストスキルを測ってみようテストスキルを測ってみよう
テストスキルを測ってみようAkira Ikeda
 
心・技・態 -LINEにおける改善の真実-
心・技・態 -LINEにおける改善の真実-心・技・態 -LINEにおける改善の真実-
心・技・態 -LINEにおける改善の真実-LINE Corporation
 
開発現場から考える プロジェクトで活躍する 新入社員の育て方とは?
開発現場から考えるプロジェクトで活躍する新入社員の育て方とは?開発現場から考えるプロジェクトで活躍する新入社員の育て方とは?
開発現場から考える プロジェクトで活躍する 新入社員の育て方とは?CASAREAL, Inc.
 
CodeZineAcademy TDD実践講座PR資料
CodeZineAcademy TDD実践講座PR資料CodeZineAcademy TDD実践講座PR資料
CodeZineAcademy TDD実践講座PR資料Yasui Tsutomu
 
2018年度新入社員研修実績紹介
2018年度新入社員研修実績紹介2018年度新入社員研修実績紹介
2018年度新入社員研修実績紹介CASAREAL, Inc.
 
分散開発チームによるAgile開発実践 ~いろいろハマった!よかった
分散開発チームによるAgile開発実践 ~いろいろハマった!よかった分散開発チームによるAgile開発実践 ~いろいろハマった!よかった
分散開発チームによるAgile開発実践 ~いろいろハマった!よかったMakoto Iguchi
 
なんたって”DevQA” アジャイル開発とQAの合体が改善を生む - 永田 敦 氏 #postudy
なんたって”DevQA” アジャイル開発とQAの合体が改善を生む - 永田 敦 氏 #postudyなんたって”DevQA” アジャイル開発とQAの合体が改善を生む - 永田 敦 氏 #postudy
なんたって”DevQA” アジャイル開発とQAの合体が改善を生む - 永田 敦 氏 #postudyPOStudy
 
はじめてのアジャイル
はじめてのアジャイルはじめてのアジャイル
はじめてのアジャイルYoshihito Kuranuki
 
チーム開発をスムーズにするために何ができるか
チーム開発をスムーズにするために何ができるかチーム開発をスムーズにするために何ができるか
チーム開発をスムーズにするために何ができるかTakafumi Ikeda
 
リーン開発の本質 公開用
リーン開発の本質 公開用リーン開発の本質 公開用
リーン開発の本質 公開用ESM SEC
 
An Agile Way As an SET at LINE
An Agile Way As an SET at LINEAn Agile Way As an SET at LINE
An Agile Way As an SET at LINELINE Corporation
 
JaSST '22 Tokyo - B5「テストの素人がゲーム品管組織を作って5年で感じた、QA業界のモヤモヤ」
JaSST '22 Tokyo - B5「テストの素人がゲーム品管組織を作って5年で感じた、QA業界のモヤモヤ」JaSST '22 Tokyo - B5「テストの素人がゲーム品管組織を作って5年で感じた、QA業界のモヤモヤ」
JaSST '22 Tokyo - B5「テストの素人がゲーム品管組織を作って5年で感じた、QA業界のモヤモヤ」Yoichi Kagamitani
 

La actualidad más candente (20)

市場で勝ち続けるための品質とテストの技術②
市場で勝ち続けるための品質とテストの技術②市場で勝ち続けるための品質とテストの技術②
市場で勝ち続けるための品質とテストの技術②
 
僕らのおれおれメトリクス / We Metrics Our Own Way!
僕らのおれおれメトリクス / We Metrics Our Own Way!僕らのおれおれメトリクス / We Metrics Our Own Way!
僕らのおれおれメトリクス / We Metrics Our Own Way!
 
現場の見える化で、チーム力を向上させる
現場の見える化で、チーム力を向上させる現場の見える化で、チーム力を向上させる
現場の見える化で、チーム力を向上させる
 
世界最大級のアジャイルカンファレンス報告:Agile2016参加レポート
世界最大級のアジャイルカンファレンス報告:Agile2016参加レポート世界最大級のアジャイルカンファレンス報告:Agile2016参加レポート
世界最大級のアジャイルカンファレンス報告:Agile2016参加レポート
 
TDDはじめる前に
TDDはじめる前にTDDはじめる前に
TDDはじめる前に
 
【DevLOVE現場甲子園2013】Software Engineer in Test @ 楽天の検索基盤の現場
【DevLOVE現場甲子園2013】Software Engineer in Test @ 楽天の検索基盤の現場【DevLOVE現場甲子園2013】Software Engineer in Test @ 楽天の検索基盤の現場
【DevLOVE現場甲子園2013】Software Engineer in Test @ 楽天の検索基盤の現場
 
LINE Developer Meetup in Tokyo #39 Presentation
LINE Developer Meetup in Tokyo #39 PresentationLINE Developer Meetup in Tokyo #39 Presentation
LINE Developer Meetup in Tokyo #39 Presentation
 
アジャイル開発とメトリクス
アジャイル開発とメトリクスアジャイル開発とメトリクス
アジャイル開発とメトリクス
 
テストスキルを測ってみよう
テストスキルを測ってみようテストスキルを測ってみよう
テストスキルを測ってみよう
 
心・技・態 -LINEにおける改善の真実-
心・技・態 -LINEにおける改善の真実-心・技・態 -LINEにおける改善の真実-
心・技・態 -LINEにおける改善の真実-
 
開発現場から考える プロジェクトで活躍する 新入社員の育て方とは?
開発現場から考えるプロジェクトで活躍する新入社員の育て方とは?開発現場から考えるプロジェクトで活躍する新入社員の育て方とは?
開発現場から考える プロジェクトで活躍する 新入社員の育て方とは?
 
CodeZineAcademy TDD実践講座PR資料
CodeZineAcademy TDD実践講座PR資料CodeZineAcademy TDD実践講座PR資料
CodeZineAcademy TDD実践講座PR資料
 
2018年度新入社員研修実績紹介
2018年度新入社員研修実績紹介2018年度新入社員研修実績紹介
2018年度新入社員研修実績紹介
 
分散開発チームによるAgile開発実践 ~いろいろハマった!よかった
分散開発チームによるAgile開発実践 ~いろいろハマった!よかった分散開発チームによるAgile開発実践 ~いろいろハマった!よかった
分散開発チームによるAgile開発実践 ~いろいろハマった!よかった
 
なんたって”DevQA” アジャイル開発とQAの合体が改善を生む - 永田 敦 氏 #postudy
なんたって”DevQA” アジャイル開発とQAの合体が改善を生む - 永田 敦 氏 #postudyなんたって”DevQA” アジャイル開発とQAの合体が改善を生む - 永田 敦 氏 #postudy
なんたって”DevQA” アジャイル開発とQAの合体が改善を生む - 永田 敦 氏 #postudy
 
はじめてのアジャイル
はじめてのアジャイルはじめてのアジャイル
はじめてのアジャイル
 
チーム開発をスムーズにするために何ができるか
チーム開発をスムーズにするために何ができるかチーム開発をスムーズにするために何ができるか
チーム開発をスムーズにするために何ができるか
 
リーン開発の本質 公開用
リーン開発の本質 公開用リーン開発の本質 公開用
リーン開発の本質 公開用
 
An Agile Way As an SET at LINE
An Agile Way As an SET at LINEAn Agile Way As an SET at LINE
An Agile Way As an SET at LINE
 
JaSST '22 Tokyo - B5「テストの素人がゲーム品管組織を作って5年で感じた、QA業界のモヤモヤ」
JaSST '22 Tokyo - B5「テストの素人がゲーム品管組織を作って5年で感じた、QA業界のモヤモヤ」JaSST '22 Tokyo - B5「テストの素人がゲーム品管組織を作って5年で感じた、QA業界のモヤモヤ」
JaSST '22 Tokyo - B5「テストの素人がゲーム品管組織を作って5年で感じた、QA業界のモヤモヤ」
 

Similar a 「最強」のチームを「造る」技術基盤 ディレクターズ・カット

ワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeployワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeployRyutaro YOSHIBA
 
UIテストの実行時間の短縮の方法
UIテストの実行時間の短縮の方法UIテストの実行時間の短縮の方法
UIテストの実行時間の短縮の方法Toshiyuki Hirata
 
Android studio で行ってみよう!!
Android studio で行ってみよう!!Android studio で行ってみよう!!
Android studio で行ってみよう!!Kazuaki Ueda
 
JaSST'16 Tokyo モバイルセッション
JaSST'16 Tokyo モバイルセッションJaSST'16 Tokyo モバイルセッション
JaSST'16 Tokyo モバイルセッションmirer
 
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しようUnityTechnologiesJapan002
 
デブサミ2014【13-B-L】テスト自動化を見直そう!自動化への投資が開発チームをクリエイティブにする(安竹由起夫〔コベリティジャパン〕)
デブサミ2014【13-B-L】テスト自動化を見直そう!自動化への投資が開発チームをクリエイティブにする(安竹由起夫〔コベリティジャパン〕)デブサミ2014【13-B-L】テスト自動化を見直そう!自動化への投資が開発チームをクリエイティブにする(安竹由起夫〔コベリティジャパン〕)
デブサミ2014【13-B-L】テスト自動化を見直そう!自動化への投資が開発チームをクリエイティブにする(安竹由起夫〔コベリティジャパン〕)Developers Summit
 
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -Toshiyuki Hirata
 
とりあえず30分でひととおり分かった気にはなれるアジャイル入門
とりあえず30分でひととおり分かった気にはなれるアジャイル入門とりあえず30分でひととおり分かった気にはなれるアジャイル入門
とりあえず30分でひととおり分かった気にはなれるアジャイル入門陽一 滝川
 
テストの視点を活用した TDD アプローチの検討とその検証
テストの視点を活用した TDD アプローチの検討とその検証テストの視点を活用した TDD アプローチの検討とその検証
テストの視点を活用した TDD アプローチの検討とその検証Akira Ikeda
 
コードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x Androidコードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x AndroidToshiyuki Hirata
 
Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)Kenichi Kambara
 
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)NTT DATA Technology & Innovation
 
Visual Studio App Centerで始めるCI/CD(Android)
Visual Studio App Centerで始めるCI/CD(Android)Visual Studio App Centerで始めるCI/CD(Android)
Visual Studio App Centerで始めるCI/CD(Android)Shinya Nakajima
 
VentureCafe_第2回:SIerでのキャリアパスを考える_ござ先輩発表資料 V1.0
VentureCafe_第2回:SIerでのキャリアパスを考える_ござ先輩発表資料 V1.0VentureCafe_第2回:SIerでのキャリアパスを考える_ござ先輩発表資料 V1.0
VentureCafe_第2回:SIerでのキャリアパスを考える_ござ先輩発表資料 V1.0Michitaka Yumoto
 
Fearless Change RSG Japan English.pdf
Fearless Change RSG Japan English.pdfFearless Change RSG Japan English.pdf
Fearless Change RSG Japan English.pdfDaniel Teng
 
2017年のiOSアプリ開発におけるCI事情
2017年のiOSアプリ開発におけるCI事情2017年のiOSアプリ開発におけるCI事情
2017年のiOSアプリ開発におけるCI事情Toshiyuki Hirata
 
物体検出コンペティションOpen Imagesに挑む
物体検出コンペティションOpen Imagesに挑む物体検出コンペティションOpen Imagesに挑む
物体検出コンペティションOpen Imagesに挑むHiroto Honda
 
BDD Frameworkで回帰テストの自動実行を実現する方法
BDD Frameworkで回帰テストの自動実行を実現する方法BDD Frameworkで回帰テストの自動実行を実現する方法
BDD Frameworkで回帰テストの自動実行を実現する方法潤司 渡部
 
テスト駆動開発の導入ーペアプログラミングの学習効果ー
テスト駆動開発の導入ーペアプログラミングの学習効果ーテスト駆動開発の導入ーペアプログラミングの学習効果ー
テスト駆動開発の導入ーペアプログラミングの学習効果ーShuji Watanabe
 

Similar a 「最強」のチームを「造る」技術基盤 ディレクターズ・カット (20)

ワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeployワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeploy
 
UIテストの実行時間の短縮の方法
UIテストの実行時間の短縮の方法UIテストの実行時間の短縮の方法
UIテストの実行時間の短縮の方法
 
Android studio で行ってみよう!!
Android studio で行ってみよう!!Android studio で行ってみよう!!
Android studio で行ってみよう!!
 
JaSST'16 Tokyo モバイルセッション
JaSST'16 Tokyo モバイルセッションJaSST'16 Tokyo モバイルセッション
JaSST'16 Tokyo モバイルセッション
 
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
 
デブサミ2014【13-B-L】テスト自動化を見直そう!自動化への投資が開発チームをクリエイティブにする(安竹由起夫〔コベリティジャパン〕)
デブサミ2014【13-B-L】テスト自動化を見直そう!自動化への投資が開発チームをクリエイティブにする(安竹由起夫〔コベリティジャパン〕)デブサミ2014【13-B-L】テスト自動化を見直そう!自動化への投資が開発チームをクリエイティブにする(安竹由起夫〔コベリティジャパン〕)
デブサミ2014【13-B-L】テスト自動化を見直そう!自動化への投資が開発チームをクリエイティブにする(安竹由起夫〔コベリティジャパン〕)
 
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
 
とりあえず30分でひととおり分かった気にはなれるアジャイル入門
とりあえず30分でひととおり分かった気にはなれるアジャイル入門とりあえず30分でひととおり分かった気にはなれるアジャイル入門
とりあえず30分でひととおり分かった気にはなれるアジャイル入門
 
テストの視点を活用した TDD アプローチの検討とその検証
テストの視点を活用した TDD アプローチの検討とその検証テストの視点を活用した TDD アプローチの検討とその検証
テストの視点を活用した TDD アプローチの検討とその検証
 
コードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x Androidコードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x Android
 
Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)
 
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
 
To be sn agile enterprise
To be sn agile enterpriseTo be sn agile enterprise
To be sn agile enterprise
 
Visual Studio App Centerで始めるCI/CD(Android)
Visual Studio App Centerで始めるCI/CD(Android)Visual Studio App Centerで始めるCI/CD(Android)
Visual Studio App Centerで始めるCI/CD(Android)
 
VentureCafe_第2回:SIerでのキャリアパスを考える_ござ先輩発表資料 V1.0
VentureCafe_第2回:SIerでのキャリアパスを考える_ござ先輩発表資料 V1.0VentureCafe_第2回:SIerでのキャリアパスを考える_ござ先輩発表資料 V1.0
VentureCafe_第2回:SIerでのキャリアパスを考える_ござ先輩発表資料 V1.0
 
Fearless Change RSG Japan English.pdf
Fearless Change RSG Japan English.pdfFearless Change RSG Japan English.pdf
Fearless Change RSG Japan English.pdf
 
2017年のiOSアプリ開発におけるCI事情
2017年のiOSアプリ開発におけるCI事情2017年のiOSアプリ開発におけるCI事情
2017年のiOSアプリ開発におけるCI事情
 
物体検出コンペティションOpen Imagesに挑む
物体検出コンペティションOpen Imagesに挑む物体検出コンペティションOpen Imagesに挑む
物体検出コンペティションOpen Imagesに挑む
 
BDD Frameworkで回帰テストの自動実行を実現する方法
BDD Frameworkで回帰テストの自動実行を実現する方法BDD Frameworkで回帰テストの自動実行を実現する方法
BDD Frameworkで回帰テストの自動実行を実現する方法
 
テスト駆動開発の導入ーペアプログラミングの学習効果ー
テスト駆動開発の導入ーペアプログラミングの学習効果ーテスト駆動開発の導入ーペアプログラミングの学習効果ー
テスト駆動開発の導入ーペアプログラミングの学習効果ー
 

Más de Rakuten Group, Inc.

コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話Rakuten Group, Inc.
 
楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のりRakuten Group, Inc.
 
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...Rakuten Group, Inc.
 
DataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組みDataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組みRakuten Group, Inc.
 
大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開Rakuten Group, Inc.
 
楽天における大規模データベースの運用
楽天における大規模データベースの運用楽天における大規模データベースの運用
楽天における大規模データベースの運用Rakuten Group, Inc.
 
楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャーRakuten Group, Inc.
 
楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割Rakuten Group, Inc.
 
Rakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdfRakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdfRakuten Group, Inc.
 
The Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdfThe Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdfRakuten Group, Inc.
 
Supporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdfSupporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdfRakuten Group, Inc.
 
Making Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdfMaking Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdfRakuten Group, Inc.
 
How We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdfHow We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdfRakuten Group, Inc.
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoRakuten Group, Inc.
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoRakuten Group, Inc.
 
Introduction of GORA API Group technology
Introduction of GORA API Group technologyIntroduction of GORA API Group technology
Introduction of GORA API Group technologyRakuten Group, Inc.
 
100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情Rakuten Group, Inc.
 
社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャーRakuten Group, Inc.
 

Más de Rakuten Group, Inc. (20)

コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
 
楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり
 
What Makes Software Green?
What Makes Software Green?What Makes Software Green?
What Makes Software Green?
 
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
 
DataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組みDataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組み
 
大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開
 
楽天における大規模データベースの運用
楽天における大規模データベースの運用楽天における大規模データベースの運用
楽天における大規模データベースの運用
 
楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー
 
楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割
 
Rakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdfRakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdf
 
The Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdfThe Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdf
 
Supporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdfSupporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdf
 
Making Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdfMaking Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdf
 
How We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdfHow We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdf
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech info
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech info
 
OWASPTop10_Introduction
OWASPTop10_IntroductionOWASPTop10_Introduction
OWASPTop10_Introduction
 
Introduction of GORA API Group technology
Introduction of GORA API Group technologyIntroduction of GORA API Group technology
Introduction of GORA API Group technology
 
100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情
 
社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー
 

「最強」のチームを「造る」技術基盤 ディレクターズ・カット