SlideShare a Scribd company logo
1 of 73
自動テストと
Jenkinsの活用
Lazy Developerへの道
アジェンダ
● 自己紹介
● 使用している開発ツールについて
● Androidアプリ開発のちらみせ
o 自動テスト
o 継続的インテグレーション
● まとめ
自己紹介
飲食に特化した求人サイト
自己紹介
● 所属
● 経歴
o 組み込みエンジニア
o 携帯電話開発(9年)
 ガラケー
o Android Developer(5年)
 Android端末開発
 組み込み支援
 Frameworkカスタマイズ
 アプリケーション開発
自己紹介(2)
● 日本Androidの会 関西支部
● FirefoxOS 勉強会(1st - 3rd)
● TechInstituteアプリ開発者養成講座の講師
● その他諸々
執筆
プロの力が身につく Androidプログラミングの教科書
執筆
プロの力が身につく Androidプログラミングの教科書
執筆
プロの力が身につく Androidプログラミングの教科書
使用中の開発ツールと課題
何を使っているか
誰が使っているか
どう使っているか
ツールの紹介と状況
現在の開発ツール
メンバー
コミュニケーション
タスク管理
ソース管理
ドキュメント
現在の開発ツール
メンバー
コミュニケーション
タスク管理
ソース管理
ドキュメント
開発部の体制
● Webエンジニア
o 7名
● デザイナー
o 2名
● スマートフォンエンジニア
o 1名
※QA(品質管理部門)はありません
※QA(品質管理部門)はありません
一般的に品質が低いと...信頼を失う
● 納品後、大変な事になる
o 検収NG
o 裁判
● サービス停止
o 運営に関わるクリティカルなバグ
o ユーザーへの影響
o スタッフへの影響
● 余計な作業が増える
o 関係者への謝罪行脚
o 始末書の作成
みんなで
品質保証・品質管理を考える
Androidアプリ開発でのテスト
Androidアプリの開発体制
(※サーバー / デザイン除く)
● 要件/スケジュール管理
o 要さん
● コーディング
o 要さん
● テスト
o 要さん
● 品質管理
o 要さん
● デプロイ
o 要さん
Androidアプリ開発チーム
品質保証・品質管理を考える
どうやれば効率的か
課題は品質を確保しつつ開発をする
● 絶対的なもの
o 品質確保
● MAXにしたい時間
o 企画検討
o 実装
● MINにしたい時間
o テスト実施
o 日々のデグレチェック作業
自動テストJUnitを取り入れた
● 目的
o テスト項目数は維持
o 実施時間は最小限に
● やること
o JUnitのお勉強をする
Androidの自動テストで必要なもの
● Androidアプリ開発
o Android Studio標準のJUnit
o Espresso (android-test-kit)
Webサーバー側の自動テスト
● Webサイト開発
o Codeception
o Selenium
AS標準のGradleコマンドで実行
● AndroidTestの実行
o ./gradlew connectAndroidTest
o ./gradlew mergeAndroidReports --continue
 複数Project構成の場合、Reportをまとめる
● コードカバレッジの集計
o ./gradlew createDebugCoverageReport
 JUnitのコードに対する実施率
