Submit Search
Upload
ユースケースからテスト駆動開発へ
•
26 likes
•
7,680 views
Shuji Watanabe
Follow
TDD BootCamp 大阪 3.0 外伝での講演資料
Read less
Read more
Technology
Report
Share
Report
Share
1 of 36
Download now
Download to read offline
Recommended
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
Akira Ikeda
マッチングサービスにおけるKPIの話
マッチングサービスにおけるKPIの話
cyberagent
テスト駆動開発のはじめ方
テスト駆動開発のはじめ方
Shuji Watanabe
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
Yoshitaka Kawashima
ユーザーストーリー駆動開発で行こう。
ユーザーストーリー駆動開発で行こう。
toshihiro ichitani
「速」を落とさないコードレビュー
「速」を落とさないコードレビュー
Takafumi ONAKA
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
Itsuki Kuroda
User storymapping in 10 minutes
User storymapping in 10 minutes
Yasunobu Kawaguchi
Recommended
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
Akira Ikeda
マッチングサービスにおけるKPIの話
マッチングサービスにおけるKPIの話
cyberagent
テスト駆動開発のはじめ方
テスト駆動開発のはじめ方
Shuji Watanabe
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
Yoshitaka Kawashima
ユーザーストーリー駆動開発で行こう。
ユーザーストーリー駆動開発で行こう。
toshihiro ichitani
「速」を落とさないコードレビュー
「速」を落とさないコードレビュー
Takafumi ONAKA
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
Itsuki Kuroda
User storymapping in 10 minutes
User storymapping in 10 minutes
Yasunobu Kawaguchi
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
Takuto Wada
「UXデザインとは」からはじめる「本流」のUXデザインはじめの一歩 | UXデザイン基礎セミナー 第1回
「UXデザインとは」からはじめる「本流」のUXデザインはじめの一歩 | UXデザイン基礎セミナー 第1回
Yoshiki Hayama
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
Tokoroten Nakayama
Pull Request & TDD 入門
Pull Request & TDD 入門
ESM SEC
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
Ryuji Tsutsui
アップルの特許に見るUI特許のポイント
アップルの特許に見るUI特許のポイント
kurikiyo
心理的安全性と、Veinの紹介 Psychological safety and introduction of Vein
心理的安全性と、Veinの紹介 Psychological safety and introduction of Vein
Tokoroten Nakayama
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
まじめに!できる!LT
まじめに!できる!LT
Akabane Hiroyuki
Oss貢献超入門
Oss貢献超入門
Michihito Shigemura
私にとってのテスト
私にとってのテスト
Takuto Wada
ゼロからはじめるプロダクトマネージャー生活
ゼロからはじめるプロダクトマネージャー生活
Takaaki Umada
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
Yasuharu Nishi
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
Mikiya Okuno
はじめてのPRD
はじめてのPRD
Takuya Oikawa
先端技術とメディア表現1 #FTMA15
先端技術とメディア表現1 #FTMA15
Yoichi Ochiai
フロー効率性とリソース効率性、再入門 #devlove #devkan
フロー効率性とリソース効率性、再入門 #devlove #devkan
Itsuki Kuroda
MySQLアンチパターン
MySQLアンチパターン
yoku0825
イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)
Yoshitaka Kawashima
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
いまさらユースケース
いまさらユースケース
Masaru Kimura
ユースケースの善し悪し
ユースケースの善し悪し
akipii Oga
More Related Content
What's hot
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
Takuto Wada
「UXデザインとは」からはじめる「本流」のUXデザインはじめの一歩 | UXデザイン基礎セミナー 第1回
「UXデザインとは」からはじめる「本流」のUXデザインはじめの一歩 | UXデザイン基礎セミナー 第1回
Yoshiki Hayama
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
Tokoroten Nakayama
Pull Request & TDD 入門
Pull Request & TDD 入門
ESM SEC
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
Ryuji Tsutsui
アップルの特許に見るUI特許のポイント
アップルの特許に見るUI特許のポイント
kurikiyo
心理的安全性と、Veinの紹介 Psychological safety and introduction of Vein
心理的安全性と、Veinの紹介 Psychological safety and introduction of Vein
Tokoroten Nakayama
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
まじめに!できる!LT
まじめに!できる!LT
Akabane Hiroyuki
Oss貢献超入門
Oss貢献超入門
Michihito Shigemura
私にとってのテスト
私にとってのテスト
Takuto Wada
ゼロからはじめるプロダクトマネージャー生活
ゼロからはじめるプロダクトマネージャー生活
Takaaki Umada
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
Yasuharu Nishi
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
Mikiya Okuno
はじめてのPRD
はじめてのPRD
Takuya Oikawa
先端技術とメディア表現1 #FTMA15
先端技術とメディア表現1 #FTMA15
Yoichi Ochiai
フロー効率性とリソース効率性、再入門 #devlove #devkan
フロー効率性とリソース効率性、再入門 #devlove #devkan
Itsuki Kuroda
MySQLアンチパターン
MySQLアンチパターン
yoku0825
イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)
Yoshitaka Kawashima
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
What's hot
(20)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
「UXデザインとは」からはじめる「本流」のUXデザインはじめの一歩 | UXデザイン基礎セミナー 第1回
「UXデザインとは」からはじめる「本流」のUXデザインはじめの一歩 | UXデザイン基礎セミナー 第1回
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
Pull Request & TDD 入門
Pull Request & TDD 入門
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
アップルの特許に見るUI特許のポイント
アップルの特許に見るUI特許のポイント
心理的安全性と、Veinの紹介 Psychological safety and introduction of Vein
心理的安全性と、Veinの紹介 Psychological safety and introduction of Vein
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
まじめに!できる!LT
まじめに!できる!LT
Oss貢献超入門
Oss貢献超入門
私にとってのテスト
私にとってのテスト
ゼロからはじめるプロダクトマネージャー生活
ゼロからはじめるプロダクトマネージャー生活
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
はじめてのPRD
はじめてのPRD
先端技術とメディア表現1 #FTMA15
先端技術とメディア表現1 #FTMA15
フロー効率性とリソース効率性、再入門 #devlove #devkan
フロー効率性とリソース効率性、再入門 #devlove #devkan
MySQLアンチパターン
MySQLアンチパターン
イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
Viewers also liked
いまさらユースケース
いまさらユースケース
Masaru Kimura
ユースケースの善し悪し
ユースケースの善し悪し
akipii Oga
テスト駆動開発を継続する
テスト駆動開発を継続する
irof N
地方における勉強会事情
地方における勉強会事情
Soudai Sone
システム設計の謎 ~べ、別にあんたのために設計してるんじゃないんだからね///~
システム設計の謎 ~べ、別にあんたのために設計してるんじゃないんだからね///~
terahide
R5 3 type annotation
R5 3 type annotation
EIICHI KIMURA
失敗から学ぶAPI設計 #ccc_h4 #jjug #jjug_ccc JJUG CCC 2013 Spring
失敗から学ぶAPI設計 #ccc_h4 #jjug #jjug_ccc JJUG CCC 2013 Spring
Yusuke Yamamoto
ユースケースからテスト駆動開発へ
ユースケースからテスト駆動開発へ
Shuji Watanabe
モデリングもしないでアジャイルとは何事だ
モデリングもしないでアジャイルとは何事だ
Iwao Harada
『JUnit実践入門』写経・実践会 in 横浜 #6 (特別編) #junitbook
『JUnit実践入門』写経・実践会 in 横浜 #6 (特別編) #junitbook
shinyaa31
UcDDBootCampSap0.1
UcDDBootCampSap0.1
Shuji Watanabe
自動販売機の大人の事情をテストした
自動販売機の大人の事情をテストした
洋史 東平
Spock's world
Spock's world
Takuma Watabiki
ドメイン駆動設計におけるシナリオテストの活用
ドメイン駆動設計におけるシナリオテストの活用
Takehiro Inoue
koredake modeling accelerates agile
koredake modeling accelerates agile
ChangeVision
Astah UML スタートガイド
Astah UML スタートガイド
ChangeVision
Astah professional スタートガイド
Astah professional スタートガイド
ChangeVision
using astah for openthology modeling
using astah for openthology modeling
Kenji Hiranabe
Astah UML/ER/mindmapping modeling tool Introduction
Astah UML/ER/mindmapping modeling tool Introduction
Kenji Hiranabe
アジャイルにモデリングは必要か
アジャイルにモデリングは必要か
Hiromasa Oka
Viewers also liked
(20)
いまさらユースケース
いまさらユースケース
ユースケースの善し悪し
ユースケースの善し悪し
テスト駆動開発を継続する
テスト駆動開発を継続する
地方における勉強会事情
地方における勉強会事情
システム設計の謎 ~べ、別にあんたのために設計してるんじゃないんだからね///~
システム設計の謎 ~べ、別にあんたのために設計してるんじゃないんだからね///~
R5 3 type annotation
R5 3 type annotation
失敗から学ぶAPI設計 #ccc_h4 #jjug #jjug_ccc JJUG CCC 2013 Spring
失敗から学ぶAPI設計 #ccc_h4 #jjug #jjug_ccc JJUG CCC 2013 Spring
ユースケースからテスト駆動開発へ
ユースケースからテスト駆動開発へ
モデリングもしないでアジャイルとは何事だ
モデリングもしないでアジャイルとは何事だ
『JUnit実践入門』写経・実践会 in 横浜 #6 (特別編) #junitbook
『JUnit実践入門』写経・実践会 in 横浜 #6 (特別編) #junitbook
UcDDBootCampSap0.1
UcDDBootCampSap0.1
自動販売機の大人の事情をテストした
自動販売機の大人の事情をテストした
Spock's world
Spock's world
ドメイン駆動設計におけるシナリオテストの活用
ドメイン駆動設計におけるシナリオテストの活用
koredake modeling accelerates agile
koredake modeling accelerates agile
Astah UML スタートガイド
Astah UML スタートガイド
Astah professional スタートガイド
Astah professional スタートガイド
using astah for openthology modeling
using astah for openthology modeling
Astah UML/ER/mindmapping modeling tool Introduction
Astah UML/ER/mindmapping modeling tool Introduction
アジャイルにモデリングは必要か
アジャイルにモデリングは必要か
Similar to ユースケースからテスト駆動開発へ
Think aloud method
Think aloud method
Heesung Lee
チケット駆動開発を用いたソフトウェア品質改善事例
チケット駆動開発を用いたソフトウェア品質改善事例
Koeda1102
スマートなシステム、スマートなディペンダビリティ保証-次世代システムを頼れるものへ
スマートなシステム、スマートなディペンダビリティ保証-次世代システムを頼れるものへ
Fuyuki Ishikawa
上級ユーザビリティテスト手法
上級ユーザビリティテスト手法
Tarumoto Tetsuya
「グーグルの自動運転Carの技術要素」勉強会 2014.08.29
「グーグルの自動運転Carの技術要素」勉強会 2014.08.29
Minoru Chikamune
HdIfes itowponde_130223
HdIfes itowponde_130223
英明 伊藤
テスト自動化とアーキテクチャ
テスト自動化とアーキテクチャ
Toru Koido
WACATE 2010夏 ゆもつよ講演スライド
WACATE 2010夏 ゆもつよ講演スライド
Tsuyoshi Yumoto
実証試験総論(午後の部)(大川弥生)
実証試験総論(午後の部)(大川弥生)
robotcare
20161218 selenium study4
20161218 selenium study4
Naoya Kojima
#abc2012s appmom統計データから見るユーザーのアプリ利用実態
#abc2012s appmom統計データから見るユーザーのアプリ利用実態
Naoko Tsubaki
エンタープライズアプリケーション品質向上のカギ -サービス仮想化と継続的デリバリー
エンタープライズアプリケーション品質向上のカギ -サービス仮想化と継続的デリバリー
Takashi Watanabe
テスト自動化のこれまでとこれから
テスト自動化のこれまでとこれから
Keizo Tatsumi
20100731.jissen.swtest securitytest
20100731.jissen.swtest securitytest
Shinsuke Matsuki
2015 12 03_uiテストツールについて
2015 12 03_uiテストツールについて
Natsuki Yamanaka
開発コンセプトシートの考え方(大川弥生)
開発コンセプトシートの考え方(大川弥生)
robotcare
2008 電子情報通信学会論文誌-ユースケースポイント計測におけるアクタとユースケースの自動分類の試みと支援ツールの試作
2008 電子情報通信学会論文誌-ユースケースポイント計測におけるアクタとユースケースの自動分類の試みと支援ツールの試作
n-yuki
Kobe sec#7 summary
Kobe sec#7 summary
Yukio NAGAO
ユーザビリティテストをやってみよう
ユーザビリティテストをやってみよう
scarletplover
ありえるえりあ勉強会@五反田~テスト編~ Part2
ありえるえりあ勉強会@五反田~テスト編~ Part2
Tomoyuki Sato
Similar to ユースケースからテスト駆動開発へ
(20)
Think aloud method
Think aloud method
チケット駆動開発を用いたソフトウェア品質改善事例
チケット駆動開発を用いたソフトウェア品質改善事例
スマートなシステム、スマートなディペンダビリティ保証-次世代システムを頼れるものへ
スマートなシステム、スマートなディペンダビリティ保証-次世代システムを頼れるものへ
上級ユーザビリティテスト手法
上級ユーザビリティテスト手法
「グーグルの自動運転Carの技術要素」勉強会 2014.08.29
「グーグルの自動運転Carの技術要素」勉強会 2014.08.29
HdIfes itowponde_130223
HdIfes itowponde_130223
テスト自動化とアーキテクチャ
テスト自動化とアーキテクチャ
WACATE 2010夏 ゆもつよ講演スライド
WACATE 2010夏 ゆもつよ講演スライド
実証試験総論(午後の部)(大川弥生)
実証試験総論(午後の部)(大川弥生)
20161218 selenium study4
20161218 selenium study4
#abc2012s appmom統計データから見るユーザーのアプリ利用実態
#abc2012s appmom統計データから見るユーザーのアプリ利用実態
エンタープライズアプリケーション品質向上のカギ -サービス仮想化と継続的デリバリー
エンタープライズアプリケーション品質向上のカギ -サービス仮想化と継続的デリバリー
テスト自動化のこれまでとこれから
テスト自動化のこれまでとこれから
20100731.jissen.swtest securitytest
20100731.jissen.swtest securitytest
2015 12 03_uiテストツールについて
2015 12 03_uiテストツールについて
開発コンセプトシートの考え方(大川弥生)
開発コンセプトシートの考え方(大川弥生)
2008 電子情報通信学会論文誌-ユースケースポイント計測におけるアクタとユースケースの自動分類の試みと支援ツールの試作
2008 電子情報通信学会論文誌-ユースケースポイント計測におけるアクタとユースケースの自動分類の試みと支援ツールの試作
Kobe sec#7 summary
Kobe sec#7 summary
ユーザビリティテストをやってみよう
ユーザビリティテストをやってみよう
ありえるえりあ勉強会@五反田~テスト編~ Part2
ありえるえりあ勉強会@五反田~テスト編~ Part2
More from Shuji Watanabe
Serverless - Developers.IO 2019
Serverless - Developers.IO 2019
Shuji Watanabe
Ansible ハンズオン on AWS - DevelopersIO 2017
Ansible ハンズオン on AWS - DevelopersIO 2017
Shuji Watanabe
SSMでマネージドEC2 #reinvent #cmdevio
SSMでマネージドEC2 #reinvent #cmdevio
Shuji Watanabe
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
Shuji Watanabe
ELBの概要と勘所
ELBの概要と勘所
Shuji Watanabe
AWSによるWebサイト構築と運用 - concrete5 編 -
AWSによるWebサイト構築と運用 - concrete5 編 -
Shuji Watanabe
Cloud FormationによるBlue-Green Deployment - Dev io mtup11 003
Cloud FormationによるBlue-Green Deployment - Dev io mtup11 003
Shuji Watanabe
CloudSearchによる全文検索 - CM:道 2014/08/01
CloudSearchによる全文検索 - CM:道 2014/08/01
Shuji Watanabe
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Shuji Watanabe
TDD BootCamp in JJUG CCC - レガシーコード対策編 -
TDD BootCamp in JJUG CCC - レガシーコード対策編 -
Shuji Watanabe
s3+cloud frontによる静的コンテンツ配信 - Sphinx編 #cmdevio
s3+cloud frontによる静的コンテンツ配信 - Sphinx編 #cmdevio
Shuji Watanabe
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevio
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevio
Shuji Watanabe
テスト駆動開発へようこそ
テスト駆動開発へようこそ
Shuji Watanabe
テスト駆動開発入門
テスト駆動開発入門
Shuji Watanabe
テストコードのリファクタリング
テストコードのリファクタリング
Shuji Watanabe
テスト駆動開発の導入ーペアプログラミングの学習効果ー
テスト駆動開発の導入ーペアプログラミングの学習効果ー
Shuji Watanabe
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
Shuji Watanabe
アジャイルテスティング
アジャイルテスティング
Shuji Watanabe
テストリストの見つけ方
テストリストの見つけ方
Shuji Watanabe
TDDをはじめよう
TDDをはじめよう
Shuji Watanabe
More from Shuji Watanabe
(20)
Serverless - Developers.IO 2019
Serverless - Developers.IO 2019
Ansible ハンズオン on AWS - DevelopersIO 2017
Ansible ハンズオン on AWS - DevelopersIO 2017
SSMでマネージドEC2 #reinvent #cmdevio
SSMでマネージドEC2 #reinvent #cmdevio
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
ELBの概要と勘所
ELBの概要と勘所
AWSによるWebサイト構築と運用 - concrete5 編 -
AWSによるWebサイト構築と運用 - concrete5 編 -
Cloud FormationによるBlue-Green Deployment - Dev io mtup11 003
Cloud FormationによるBlue-Green Deployment - Dev io mtup11 003
CloudSearchによる全文検索 - CM:道 2014/08/01
CloudSearchによる全文検索 - CM:道 2014/08/01
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
TDD BootCamp in JJUG CCC - レガシーコード対策編 -
TDD BootCamp in JJUG CCC - レガシーコード対策編 -
s3+cloud frontによる静的コンテンツ配信 - Sphinx編 #cmdevio
s3+cloud frontによる静的コンテンツ配信 - Sphinx編 #cmdevio
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevio
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevio
テスト駆動開発へようこそ
テスト駆動開発へようこそ
テスト駆動開発入門
テスト駆動開発入門
テストコードのリファクタリング
テストコードのリファクタリング
テスト駆動開発の導入ーペアプログラミングの学習効果ー
テスト駆動開発の導入ーペアプログラミングの学習効果ー
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
アジャイルテスティング
アジャイルテスティング
テストリストの見つけ方
テストリストの見つけ方
TDDをはじめよう
TDDをはじめよう
ユースケースからテスト駆動開発へ
1.
札幌からきますた 13年1月14日月曜日
2.
札幌からきますた 13年1月14日月曜日
3.
札幌からきますた 13年1月14日月曜日
4.
ユースケースから
テスト駆動開発へ 2.0 2013.01.13 TDD BootCamp 大阪 Shuji Watanabe (@shuji_w6e) 3 13年1月14日月曜日
5.
テスト駆動開発のFAQ
問. どのくらい事前設計すべきでしょうか? どうすれば、いつやめるかわかるのでしょうか? 答. 何を構築すべきかわかるまでです。 Derick Bailey http://www.infoq.com/jp/news/2008/03/tdd-smells 13年1月14日月曜日
6.
TDDが解決すること・
しないこと 13年1月14日月曜日
7.
TDDは開発手法
良いプログラムは開発できるが、良いシステ ムを開発できるわけではない 良いシステム = 顧客の要件を満たすシステム なんらかの開発プロセスは必要 アジャイルでもウォーターフォールでも 13年1月14日月曜日
8.
TDDはテストリストが起点
プログラムが満たすべき仕様をリスト化 最初に全てを抽出できない テストリストは随時、追加・修正 ただし、具体的な仕様(例)が必要 例:getListで1件のデータが取得できる 「何を構築すべきか」=事前設計 13年1月14日月曜日
9.
プログラムの仕様と要件
システム開発の目的は顧客の要件の実現 仕様が要件を満たしていなければ本末転倒 要件から「何を構築するか」を設計する 13年1月14日月曜日
10.
TDDが解決する範囲
TDD 顧客の要件 テストリスト 「何を構築するか?」 プログラム 13年1月14日月曜日
11.
「何を構築するか?」を決める
顧客の言葉を使ったシステムの使い方 ユースケース ユーザーストーリー システムの外部的な振る舞い 画面モックアップ APIや他システム連携 13年1月14日月曜日
12.
ユースケース駆動開発 13年1月14日月曜日
13.
開発プロセス
ソフトウェアを作るための手順・段階 アジャイルでもWFでも基本は変わらない 要件定義 外部設計 プログラミング テスト 13年1月14日月曜日
14.
外部設計
システムの外部的振る舞い 利用者視点 要件定義とのトレーサビリティ システム化するスコープ 実装とのトレーサビリティ 内部(システム化方式)に依存しない 13年1月14日月曜日
15.
システム境界
システムと外部との接点 どこからがシステムの機能・データなのか? ユーザーインターフェイス(画面) 外部インターフェイス システム境界 システム 機能 データ ユーザ 外部システム 13年1月14日月曜日
16.
トレーサビリティ
追跡(トレース)性 成果物同士が論理的に繋がっているか? 各フェイズでの成果物の整合性も必須 要件定義 外部設計 実装 比較的に保てる 保ちにくい 13年1月14日月曜日
17.
ユースケース駆動開発
ユースケース駆動開発とは、ユースケースを開 発の基点として顧客の要件を定義し、ユースケ ースから設計・実装までのトレーサビリティを 保つ事を重視して開発を進める開発手法。 システム トレーサビリティ ユースケース System Software ユースケース アクター Heuristics 13年1月14日月曜日
18.
ユースケース
システムの機能を表すシナリオ(使用例) 外部的な振る舞いと内部的な振る舞い システムと外部とのやり取りを記述する 要件定義フェイズで抽出され、 外部設計フェイズで詳細化する 13年1月14日月曜日
19.
自動販売機でドリンクを購入する
ユーザは、お金を投入する 1.ユーザは、購入するドリンクのボタンを押す 2.システムは、対象のドリンクを排出する 3.ユーザは、払い出しボタンを押す 4.システムは、お釣りを払い出す システムとユーザのインタラクションを記述 1行で1つのアクションを記述 文末は「∼する」(「∼できる」は厳禁) 13年1月14日月曜日
20.
参考)ユースケース図
ユースケースとアクターとの関係 構造化されたインデックス 重複を整理 関連するものをまとめる 本質はユースケース 13年1月14日月曜日
21.
参考) 本質ユースケース
ビジネスユースケース/ Essential Use Case 簡潔で、抽象化され、一般的なユースケース 実装に依存しない形 要求 抽象的 要求分析に適する 本質ユースケース システムユースケース 実装に結びつけにくい 具体的 実装 http://www.ogis-ri.co.jp/otc/swec/process/am-res/am/artifacts/essentialUseCase.html http://www.ogis-ri.co.jp/otc/swec/process/am-res/am/artifacts/systemUseCase.html 13年1月14日月曜日
22.
ユースケースから
テスト駆動開発へ 13年1月14日月曜日
23.
ユースケースから実装を導く
ユースケースから実装を導く ユースケースが適切である事が前提 つまり、顧客の言葉である ユースケースからオブジェクト(名詞)を抽出 「表示する」「取得する」など動詞 アーキテクチャに依存しない 13年1月14日月曜日
24.
ロバストネス分析
ユースケースからオブジェクトを抽出・整理 するための分析方法 ユースケースを3つの要素に分解する バウンダリ アクター バウンダリ コントローラ コントローラ エンティティ エンティティ ユースケースに対する健全性チェック 13年1月14日月曜日
25.
自動販売機でドリンクを購入する
1.ユーザは、お金を投入する 2.ユーザは、購入するドリンクのボタンを押す 3.システムは、対象のドリンクを排出する 4.ユーザは、払い出しボタンを押す メソッドの候補 クラスの候補 何を構築すべきか? 13年1月14日月曜日
26.
アーキテクチャの適用
言語/フレームワークの選択 Rails, JavaEE, Django, CakePHP 細かい点は異なるが骨格は変わらない ユースケース + アーキテクチャ 実装可能 13年1月14日月曜日
27.
ユースケースシナリオを例にする
ユーザは、お金を投入する 1.ユーザは、購入するドリンクのボタンを押す 2.システムは、対象のドリンクを排出する 3.ユーザは、払い出しボタンを押す 4.システムは、お釣りを払い出す 具体的な例とすることで テストできる 問題点に気付くことができる 13年1月14日月曜日
28.
ユースケースシナリオを例にする
1.ユーザは、100硬貨を2枚を投入する ユーザは、お金を投入する 2.ユーザは、コーラのボタンを押す 1.ユーザは、購入するドリンクのボタンを押す 3.システムは、コーラを排出する 2.システムは、対象のドリンクを排出する 4.ユーザは、払い出しボタンを押す 3.ユーザは、払い出しボタンを押す 5.システムは、10硬貨を8枚を払い出す 4.システムは、お釣りを払い出す 具体的な例とすることで テストできる 問題点に気付くことができる 13年1月14日月曜日
29.
ユースケースシナリオを例にする
1.ユーザは、100硬貨を2枚を投入する ユーザは、お金を投入する 2.ユーザは、コーラのボタンを押す 受け入れテスト 1.ユーザは、購入するドリンクのボタンを押す 3.システムは、コーラを排出する 2.システムは、対象のドリンクを排出する (Cucumberなど) 4.ユーザは、払い出しボタンを押す 3.ユーザは、払い出しボタンを押す 5.システムは、10硬貨を8枚を払い出す 4.システムは、お釣りを払い出す 具体的な例とすることで テストできる 問題点に気付くことができる 13年1月14日月曜日
30.
ユースケースシナリオを例にする
1.ユーザは、100硬貨を2枚を投入する ユーザは、お金を投入する 2.ユーザは、コーラのボタンを押す 受け入れテスト 1.ユーザは、購入するドリンクのボタンを押す 3.システムは、コーラを排出する 2.システムは、対象のドリンクを排出する (Cucumberなど) 4.ユーザは、払い出しボタンを押す 3.ユーザは、払い出しボタンを押す 5.システムは、10硬貨を8枚を払い出す 4.システムは、お釣りを払い出す # language: ja フィーチャ: 自動販売機で飲み物を購入 具体的な例とすることで シナリオ: コーラを1本買う 前提 '100'円を'2'枚投入する テストできる もし 'コーラ'のボタンを押した ならば 'コーラ'が出力される かつ お釣りは'10'円が’8’枚である 問題点に気付くことができる 13年1月14日月曜日
31.
各ステップをテストリストにする
1.ユーザは、お金を投入する 2.ユーザは、購入するドリンクのボタンを押す 3.システムは、対象のドリンクを排出する 4.ユーザは、払い出しボタンを押す 5.システムは、お釣りを払い出す 13年1月14日月曜日
32.
各ステップをテストリストにする
1.ユーザは、お金を投入する 2.ユーザは、購入するドリンクのボタンを押す • (初期状態で)合計金額は0円である 3.システムは、対象のドリンクを排出する • 100円硬貨を投入すると、合計金額が100円である 4.ユーザは、払い出しボタンを押す • 100円硬貨を投入されている時に、 5.システムは、お釣りを払い出す 10円硬貨を投入すると、合計金額が110円である 13年1月14日月曜日
33.
各ステップをテストリストにする
1.ユーザは、お金を投入する 2.ユーザは、購入するドリンクのボタンを押す • (初期状態で)合計金額は0円である 3.システムは、対象のドリンクを排出する • 100円硬貨を投入すると、合計金額が100円である 4.ユーザは、払い出しボタンを押す • 100円硬貨を投入されている時に、 5.システムは、お釣りを払い出す 10円硬貨を投入すると、合計金額が110円である { @Test public void 初期状態でgetTotalAmountは0を返す() throws Exception VendingMachine sut = new VendingMachine(); int actual = sut.getTotalAmount(); assertThat(actual, is(0)); } 13年1月14日月曜日
34.
ユースケース駆動開発とTDD
ユースケース TDD クラス/メソッド クラス/メソッド 受入テスト クラス/メソッド クラス/メソッド (機能テスト) TDD クラス/メソッド クラス/メソッド クラス/メソッド クラス/メソッド 受入テスト ユースケース (機能テスト) ユースケース 13年1月14日月曜日
35.
ユースケース駆動開発の利点
受入テストが設計時に明確 自動化できればベスト 適切な粒度の「何を構築すべきか?」 システムの完成度 本来はユースケース単位で意味がある 現実として進 管理が必要 13年1月14日月曜日
36.
まとめ
ユースケースでシステム全体を設計する 顧客視点でシステム境界を明確にする ユースケースは受入テスト ユースケースから実装が導ける事が重要 ユースケースの1文は「構築すべきこと」 テスト駆動開発の起点 テストリスト 13年1月14日月曜日
Download now