Submit Search
Upload
アジャイルソフトウェア開発の奥義 勉強会#1
•
0 likes
•
33 views
K
KOHEI KAWAGUCHI
Follow
4章から5章までの内容を発表した.
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 18
Download now
Download to read offline
Recommended
少し分かった気になるテスト駆動開発
少し分かった気になるテスト駆動開発
lnial
ISO/IEC DIS 20246 についての(ごく簡単な)説明
ISO/IEC DIS 20246 についての(ごく簡単な)説明
しょうご すずき
2016年11月12日 NaITE#18 勉強会(@ワークプラザ勝田)での資料です。
Jstqb test analyst-chap1
Jstqb test analyst-chap1
Kosuke Fujisawa
JSTQB TestAnalyst Chap1 Summary
提案:Qaも実装に踏み込んでみよう
提案:Qaも実装に踏み込んでみよう
Kosuke Fujisawa
NaITE#18の発表資料です。
RICOH最終選考プレゼン資料
RICOH最終選考プレゼン資料
pyar6329
RICOH & JAVA Developer Challenge Plus 2013での、 Project 寿司(産業技術大学院大学)による、 発表資料
テスコン2015 チームfujiプレゼン資料
テスコン2015 チームfujiプレゼン資料
ken otabe
Sue445 Style TDD #atest_hack
Sue445 Style TDD #atest_hack
Go Sueyoshi (a.k.a sue445)
Androidテスト勉強会( http://www.zusaar.com/event/356157 )の資料です
アジャイル×テスト開発を考える
アジャイル×テスト開発を考える
yasuohosotani
Recommended
少し分かった気になるテスト駆動開発
少し分かった気になるテスト駆動開発
lnial
ISO/IEC DIS 20246 についての(ごく簡単な)説明
ISO/IEC DIS 20246 についての(ごく簡単な)説明
しょうご すずき
2016年11月12日 NaITE#18 勉強会(@ワークプラザ勝田)での資料です。
Jstqb test analyst-chap1
Jstqb test analyst-chap1
Kosuke Fujisawa
JSTQB TestAnalyst Chap1 Summary
提案:Qaも実装に踏み込んでみよう
提案:Qaも実装に踏み込んでみよう
Kosuke Fujisawa
NaITE#18の発表資料です。
RICOH最終選考プレゼン資料
RICOH最終選考プレゼン資料
pyar6329
RICOH & JAVA Developer Challenge Plus 2013での、 Project 寿司(産業技術大学院大学)による、 発表資料
テスコン2015 チームfujiプレゼン資料
テスコン2015 チームfujiプレゼン資料
ken otabe
Sue445 Style TDD #atest_hack
Sue445 Style TDD #atest_hack
Go Sueyoshi (a.k.a sue445)
Androidテスト勉強会( http://www.zusaar.com/event/356157 )の資料です
アジャイル×テスト開発を考える
アジャイル×テスト開発を考える
yasuohosotani
テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1
Hiro Yoshioka
大規模ソフトウェア開発におけるディリービルド&リグレッションテストについて。 OracleやDECにおける経験を話します。Samba3.0国際化のプロジェクトの経験も紹介します。
TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02
Hiro Yoshioka
pytest × TDD テスト駆動開発のススメ
pytest × TDD テスト駆動開発のススメ
iRidge, Inc.
PyCon JP 2020 アイリッジブースで公開していたスライドコンテンツです。
大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験について
Rakuten Group, Inc.
吉岡 弘隆、楽天株式会社 『TDD Boot Camp 大阪』 講演資料 25年以上のソフトウェア開発経験について、ソフトウェアのテスト、 日々の作業などを、実例を交えてお話します。
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
Rakuten Group, Inc.
安全で安心なWebサービスの継続的な改善をするために、開発、テスト、運用のサイクルを早いフローで実現する、DevOpsや継続的デリバリー、Infrastructure as Code などの開発手法がコミュニティで提案されています。その一方、企業文化や組織体系のためにうまく導入が進まないケースも多いです。 本セッションでは、楽天のDevとOpsのアラサーエンジニアが、開発・テスト・運用の三位一体の自動化でDevOpsを社内に導入したFearless Changeについてのストーリーをお話しします。 Developers Summit 2016 で発表資料です。 http://event.shoeisha.jp/devsumi/20160218/session/1041/
How to Develop Experiment-Oriented Programs
How to Develop Experiment-Oriented Programs
Kenta Oono
20140925 PFI seminar (ver. 1.0)
とりあえず30分でひととおり分かった気にはなれるアジャイル入門
とりあえず30分でひととおり分かった気にはなれるアジャイル入門
陽一 滝川
2012/12/22(土)の社内で開催した「プレゼン祭り」で発表した内容です。アジャイルに全く触れたことが無い人を対象にしたつもりが、「難しい」「内容が盛り沢山で覚え切れなかった」「寝ちゃった」などなどとあまり好評ではなかったのですが、自戒の念も込めて公開しておきます。 対象は「ウォーターフォール開発しか体験したことのない経験5〜6年程度の若者」です。 ※2022/04/11追記 Speaker Deckに移行しました。 https://speakerdeck.com/takigawa401/toriaesu30fen-tehitotoorifen-katutaqi-nihanareruasiyairuru-men
TDDはじめる前に
TDDはじめる前に
Yasui Tsutomu
アジャイルひよこクラブ(2016.06.24)でのテスト駆動開発についての発表資料です。未経験者~初心者向けになっています。
Php勉強会スライド
Php勉強会スライド
suzumurashingo
2021/9/12 PHP勉強会
Software Test Basic
Software Test Basic
Akinari Tsugo
Basis of software test. This presentation includes "What is software test", "Development process", "White-Box test", "Black-Box test".
プログラミング手法について調べてみた
プログラミング手法について調べてみた
OgataAyaka
プログラミング手法について調べてみたので、その際に参考にしたリンク集です。
Caketest
Caketest
ryota ichie
開発生産性と品質向上を実現する開発基盤の構築
開発生産性と品質向上を実現する開発基盤の構築
Katsuhiro Aizawa
Visual Studio や Visual Studio Team Services を使った DevOps について DevOps サイクルの各プロセスごとに詳細に解説します。 アジェンダ (1) 開発のライフサイクルと開発標準の管理 (2) 開発サーバによる規定プロセスの活用 (3) ソースコード管理の効果 (4) 要件/バックログ管理の効果 (5) テスト/バグ管理の効果 (6) ビルド/リリース管理の効果 (7) パッケージ管理の効果 (8) 活用事例 (9) まとめ
Visual開発ツールNode-REDの導入によるプロセスの変化と考慮点
Visual開発ツールNode-REDの導入によるプロセスの変化と考慮点
Makoto SAKAI
ss2017発表資料
テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門
Satoshi Watanabe
ITS fidel
ITS fidel
Fidel Softech P. Ltd
ソフトウェアテスト入門
ソフトウェアテスト入門
Preferred Networks
http://www.ustream.tv/recorded/45962241
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
Daisuke Nishino
Open棟梁について - OSSコンソーシアム https://www.osscons.jp/dotNetDevelopmentInfrastructure/OpenTouryo/
自社製品のバージョン管理 進化と問題解決の道のり
自社製品のバージョン管理 進化と問題解決の道のり
Study Group by SciencePark Corp.
2019/1/10開催の勉強会スライド。
#NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり
kyon mm
More Related Content
Similar to アジャイルソフトウェア開発の奥義 勉強会#1
テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1
Hiro Yoshioka
大規模ソフトウェア開発におけるディリービルド&リグレッションテストについて。 OracleやDECにおける経験を話します。Samba3.0国際化のプロジェクトの経験も紹介します。
TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02
Hiro Yoshioka
pytest × TDD テスト駆動開発のススメ
pytest × TDD テスト駆動開発のススメ
iRidge, Inc.
PyCon JP 2020 アイリッジブースで公開していたスライドコンテンツです。
大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験について
Rakuten Group, Inc.
吉岡 弘隆、楽天株式会社 『TDD Boot Camp 大阪』 講演資料 25年以上のソフトウェア開発経験について、ソフトウェアのテスト、 日々の作業などを、実例を交えてお話します。
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
Rakuten Group, Inc.
安全で安心なWebサービスの継続的な改善をするために、開発、テスト、運用のサイクルを早いフローで実現する、DevOpsや継続的デリバリー、Infrastructure as Code などの開発手法がコミュニティで提案されています。その一方、企業文化や組織体系のためにうまく導入が進まないケースも多いです。 本セッションでは、楽天のDevとOpsのアラサーエンジニアが、開発・テスト・運用の三位一体の自動化でDevOpsを社内に導入したFearless Changeについてのストーリーをお話しします。 Developers Summit 2016 で発表資料です。 http://event.shoeisha.jp/devsumi/20160218/session/1041/
How to Develop Experiment-Oriented Programs
How to Develop Experiment-Oriented Programs
Kenta Oono
20140925 PFI seminar (ver. 1.0)
とりあえず30分でひととおり分かった気にはなれるアジャイル入門
とりあえず30分でひととおり分かった気にはなれるアジャイル入門
陽一 滝川
2012/12/22(土)の社内で開催した「プレゼン祭り」で発表した内容です。アジャイルに全く触れたことが無い人を対象にしたつもりが、「難しい」「内容が盛り沢山で覚え切れなかった」「寝ちゃった」などなどとあまり好評ではなかったのですが、自戒の念も込めて公開しておきます。 対象は「ウォーターフォール開発しか体験したことのない経験5〜6年程度の若者」です。 ※2022/04/11追記 Speaker Deckに移行しました。 https://speakerdeck.com/takigawa401/toriaesu30fen-tehitotoorifen-katutaqi-nihanareruasiyairuru-men
TDDはじめる前に
TDDはじめる前に
Yasui Tsutomu
アジャイルひよこクラブ(2016.06.24)でのテスト駆動開発についての発表資料です。未経験者~初心者向けになっています。
Php勉強会スライド
Php勉強会スライド
suzumurashingo
2021/9/12 PHP勉強会
Software Test Basic
Software Test Basic
Akinari Tsugo
Basis of software test. This presentation includes "What is software test", "Development process", "White-Box test", "Black-Box test".
プログラミング手法について調べてみた
プログラミング手法について調べてみた
OgataAyaka
プログラミング手法について調べてみたので、その際に参考にしたリンク集です。
Caketest
Caketest
ryota ichie
開発生産性と品質向上を実現する開発基盤の構築
開発生産性と品質向上を実現する開発基盤の構築
Katsuhiro Aizawa
Visual Studio や Visual Studio Team Services を使った DevOps について DevOps サイクルの各プロセスごとに詳細に解説します。 アジェンダ (1) 開発のライフサイクルと開発標準の管理 (2) 開発サーバによる規定プロセスの活用 (3) ソースコード管理の効果 (4) 要件/バックログ管理の効果 (5) テスト/バグ管理の効果 (6) ビルド/リリース管理の効果 (7) パッケージ管理の効果 (8) 活用事例 (9) まとめ
Visual開発ツールNode-REDの導入によるプロセスの変化と考慮点
Visual開発ツールNode-REDの導入によるプロセスの変化と考慮点
Makoto SAKAI
ss2017発表資料
テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門
Satoshi Watanabe
ITS fidel
ITS fidel
Fidel Softech P. Ltd
ソフトウェアテスト入門
ソフトウェアテスト入門
Preferred Networks
http://www.ustream.tv/recorded/45962241
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
Daisuke Nishino
Open棟梁について - OSSコンソーシアム https://www.osscons.jp/dotNetDevelopmentInfrastructure/OpenTouryo/
自社製品のバージョン管理 進化と問題解決の道のり
自社製品のバージョン管理 進化と問題解決の道のり
Study Group by SciencePark Corp.
2019/1/10開催の勉強会スライド。
#NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり
kyon mm
Similar to アジャイルソフトウェア開発の奥義 勉強会#1
(20)
テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1
TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02
pytest × TDD テスト駆動開発のススメ
pytest × TDD テスト駆動開発のススメ
大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験について
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
How to Develop Experiment-Oriented Programs
How to Develop Experiment-Oriented Programs
とりあえず30分でひととおり分かった気にはなれるアジャイル入門
とりあえず30分でひととおり分かった気にはなれるアジャイル入門
TDDはじめる前に
TDDはじめる前に
Php勉強会スライド
Php勉強会スライド
Software Test Basic
Software Test Basic
プログラミング手法について調べてみた
プログラミング手法について調べてみた
Caketest
Caketest
開発生産性と品質向上を実現する開発基盤の構築
開発生産性と品質向上を実現する開発基盤の構築
Visual開発ツールNode-REDの導入によるプロセスの変化と考慮点
Visual開発ツールNode-REDの導入によるプロセスの変化と考慮点
テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門
ITS fidel
ITS fidel
ソフトウェアテスト入門
ソフトウェアテスト入門
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
自社製品のバージョン管理 進化と問題解決の道のり
自社製品のバージョン管理 進化と問題解決の道のり
#NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり
アジャイルソフトウェア開発の奥義 勉強会#1
1.
アジャイルソフトウェア開発の奥義 勉強会 4-5章 筑波大学 情報メディア創成学類4年 川口
航平 1
2.
今回の読む範囲 • 4章 テスティング •
P33-P42 • 5章 リファクタリング • P43-56 2
3.
4章 テスティング • テスト主導型の開発がプロダクト開発に与える影響について述 べている章である. •
特にプロダクトのコードを書く前にテストコードを書くメリッ トについて述べている 3
4.
テストコードを最初に書くメリット • テストが成功する限り,プログラムの変更を気軽に⾏える • 呼び出し側の⽴場からコーディングをするので,呼び出しやすい形 式の設計になりやすい •
テストそのものがドキュメントとして機能する • テスト可能な設計を強いられることにより,ソフトウェアの分離が 促進される 4
5.
テスト主導型ソフトウェア開発の例 • 未実装なテスト対象が存在することを前提としてテストコードを書く⼿ 法(Intention programing)がある. •
⾃分の意図することをコードを書く前にテストコードの中に記述してお く • このとき,⾃分の意図を単純かつ明瞭にしておくことによって,良い構 造のプログラムが書ける 5 テストを最初に書くことによって,設計上の判断にふるいをかけられる
6.
具体例 • あるゲームの実装におけるテストコードを考えてみる • このゲームは下記のような仕様を持つ •
プレイヤーはダンジョンの中を探検する • ダンジョンには複数の部屋が有る • 部屋には東⻄南北それぞに1つ以上の通路があり,その通路は他の部屋と繋 がれいてる 6
7.
Intention programmingを用いて書いた テストコード 7 ※ 本書にて記述されているコードに若⼲の修正を加えています
8.
テストコードが重要な問題に光をあてる • 著者はテストコードを書く際にRoomクラスを⽤意する必要は無いと判断をした (数値を⽤いて表現できるから) • Roomクラスを⽤いないことが良い⽅法であることを主張したいわけではない •
最初にテストコードを書くことによって,⾮常に早い段階で設計上の重要な問 題に光を当てた事ができた 8 テストを最初に書くことによって,設計上の判断にふるいをかけられる つまり
9.
ソフトウェアに分離を強いる例 • 給料詳細(Payroll)アプリケーション 9 本書のp36から引⽤
10.
テストコードを書く際の問い • 次のような問いが⽣まれる • どのDBを⽤いるか? •
どのようなデータを⽤意しておくか? • どのように正しいデータが登録されているかを調べるか? 10 Mock Objectパターンを⽤いよう!
11.
Mock Objectパターンを適応 11 結果的に周囲のモジュールが分離され設計の質が⾼まった! • Payrollが抽象に依存するように変更 した •
モックを⽤いたテストが可能となっ た 本書のp37から引⽤
12.
受け入れテスト • システム全体の動作確認をするためにはユニットテストだけではな く,受け⼊れテストが必要 • UIテストなどを⾏う場合は,より⾼度な分離が求められるのでアー キテクチャに⼤きな影響を与える •
早期から受け⼊れテストを許容する設計にすることで,分離が促進 される 12 具体例では,XMLにてUIを表現することによりユニットテストを許容するような例があった.→ 設計に影響を与える
13.
4章 まとめ • テストを書くメリット •
動作検証,および保証 • ⼀度あるレベルにて実⾏されれば,それ以降はそのレベルを下回ることはない • コンパイルと実⾏が可能なドキュメントとして機能する. • コンパイルと実⾏が可能なことにより,信頼できる • ⾮常に明確な⾔語にて記述されている. • アーキテクチャや設計に良いインパクトを与える • テスト可能な状態にするためには,対象を周囲から分離する必要がある. • テストしやすくすればするほどその分離性が促進される 13
14.
5章 リファクタリング • リファクタリングの意義とリファクタリングを⾏う過程について⽰ している章である. •
リファクタリングの定義 • ソフトウェアシステムを変えるプロセスとは,そのコードの外部への振る舞 いを全く変えずににその内部構造を改善すること • 正常に動くコードを改善する必要はあるのか?? 14 正常に動作しているコードをリファクタリングする意味は?
15.
モジュールの機能 • モジュールは下記に⽰す3つの(満たすべき)機能がある • 特定の処理を実⾏する機能 •
モジュールの存在理由そのもの • 変化を許容する機能 • 変化を簡単にするのは開発者の責任 • 変更が⼤変なモジュールは動いたとしても壊れているのと同義(著者⽈く • 読み⼿にモジュールの意図を伝える機能 • 詳細を知らない⼈であっても無理なく読めるようにする必要がある. • 意図を伝えられないモジュールは動いたとしても壊れているのと同義(著者⽈く 15 正常に動いていても壊れているからリファクタリングしようねって事だと思う.
16.
リファクタリングをする意義 • リファクタリングの⽬的はコードを⽇々こまめに整理することにあ る • システムの拡張や修正は最⼩限の努⼒で済ませたい •
コードが汚ければすべての原則やパターンが全く役に⽴たない 16 正常に動作しているコードをリファクタリングする意味は?
17.
読んだ感想 4章 テストを始めに書く⼿法はテスト駆動開発などから知っていた ⼀⽅で,テストを書くことによって設計が洗礼されるといった視点は無く勉強となった. 5章 リファクタリングの概要については今回学ぶことができたが,具体的にリファクタリングを⾏う 際に⽤いる指標が分からなかった.つまり,どのように既存のコードにメスを⼊れると良いかが 分からなかった. 今後の章からそれらを学ぶことができることを期待する. 17
18.
引用 • ロバート・C・マーチンほか.アジャイルソフトウェア開発の奥義 第 2版
オブジェクト指向開発の神髄と匠の技. SBクリエイティブ, 2008 18
Download now