自動テストはこんな感じ
https://flic.kr/p/pdyndn
JUnitの結果表示
項目数、実施時間、結果が定量的に確認できる
コードカバレッジの結果表示
コード量に対するテストの実施率
100%にする必要はないけど、モチベーションになる
コードカバレッジの結果表示(2)
● テストが実施されていない箇所がすぐにわ
かる
o 赤ライン・・・テスト未実施
o 緑ライン・・・テスト実施
テスト実施のコストを考える
テスト実施コスト= 実施時間 回数×
コミット前
リリース前
項目数
端末数
テスター人数
要因
テスト実施のコストを抑える
テスト実施コスト=
JUnit作成 メンテナンス+
ひたすらテストコードを作れ!
作った分だけ楽になれる!
JUnit作成で苦労したこと
● テストコードをたくさん作るのは大変
● 痒いところにとどかない判定メソッド
o Toast表示、テキスト文字色の判定は自作
o 無ければ作ればいいじゃん!!
● Android端末によるテスト結果の違い
JUnit作成でよかったこと
● Espresso(android-test-kit)でのテスト作成は、
いくぶんか楽
o onView(withId())でViewを指定できる
● 慣れれば慣れるほど、時間は短縮
● コミット前のデグレチェックが楽々
テストコードによるテスト実施
要求分析
機能設計
詳細設計
基本設計
コーディング
Unit テスト
結合テスト
システム
テスト
受入テスト
広い範囲のテストフェーズを実施
継続的インテグレーション
継続的インテグレーション
って何だ???
継続的インテグレーション
Build
Test
InspectionDeploy
● 日々、継続して工程を実施し続ける。
o 早期の問題発見と対応が目的
どうやって
継続的インテグレーション
するの???
これを人の手で実施するのは大変
CIツールはたくさんあるよ
オープンソースのCIツールもあるよ。
Jenkinsに参画してもらっています
メンバー
コミュニケーション
タスク管理
ソース管理
ドキュメント
Jenkinsはたくさんの作業ができる
● Build
o ソースコードの取得、ビルド実行
● Inspection
o 静的コードチェック、コードメトリクス
● Test
o 自動テストの実施
● その他
o レポート作成
● ドキュメンテーション自動生成
これらの作業を『早朝、深夜残業』でや
ってくれる!!
Jenkinsの仕事の流れ
メンバー
コミュニケーション
タスク管理
ソース管理
ドキュメント
①ソースコードの取得
Jenkinsの仕事の流れ
メンバー
コミュニケーション
タスク管理
ソース管理
ドキュメント
②ビルド実行
③Inspection実行
④自動テスト実行
⑤ドキュメント作成
Jenkinsの仕事の流れ - 報告
メンバー
コミュニケーション
タスク管理
ソース管理
ドキュメント
⑥エラー報告など
「一晩でやってくれました」
● 労働基準法37条を考慮しなくていい
o 深夜残の割増料金も不要
● ヒューマンエラーはなし
o 同じテストでも実施毎に変わるテスターよ、さよう
なら
参考HP:大阪労働局
http://osaka-roudoukyoku.jsite.mhlw.go.jp/yokuaru_goshitsumon/jigyounushi/jikangai.html
他にもいろいろと使い道はあります
● デイリーワークの自動化
o DBのバックアップ作業
o (誰も見ない)日報メールの自動作成と送信
o (面倒な)Web勤怠の入力
o 毎日、お弁当の注文メールを送信
ここからは
実際のプロジェクト名が出るので
写真撮影NGで!!
Jenkinsの管理画面
プロジェクトの画面
プロジェクトTop画面、各Pluginの情報表示
ステップ数の確認
ステップ数やコメント行の集計も自動
「かぞEちゃOが許されるのは小学生まで」
ソースコードの量を日々チェック
「PreFix過ぎてるのに、まだコーディングして
るの?」っていうのもバレてしまう。
ビルドの例
お仕事中のJenkinsさんを覗き見することも。
ビルドエラーを早期発見
犯人は、このコミットの誰か!!
激おこJenkins氏
深夜残、早朝出勤のJenkins氏もBuildエラー/テ
ストNGには敏感です。
masterでビルドエラー発生させたときの損失ってい
くら?
100人の作業が2時間止まるとき損失額は?
「それ、サバンナでも同じこと言えるの?」
Inspectionの例
静的コードチェックも自動で実施
Inspectionからコードの質を確認
Inspectionの指摘内容の確認
テスト実施で品質のチェック
自動テストによる品質維持
※事件が起こった証拠
(ちなみに、テスト用アカウントの切り替え忘れ発生)
テスト実施で品質のチェック(2)
テスト結果の表示
ワークスペースを見ることもできる
チェックアウトしたソース、Build後のOuptut
ファイルは観覧可能です
JUnitの結果もそのまま観覧可能
./gradlewで実行した結果も観覧可能です。
Jenkinsを入れた結果
● 日々、自動で作業をしてくれる
o 設定次第で毎朝、毎コミットごとにテスト実施
o コードメトリクスの実施
● もし、問題があればすぐに通知
o メール送信
o Chatworkにメッセージ
o Backlogに課題登録
段階的に導入することが大事です
1. buildチェック
2. Inspection
3. 自動テストの実施
4. デプロイ
プロジェクトに必要だと思われるものを、順番
にJenkinsにさせる
Jenkinsを導入する際の注意
● 目的を明確にする
o 何をさせたいか
● 数字の意味を理解する
o プロジェクトがどう進んでいるのか
o 問題は発生していないか
● フィードバックをする
o 問題があればすぐに対応する
まとめ
エンジニアのポートフォリオ分析
花形
(Lazy Developer)
問題児
(Developer)
負け犬
(ただの人)
金のなる木
(未来に期待)
コスト
品
質
企業として成長していく過程で、エンジニアとしての商品価値を高め、
コスト意識を持ち高機能高品質なシステムを提供しつづけるとしたら、
Lazy Developerは企業の花形商品である。
エンジニアなら
開発の効率化、作業の自動化を考えよう
ソフトウェア工学を取り入れよう
効率的に開発を行い
時間と心の余裕を持って
新しい知識の習得へ
Good Engineer
is
Lazy!!
続きはPHPカンファレンス2015で
• PHPカンファレンス2015
5/30(土)開催
Webサービス開発で自動テストCodeception発表予定
フロちゃんが発表するよ!!
ご静聴、ありがとうございました。

