SlideShare a Scribd company logo
1 of 32
うさぎ組 in わんくま名古屋
    2012.04.14
Self Introduction
名前:きょん(kyon_mm)

Blog : うさぎ組

Target : 開発環境改善

Groovy、テスト、自動化、アジャイル、品質保証

24歳うさみみ系男子

SCMBootCamp, Nagoya.Testing, StartupGroovy
開発を加速させるテスト


開発を減速させるテスト
出来るだけプロセスに
依存しないテストの話
開発を加速させるテスト
加速

価値に適合したテスト

設計の不味さを指摘するテスト

テスト実装を読む人に最適なテスト

気軽に実行できるテスト
価値に適合する

価値とは顧客における価値。

全ての機能が一通り動くこと、セキュリティにつよいこと、

スケールしやすいこと、今後の改修でも同じスピードで開発

できること、とにかく早くリリースできること、ユーザビリ

ティが新しいこと、、、
価値に適合する

ハッピーパスを考える

テストレベルをわける

優先順位をつける

品質特性を考える

アクターを考える
加速

価値に適合したテスト

設計の不味さを指摘するテスト

テスト実装を読む人に最適なテスト

気軽に実行できるテスト
設計の不味さを指摘する

アーキテクチャ設計、外部設計、内部設計が対象。

デプロイ環境、通信手段、ユーザーインターフェース、外部

API、モデリング、原則、コード規約、複雑度、極端なパ

フォーマンス遅延、、
設計の不味さを指摘する

フロー図を使ってシュミレートしてみる

ペルソナを想定する

ドッグフーディング

実際に詳細にしたり、変更したりする

静的解析、パフォーマンス計測(最悪のものだけをさける)
加速

価値に適合したテスト

設計の不味さを指摘するテスト

テスト実装を読む人に最適なテスト

気軽に実行できるテスト
読む人に最適


テスト実装したもの(テスト手順、テストコード)を読む人。

顧客、マネージャー、開発者、テストエンジニア、デザイ

ナー、別モジュールの開発者、、、
読む人に最適


普段使うツールで足りる

欲しいフォーマットになる

実現したい事と記述が近い
加速

価値に適合したテスト

設計の不味さを指摘するテスト

テスト実装を読む人に最適なテスト

気軽に実行できるテスト
気軽に実行できる


フィードバックがほしいサイクル

テスト実行者、テストタイプ、テストレベル、CIのJOB単位
気軽に実行できる


操作性(ワンクリック)

透明性(成否/エラー内容)

独立性(依存リソース)
開発を減速させるテスト
減速

価値から外れたテスト

時間のかかるテスト

変更の多いテスト

保守性の低いテスト
価値から外れる

価値とは顧客における価値。

全ての機能が一通り動くこと、セキュリティにつよいこと、

スケールしやすいこと、今後の改修でも同じスピードで開発

できること、とにかく早くリリースできること、ユーザビリ

ティが新しいこと、、、
価値から外れる


優先度を無視したテスト

優先度ではなく重要度によるテスト

多すぎるテスト、少なすぎるテスト
減速

価値から外れたテスト

時間のかかるテスト

変更の多いテスト

保守性の低いテスト
時間がかかる

テストデータの作成、テスト環境の構築、テスト対象のセッ

トアップ、テスト実行時間

音声を使う、映像を使う、特殊なハードウェア、複雑な

RDB、ネットワーク状態、プロトコル間、マシン時刻、、、
時間がかかる


自動化が難しい

仮想化レイヤーがない

テスト実施を考えないテスト実装
減速

価値から外れたテスト

時間のかかるテスト

変更の多いテスト

保守性の低いテスト
変更が多い


特定のテストケースの変更頻度が高い

UI、Betaなアプリとの連携、顧客と現状の振る舞いについて

合意がとれていない機能
変更が多い


UXへの影響度が大きい要素

未決定な機能
減速

価値から外れたテスト

時間のかかるテスト

変更の多いテスト

保守性の低いテスト
保守性が低い

ある仕様変更に対してテストケースを変更する工数が大き

い、どれを変更していいかわからない

構造化されていない、一覧性が低い、トレーサビリティがと

れていない、、、
保守性が低い


テスト設計が不足している