More Related Content

What's hot

3日でスマホアプリリリースしたけど質問ある?
3日でスマホアプリリリースしたけど質問ある?3日でスマホアプリリリースしたけど質問ある?
3日でスマホアプリリリースしたけど質問ある?Makoto Nishimoto
 
おばかアプリ勉強会資料 マイクロソフト
おばかアプリ勉強会資料 マイクロソフトおばかアプリ勉強会資料 マイクロソフト
おばかアプリ勉強会資料 マイクロソフトatmarkit
 
Windowsアプリ開発の実務で使うUnitTest
Windowsアプリ開発の実務で使うUnitTestWindowsアプリ開発の実務で使うUnitTest
Windowsアプリ開発の実務で使うUnitTestkeitasudo1
 
【再放送】デザイナーのためのプログラミング①日目 スクー教務課
【再放送】デザイナーのためのプログラミング①日目 スクー教務課【再放送】デザイナーのためのプログラミング①日目 スクー教務課
【再放送】デザイナーのためのプログラミング①日目 スクー教務課schoowebcampus
 
VS Code Day 2021 Recap
VS Code Day 2021 RecapVS Code Day 2021 Recap
VS Code Day 2021 RecapYuki Ueda
 
保守しやすいコードの反面教師​ (アンチパターン) その1
保守しやすいコードの反面教師​ (アンチパターン) その1保守しやすいコードの反面教師​ (アンチパターン) その1
保守しやすいコードの反面教師​ (アンチパターン) その1keitasudo1
 
TDD、ペアプログラミングのすすめ
TDD、ペアプログラミングのすすめTDD、ペアプログラミングのすすめ
TDD、ペアプログラミングのすすめKyota Yasuda
 
プログラミングの型や定石の紹介
プログラミングの型や定石の紹介プログラミングの型や定石の紹介
プログラミングの型や定石の紹介keitasudo1
 
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるかTest Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるかTakuto Wada
 
Javaユーザに知ってほしい Processing入門
Javaユーザに知ってほしいProcessing入門Javaユーザに知ってほしいProcessing入門
Javaユーザに知ってほしい Processing入門chickenJr
 
ごった煮じゃNight!vol.2
ごった煮じゃNight!vol.2ごった煮じゃNight!vol.2
ごった煮じゃNight!vol.2Satoshi Furuichi
 
大阪DDD読書会ワークショップvol.1ガイダンス
大阪DDD読書会ワークショップvol.1ガイダンス大阪DDD読書会ワークショップvol.1ガイダンス
大阪DDD読書会ワークショップvol.1ガイダンスkumamidori
 
ペアプログラミング ホントのところ
ペアプログラミング ホントのところペアプログラミング ホントのところ
ペアプログラミング ホントのところTakuto Wada
 
Serverless LT 20201202
Serverless LT 20201202Serverless LT 20201202
Serverless LT 20201202ssuserebdd2a
 
FriendlyとTestAssistantProでテスト自動化やってみた
FriendlyとTestAssistantProでテスト自動化やってみたFriendlyとTestAssistantProでテスト自動化やってみた
FriendlyとTestAssistantProでテスト自動化やってみたNakaiYusaku
 
Coderetreat in KIT 導入資料
Coderetreat in KIT 導入資料Coderetreat in KIT 導入資料
Coderetreat in KIT 導入資料Hiroki Kondo
 
プログラミング言語とシステムデザイン
プログラミング言語とシステムデザインプログラミング言語とシステムデザイン
プログラミング言語とシステムデザインTsutomu Yano
 

What's hot (20)

3日でスマホアプリリリースしたけど質問ある?
3日でスマホアプリリリースしたけど質問ある?3日でスマホアプリリリースしたけど質問ある?
3日でスマホアプリリリースしたけど質問ある?
 
Tddbc sapporo 2_0
Tddbc sapporo 2_0Tddbc sapporo 2_0
Tddbc sapporo 2_0
 
おばかアプリ勉強会資料 マイクロソフト
おばかアプリ勉強会資料 マイクロソフトおばかアプリ勉強会資料 マイクロソフト
おばかアプリ勉強会資料 マイクロソフト
 
Caketest
CaketestCaketest
Caketest
 
Windowsアプリ開発の実務で使うUnitTest
Windowsアプリ開発の実務で使うUnitTestWindowsアプリ開発の実務で使うUnitTest
Windowsアプリ開発の実務で使うUnitTest
 
Slackを導入しよう
Slackを導入しよう Slackを導入しよう
Slackを導入しよう
 
【再放送】デザイナーのためのプログラミング①日目 スクー教務課
【再放送】デザイナーのためのプログラミング①日目 スクー教務課【再放送】デザイナーのためのプログラミング①日目 スクー教務課
【再放送】デザイナーのためのプログラミング①日目 スクー教務課
 
VS Code Day 2021 Recap
VS Code Day 2021 RecapVS Code Day 2021 Recap
VS Code Day 2021 Recap
 
保守しやすいコードの反面教師​ (アンチパターン) その1
保守しやすいコードの反面教師​ (アンチパターン) その1保守しやすいコードの反面教師​ (アンチパターン) その1
保守しやすいコードの反面教師​ (アンチパターン) その1
 
TDD、ペアプログラミングのすすめ
TDD、ペアプログラミングのすすめTDD、ペアプログラミングのすすめ
TDD、ペアプログラミングのすすめ
 
プログラミングの型や定石の紹介
プログラミングの型や定石の紹介プログラミングの型や定石の紹介
プログラミングの型や定石の紹介
 
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるかTest Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
 
Javaユーザに知ってほしい Processing入門
Javaユーザに知ってほしいProcessing入門Javaユーザに知ってほしいProcessing入門
Javaユーザに知ってほしい Processing入門
 
ごった煮じゃNight!vol.2
ごった煮じゃNight!vol.2ごった煮じゃNight!vol.2
ごった煮じゃNight!vol.2
 
大阪DDD読書会ワークショップvol.1ガイダンス
大阪DDD読書会ワークショップvol.1ガイダンス大阪DDD読書会ワークショップvol.1ガイダンス
大阪DDD読書会ワークショップvol.1ガイダンス
 
ペアプログラミング ホントのところ
ペアプログラミング ホントのところペアプログラミング ホントのところ
ペアプログラミング ホントのところ
 