テストの改善が不足している(リファクタリング

変更頻度の高いテストに対して無防備
まとめ

加速させるテスト、減速させるテストのカテゴライズは「や

るべき」「やらないべき」というわけではありません。あく

まで開発速度を加速させるか、減速させるかです。(やるべ

き、やらないべきという軸だと違う結果になる

ここまで書かなかったけど、「最も加速させるテスト」は

「自動化されたユニットテスト」です。
ご清聴ありがとうぴょん◆

More Related Content

What's hot

ADTECH COLLEGE #2 近い将来、開発責任者になるあなたへ
ADTECH COLLEGE #2 近い将来、開発責任者になるあなたへADTECH COLLEGE #2 近い将来、開発責任者になるあなたへ
ADTECH COLLEGE #2 近い将来、開発責任者になるあなたへ
Naoyuki Yamada
 
デグレを防ぐテストの書き方
デグレを防ぐテストの書き方デグレを防ぐテストの書き方
デグレを防ぐテストの書き方
Wataru Terada
 
Croozにおけるjenkins活用事例20130618
Croozにおけるjenkins活用事例20130618Croozにおけるjenkins活用事例20130618
Croozにおけるjenkins活用事例20130618
Katsuya Ohnishi
 

What's hot (20)

テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)
 
アジャイルの今とこれから-Agile conference2012参加報告-技術動向編
アジャイルの今とこれから-Agile conference2012参加報告-技術動向編アジャイルの今とこれから-Agile conference2012参加報告-技術動向編
アジャイルの今とこれから-Agile conference2012参加報告-技術動向編
 
JaSST nano vol.7 「なぜペアワイズテストを使いこなせないのか」
JaSST nano vol.7 「なぜペアワイズテストを使いこなせないのか」JaSST nano vol.7 「なぜペアワイズテストを使いこなせないのか」
JaSST nano vol.7 「なぜペアワイズテストを使いこなせないのか」
 
XP開発におけるUIテスト - Bonfire iOS#4
XP開発におけるUIテスト - Bonfire iOS#4XP開発におけるUIテスト - Bonfire iOS#4
XP開発におけるUIテスト - Bonfire iOS#4
 
TDDはじめる前に
TDDはじめる前にTDDはじめる前に
TDDはじめる前に
 
CodeZineAcademy TDD実践講座PR資料
CodeZineAcademy TDD実践講座PR資料CodeZineAcademy TDD実践講座PR資料
CodeZineAcademy TDD実践講座PR資料
 
品質保証を体験しよう
品質保証を体験しよう品質保証を体験しよう
品質保証を体験しよう
 
ADTECH COLLEGE #2 近い将来、開発責任者になるあなたへ
ADTECH COLLEGE #2 近い将来、開発責任者になるあなたへADTECH COLLEGE #2 近い将来、開発責任者になるあなたへ
ADTECH COLLEGE #2 近い将来、開発責任者になるあなたへ
 
デグレを防ぐテストの書き方
デグレを防ぐテストの書き方デグレを防ぐテストの書き方
デグレを防ぐテストの書き方
 
サイボウズQAの働き方
サイボウズQAの働き方サイボウズQAの働き方
サイボウズQAの働き方
 
system testing in Scrum
system testing in Scrumsystem testing in Scrum
system testing in Scrum
 
僕らのおれおれメトリクス / We Metrics Our Own Way!
僕らのおれおれメトリクス / We Metrics Our Own Way!僕らのおれおれメトリクス / We Metrics Our Own Way!
僕らのおれおれメトリクス / We Metrics Our Own Way!
 
テスト駆動開発へようこそ
テスト駆動開発へようこそテスト駆動開発へようこそ
テスト駆動開発へようこそ
 
テストスキルを測ってみよう
テストスキルを測ってみようテストスキルを測ってみよう
テストスキルを測ってみよう
 
Five fails of user interviewing
Five fails of user interviewingFive fails of user interviewing
Five fails of user interviewing
 
Croozにおけるjenkins活用事例20130618
Croozにおけるjenkins活用事例20130618Croozにおけるjenkins活用事例20130618
Croozにおけるjenkins活用事例20130618
 
Agile RCA Presentation
Agile RCA PresentationAgile RCA Presentation
Agile RCA Presentation
 
Deploy Rails Application on Docker with Elasticbeanstalk
Deploy Rails Application on Docker with ElasticbeanstalkDeploy Rails Application on Docker with Elasticbeanstalk
Deploy Rails Application on Docker with Elasticbeanstalk
 
「素敵な状態」で前進する
「素敵な状態」で前進する「素敵な状態」で前進する
「素敵な状態」で前進する
 
テスト駆動開発の導入ーペアプログラミングの学習効果ー
テスト駆動開発の導入ーペアプログラミングの学習効果ーテスト駆動開発の導入ーペアプログラミングの学習効果ー
テスト駆動開発の導入ーペアプログラミングの学習効果ー
 

Similar to 加速させるテスト 減速させるテスト

アジャイル×テスト開発を考える
アジャイル×テスト開発を考えるアジャイル×テスト開発を考える
アジャイル×テスト開発を考える
yasuohosotani
 
テストプロセス概要
テストプロセス概要テストプロセス概要
テストプロセス概要
kyon mm
 
#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン
kyon mm
 

Similar to 加速させるテスト 減速させるテスト (20)

アジャイル×テスト開発を考える
アジャイル×テスト開発を考えるアジャイル×テスト開発を考える
アジャイル×テスト開発を考える
 
テストエンジニアの品格 #automatornight
テストエンジニアの品格 #automatornightテストエンジニアの品格 #automatornight
テストエンジニアの品格 #automatornight
 
アート・オブ・アジャイル デベロップメント 〜テストが駆動するビジネス価値〜
アート・オブ・アジャイル デベロップメント 〜テストが駆動するビジネス価値〜アート・オブ・アジャイル デベロップメント 〜テストが駆動するビジネス価値〜
アート・オブ・アジャイル デベロップメント 〜テストが駆動するビジネス価値〜
 
組み込み開発のテストとゲーム開発のテストの違い
組み込み開発のテストとゲーム開発のテストの違い組み込み開発のテストとゲーム開発のテストの違い
組み込み開発のテストとゲーム開発のテストの違い
 
テストプロセス概要
テストプロセス概要テストプロセス概要
テストプロセス概要
 
The outlineoftestprocess
The outlineoftestprocessThe outlineoftestprocess
The outlineoftestprocess
 
20150418 システムテスト自動化 第一章
20150418 システムテスト自動化 第一章20150418 システムテスト自動化 第一章
20150418 システムテスト自動化 第一章
 
ワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeployワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeploy
 
GCSアジャイル開発を使ったゲームの作り方
 GCSアジャイル開発を使ったゲームの作り方 GCSアジャイル開発を使ったゲームの作り方
GCSアジャイル開発を使ったゲームの作り方
 
#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン
 
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225
 
モダンアジャイル - Agile Japan 2017 地方サテライト版 #agilejapan
モダンアジャイル - Agile Japan 2017 地方サテライト版 #agilejapanモダンアジャイル - Agile Japan 2017 地方サテライト版 #agilejapan
モダンアジャイル - Agile Japan 2017 地方サテライト版 #agilejapan
 
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
 
To be sn agile enterprise
To be sn agile enterpriseTo be sn agile enterprise
To be sn agile enterprise
 
QA SUMMIT in GDC2013
QA SUMMIT in GDC2013QA SUMMIT in GDC2013
QA SUMMIT in GDC2013
 
どうすれば小さなチームでも大きな成果を出せるのか
どうすれば小さなチームでも大きな成果を出せるのかどうすれば小さなチームでも大きな成果を出せるのか
どうすれば小さなチームでも大きな成果を出せるのか
 
テストコードのリファクタリング
テストコードのリファクタリングテストコードのリファクタリング
テストコードのリファクタリング
 
SGT2013 技術トークス「アジャイルテスティング」
SGT2013 技術トークス「アジャイルテスティング」SGT2013 技術トークス「アジャイルテスティング」
SGT2013 技術トークス「アジャイルテスティング」
 
【schoo WEB-campus】どうすれば小さなチームでも大きな成果を出せるのか
【schoo WEB-campus】どうすれば小さなチームでも大きな成果を出せるのか【schoo WEB-campus】どうすれば小さなチームでも大きな成果を出せるのか
【schoo WEB-campus】どうすれば小さなチームでも大きな成果を出せるのか
 
テストとの上手な付き合い方
テストとの上手な付き合い方テストとの上手な付き合い方
テストとの上手な付き合い方
 

More from kyon mm

ICST2015 GUI Testingの紹介 #SIGSTJ
ICST2015 GUI Testingの紹介 #SIGSTJICST2015 GUI Testingの紹介 #SIGSTJ
ICST2015 GUI Testingの紹介 #SIGSTJ
kyon mm
 
@kyon_mmの書籍の読み方 #AsianAA
@kyon_mmの書籍の読み方 #AsianAA@kyon_mmの書籍の読み方 #AsianAA
@kyon_mmの書籍の読み方 #AsianAA
kyon mm
 

More from kyon mm (20)

Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016
 
Kaizen process with test #hackt
Kaizen process with test #hacktKaizen process with test #hackt
Kaizen process with test #hackt
 
ザ・ジェネラリスト #5000dai
ザ・ジェネラリスト #5000daiザ・ジェネラリスト #5000dai
ザ・ジェネラリスト #5000dai
 
ICST2015 GUI Testingの紹介 #SIGSTJ
ICST2015 GUI Testingの紹介 #SIGSTJICST2015 GUI Testingの紹介 #SIGSTJ
ICST2015 GUI Testingの紹介 #SIGSTJ
 
焦らず急いでの意味
焦らず急いでの意味焦らず急いでの意味
焦らず急いでの意味
 
Sta introduction in_kyoto #devkan
Sta introduction in_kyoto #devkanSta introduction in_kyoto #devkan
Sta introduction in_kyoto #devkan
 
出来るチューリング完全!SQLでもいろいろ出来る! #syoboben
出来るチューリング完全!SQLでもいろいろ出来る! #syoboben出来るチューリング完全!SQLでもいろいろ出来る! #syoboben
出来るチューリング完全!SQLでもいろいろ出来る! #syoboben
 
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
 
Gradle 2.2, 2.3 news #jggug
Gradle 2.2, 2.3 news #jggugGradle 2.2, 2.3 news #jggug
Gradle 2.2, 2.3 news #jggug
 
Groovyで学ぶプロセス代数 #jjug
Groovyで学ぶプロセス代数 #jjugGroovyで学ぶプロセス代数 #jjug
Groovyで学ぶプロセス代数 #jjug
 
@kyon_mmの書籍の読み方 #AsianAA
@kyon_mmの書籍の読み方 #AsianAA@kyon_mmの書籍の読み方 #AsianAA
@kyon_mmの書籍の読み方 #AsianAA
 
JenkinsとGitで実装するGatewayCheckIn Pattern #AsianAA
JenkinsとGitで実装するGatewayCheckIn Pattern #AsianAAJenkinsとGitで実装するGatewayCheckIn Pattern #AsianAA
JenkinsとGitで実装するGatewayCheckIn Pattern #AsianAA
 
GradleのREPLプラグイン紹介 #jggug
GradleのREPLプラグイン紹介 #jggugGradleのREPLプラグイン紹介 #jggug
GradleのREPLプラグイン紹介 #jggug
 
契る意味 #pykonjp2014
契る意味 #pykonjp2014契る意味 #pykonjp2014
契る意味 #pykonjp2014
 
いつでも聞けるTDD入門 #TDDBC_NAGOYA
いつでも聞けるTDD入門 #TDDBC_NAGOYAいつでも聞けるTDD入門 #TDDBC_NAGOYA
いつでも聞けるTDD入門 #TDDBC_NAGOYA
 
Test Retrospective #kyon_kao_wedding in Tokyo
Test Retrospective #kyon_kao_wedding in TokyoTest Retrospective #kyon_kao_wedding in Tokyo
Test Retrospective #kyon_kao_wedding in Tokyo
 
ソフトウェア開発を勉強し始めて3年間でやったこと~After~ #devsumi
ソフトウェア開発を勉強し始めて3年間でやったこと~After~ #devsumiソフトウェア開発を勉強し始めて3年間でやったこと~After~ #devsumi
ソフトウェア開発を勉強し始めて3年間でやったこと~After~ #devsumi
 
自動テストの誤解とアンチパターン in 楽天 Tech Talk
自動テストの誤解とアンチパターン in 楽天 Tech Talk自動テストの誤解とアンチパターン in 楽天 Tech Talk
自動テストの誤解とアンチパターン in 楽天 Tech Talk
 
詳解!自動結合テスト #jasst
詳解!自動結合テスト #jasst詳解!自動結合テスト #jasst
詳解!自動結合テスト #jasst
 
TDDの自殺 #TDDeX
TDDの自殺 #TDDeXTDDの自殺 #TDDeX
TDDの自殺 #TDDeX
 

加速させるテスト 減速させるテスト

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n