Serverless LT 20201202
Serverless LT 20201202Serverless LT 20201202
Serverless LT 20201202
 
FriendlyとTestAssistantProでテスト自動化やってみた
FriendlyとTestAssistantProでテスト自動化やってみたFriendlyとTestAssistantProでテスト自動化やってみた
FriendlyとTestAssistantProでテスト自動化やってみた
 
Coderetreat in KIT 導入資料
Coderetreat in KIT 導入資料Coderetreat in KIT 導入資料
Coderetreat in KIT 導入資料
 
プログラミング言語とシステムデザイン
プログラミング言語とシステムデザインプログラミング言語とシステムデザイン
プログラミング言語とシステムデザイン
 

Similar to 自動テストとJenkinsの活用 公開版

Androidアプリ開発の導入の導入
Androidアプリ開発の導入の導入Androidアプリ開発の導入の導入
Androidアプリ開発の導入の導入Seiya Mogami
 
テストがあればなんとかなる〜効率化までの道程〜
テストがあればなんとかなる〜効率化までの道程〜テストがあればなんとかなる〜効率化までの道程〜
テストがあればなんとかなる〜効率化までの道程〜Takao Sumitomo
 
HTML5/JavaScriptで作るAndroidアプリ開発seminar
HTML5/JavaScriptで作るAndroidアプリ開発seminarHTML5/JavaScriptで作るAndroidアプリ開発seminar
HTML5/JavaScriptで作るAndroidアプリ開発seminarkujirahand kujira
 
はてなにおける Android アプリのソフトウェアテスト
はてなにおける Android アプリのソフトウェアテストはてなにおける Android アプリのソフトウェアテスト
はてなにおける Android アプリのソフトウェアテストYu Nobuoka
 
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編Kenji Fukumoto
 
Androidコース 第一回 資料
Androidコース 第一回 資料Androidコース 第一回 資料
Androidコース 第一回 資料Gaku Takeno
 
App inventor for bussiness
App inventor for bussinessApp inventor for bussiness
App inventor for bussinessTakeaki Tada
 
20140903 じどうかの窓口特別編 君にもなれる!?テスト自動化エンジニア
20140903 じどうかの窓口特別編 君にもなれる!?テスト自動化エンジニア20140903 じどうかの窓口特別編 君にもなれる!?テスト自動化エンジニア
20140903 じどうかの窓口特別編 君にもなれる!?テスト自動化エンジニアSHIFT Inc.
 
「Camelog」Android開発秘話
「Camelog」Android開発秘話「Camelog」Android開発秘話
「Camelog」Android開発秘話Shoya Tsukada
 
Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)Kenichi Kambara
 
Bindingからframework elementを見つける
Bindingからframework elementを見つけるBindingからframework elementを見つける
Bindingからframework elementを見つけるTatsuya Ishikawa
 
Weekend Androidのススメ
Weekend AndroidのススメWeekend Androidのススメ
Weekend AndroidのススメSuzuki Junko
 
プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1Hiroki Toyokawa
 
Windows phoneの開発ツール
Windows phoneの開発ツールWindows phoneの開発ツール
Windows phoneの開発ツールNobuaki Aoki
 
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
5 年続く 「はてなブックマーク」 アプリを継続開発する技術5 年続く 「はてなブックマーク」 アプリを継続開発する技術
5 年続く 「はてなブックマーク」 アプリを継続開発する技術Yu Nobuoka
 
デザイン領域へiOS / Android開発
デザイン領域へiOS / Android開発デザイン領域へiOS / Android開発
デザイン領域へiOS / Android開発baroqueworksdev
 
Android Studio 2.2の紹介@Google I/O 2016東京報告会
Android Studio 2.2の紹介@Google I/O 2016東京報告会Android Studio 2.2の紹介@Google I/O 2016東京報告会
Android Studio 2.2の紹介@Google I/O 2016東京報告会mokelab
 

Similar to 自動テストとJenkinsの活用 公開版 (20)

Androidアプリ開発の導入の導入
Androidアプリ開発の導入の導入Androidアプリ開発の導入の導入
Androidアプリ開発の導入の導入
 
テストがあればなんとかなる〜効率化までの道程〜
テストがあればなんとかなる〜効率化までの道程〜テストがあればなんとかなる〜効率化までの道程〜
テストがあればなんとかなる〜効率化までの道程〜
 
HTML5/JavaScriptで作るAndroidアプリ開発seminar
HTML5/JavaScriptで作るAndroidアプリ開発seminarHTML5/JavaScriptで作るAndroidアプリ開発seminar
HTML5/JavaScriptで作るAndroidアプリ開発seminar
 
はてなにおける Android アプリのソフトウェアテスト
はてなにおける Android アプリのソフトウェアテストはてなにおける Android アプリのソフトウェアテスト
はてなにおける Android アプリのソフトウェアテスト
 
Androidテスティング実践 基礎編
Androidテスティング実践 基礎編Androidテスティング実践 基礎編
Androidテスティング実践 基礎編
 
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
 
Androidの開発概要
Androidの開発概要Androidの開発概要
Androidの開発概要
 
Androidアプリケーション開発中級研修 前編
Androidアプリケーション開発中級研修 前編Androidアプリケーション開発中級研修 前編
Androidアプリケーション開発中級研修 前編
 
Androidコース 第一回 資料
Androidコース 第一回 資料Androidコース 第一回 資料
Androidコース 第一回 資料
 
App inventor for bussiness
App inventor for bussinessApp inventor for bussiness
App inventor for bussiness
 
20140903 じどうかの窓口特別編 君にもなれる!?テスト自動化エンジニア
20140903 じどうかの窓口特別編 君にもなれる!?テスト自動化エンジニア20140903 じどうかの窓口特別編 君にもなれる!?テスト自動化エンジニア
20140903 じどうかの窓口特別編 君にもなれる!?テスト自動化エンジニア
 
「Camelog」Android開発秘話
「Camelog」Android開発秘話「Camelog」Android開発秘話
「Camelog」Android開発秘話
 
Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)
 
Bindingからframework elementを見つける
Bindingからframework elementを見つけるBindingからframework elementを見つける
Bindingからframework elementを見つける
 
Weekend Androidのススメ
Weekend AndroidのススメWeekend Androidのススメ
Weekend Androidのススメ
 
プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1
 
Windows phoneの開発ツール
Windows phoneの開発ツールWindows phoneの開発ツール
Windows phoneの開発ツール
 
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
5 年続く 「はてなブックマーク」 アプリを継続開発する技術5 年続く 「はてなブックマーク」 アプリを継続開発する技術
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
 
デザイン領域へiOS / Android開発
デザイン領域へiOS / Android開発デザイン領域へiOS / Android開発
デザイン領域へiOS / Android開発
 
Android Studio 2.2の紹介@Google I/O 2016東京報告会
Android Studio 2.2の紹介@Google I/O 2016東京報告会Android Studio 2.2の紹介@Google I/O 2016東京報告会
Android Studio 2.2の紹介@Google I/O 2016東京報告会
 

More from baroqueworksdev

Team Development for iOS / Android
Team Development for iOS / Android Team Development for iOS / Android
Team Development for iOS / Android baroqueworksdev
 
Firebase analytics for_android _ i_os
Firebase analytics for_android _ i_osFirebase analytics for_android _ i_os
Firebase analytics for_android _ i_osbaroqueworksdev
 
Android m finger print(public)
Android m finger print(public)Android m finger print(public)
Android m finger print(public)baroqueworksdev
 
Leak canaryで メモリリーク調査
Leak canaryで メモリリーク調査Leak canaryで メモリリーク調査
Leak canaryで メモリリーク調査baroqueworksdev
 
Sns連携アプリの準備
Sns連携アプリの準備Sns連携アプリの準備
Sns連携アプリの準備baroqueworksdev
 
Firefox勉強会 2nd gigs_資料
Firefox勉強会 2nd gigs_資料Firefox勉強会 2nd gigs_資料
Firefox勉強会 2nd gigs_資料baroqueworksdev
 
KeonとPeakを買ってみた
KeonとPeakを買ってみたKeonとPeakを買ってみた
KeonとPeakを買ってみたbaroqueworksdev
 

More from baroqueworksdev (8)

Team Development for iOS / Android
Team Development for iOS / Android Team Development for iOS / Android
Team Development for iOS / Android
 
Firebase analytics for_android _ i_os
Firebase analytics for_android _ i_osFirebase analytics for_android _ i_os
Firebase analytics for_android _ i_os
 
Android m finger print(public)
Android m finger print(public)Android m finger print(public)
Android m finger print(public)
 
JUnit for android
JUnit for androidJUnit for android
JUnit for android
 
Leak canaryで メモリリーク調査
Leak canaryで メモリリーク調査Leak canaryで メモリリーク調査
Leak canaryで メモリリーク調査
 
Sns連携アプリの準備
Sns連携アプリの準備Sns連携アプリの準備
Sns連携アプリの準備
 
Firefox勉強会 2nd gigs_資料
Firefox勉強会 2nd gigs_資料Firefox勉強会 2nd gigs_資料
Firefox勉強会 2nd gigs_資料
 
KeonとPeakを買ってみた
KeonとPeakを買ってみたKeonとPeakを買ってみた
KeonとPeakを買ってみた
 

自動テストとJenkinsの活用 公開版

Editor's Notes

  1. 0分~ まずはインパクトを与える! 1分~ 観客に質問を投げかける 1.5分~ エピソードトーク(個人的な話で共感してもらう) 2分~  スライドを使いながら主張する 2.5分~ 根拠となる具体例(数字のデータなど)を示す 3分~  グラフなどを使って根拠を追加提示する 4分~  イメージスライドを使って目的を提示する 5分~  同じ主張を繰り返す
  2. 自己紹介 はじめに ・今日のテーマ 開発ツール 何を使って、誰 ・少し前までは コミュニケーションツール、Chatwork タスク管理 Backlog ドキュメント管理 cacoo、googleドライブ ・新しい取り組みとして 継続的インテグレーションのためにJenkinsを導入 ・開発部体制は Webエンジニア、デザイナー、スマートフォン開発者 品質管理の人員はいません ・一般的に品質が低いとどうなるとかというと 請負の場合 納品後、たいへんな事になる サービス事業者の場合 サービス停止 マネージャーは 謝罪行脚と始末書 総じて、なんらかの信頼を失うことになる 品質管理がいないからといって、しませんとはならない。 誰かがやる必要がある。我々エンジニアがやるしかない。 どうやっているか その1 体制上、Androidアプリ開発は一人。 要件 コーディング テスト 品質管理 デプロイ 可能な限り、テストと品質チェックのコストは下げないと、そもそも開発ができない デグレチェックのコスト削減 = 実施時間 x 回数 なんとか自動化にしたいので、JUnitテストを作りまくりました。 ソースコードとJUnitテストコードの割合はこんな感じです。 JUnit実施はこんな感じです。 JUnitテストの作成時間は必要、ただし一度作ってしまうと何度でも実施可能 テストコード作成のコストはかかるが、それ以上に恩恵はある どうやっているか その2 ・継続的インテグレーション化 CIとは? どうやって実施しているの? 何をさせているのか デイリーチェック まとめ
  3. ミッション 世界最大の食に関わる人材バンクになる ビジョン フード産業を人気業種にする
  4. 目安経過時間:0:02
  5. 開発ツール 何を使って、誰が参加して、何が起こったか ・少し前まではBacklog、cacoo、google drive ・新しい取り組みとして、Jenkins ・開発体制 ・レビューDayの取り組み
  6. 目安経過時間:0:07
  7. 目安経過時間:0:17
  8. 目安経過時間:0:27