SlideShare uma empresa Scribd logo
1 de 33
Baixar para ler offline
レガシーコード
との付き合い方
と
テストでの話
9/27  レガシーコード改善勉強会  #wewlc_jp
井芹洋輝 @goyoki
1
自己紹介
•  井芹 洋輝(@goyoki)
– 医療機器や自動車の組み込み開発・テスト
•  開発屋7割、テスト屋3割
– 最近はコンサルや技術支援に従事
– 社外で各種講演や執筆活動に従事
•  「Androidアプリテスト技法」「テスト自動化標準ガイド(翻訳中)」
「テスト駆動開発/振る舞い駆動開発を始めるための基礎知識」等
•  テスト自動化研究会コミッタ、Concolic  Testing研究会など
2
レガシーコードとの付き合い
•  プログラマとして苦しんだ要因No.1
•  「レガシーコード改善ガイド」との因縁
– 初めてのIT勉強会が原著(WEwLC)読書会
•  そこでt_wadaさん達がいて、テストやTDDに染めあげられ、
今のような姿に
– 翻訳レビューに協力しました
3
今日の話
•  以下についてのドメインに依存しない
お話をさせて頂ければと考えています
– 割と汎用的・概念的な考え方
– テストでの具体例
4
今日のお話:目的
•  レガシーコード対応で
– どのような問題があるか、
– 問題に対しどのような目標・方針で対処していくのか
  について役立てればと考えています
5
アウトライン
•  レガシーコード対応における
人
•  問題/目標/方針  
環境
•  問題/目標/方針  
開発のアプローチ
•  問題/目標/方針  
6
レガシーコード対応における
「人」
レガシーコードに立ち向かうため
のコミュニケーション
7
人	
問題	
 目標	
 方針	
環境	
問題	
 目標	
 方針	
アプローチ	
問題	
 目標	
 方針
「人」をとりまく問題
•  正しいものは正しく、
間違っているものは間違っている、
と道義を通せる環境は大事
•  しかし・・
8
人	
問題	
 目標	
 方針	
環境	
問題	
 目標	
 方針	
アプローチ	
問題	
 目標	
 方針
「人」をとりまく問題
9
このコードを書いた●●は本当にクソだ	
●●の書いたコードは本当にクソだ	
人	
問題	
 目標	
 方針	
環境	
問題	
 目標	
 方針	
アプローチ	
問題	
 目標	
 方針
「人」をとりまく問題
10
このコードを書いた●●は本当にクソだ	
●●の書いたコードは本当にクソだ	
●●のせいで本当に大変だ	
  
自分の責任じゃない	
人	
問題	
 目標	
 方針	
環境	
問題	
 目標	
 方針	
アプローチ	
問題	
 目標	
 方針
「人」をとりまく問題
11
このコードを書いた●●は本当にクソだ	
●●の書いたコードは本当にクソだ	
本当に大変だ	
  
自分の責任じゃない	
•  保身に走る	
  
•  協力しなくなる	
  
•  言い訳と見なされる	
  
•  適切なサポートを得られない	
•  地雷原ではリスキーな状態
•  道義を通すにも工夫が必要
レガシーコード	
人	
問題	
 目標	
 方針	
環境	
問題	
 目標	
 方針	
アプローチ	
問題	
 目標	
 方針
「人」について注力が必要な目標
•  プロジェクト成功のために必要な
人的サポートを確保する
– 役立つ人を敵にせず、役立ってもらう
– 状況を理解してもらい、適切なフィードバックを得る
12
人	
問題	
 目標	
 方針	
環境	
問題	
 目標	
 方針	
アプローチ	
問題	
 目標	
 方針
「人」についての方針
1.  コミュニケーションの基礎を作る
– 要因をよく把握する
– 理解を得るための証拠で武装する
– 属人性を排除して問題を共有する
2.  協力を得ながらレガシーコードに
立ち向かう
13
人	
問題	
 目標	
 方針	
環境	
問題	
 目標	
 方針	
アプローチ	
問題	
 目標	
 方針
「人」についての方針:基礎を作る
要因をよく知る
•  レガシーコード誕生の要因は一般的に複合的
–  テストでの要因:
テストベースの問題、進め方やプロセスの問題、
テスト対象の問題、計画・管理の制約
•  コミュニケーションの材料確保のため、要因はよく分析し
理解しておく
14
Whyツリー	
 SaPIDの問題構造図	
人	
問題	
 目標	
 方針	
環境	
問題	
 目標	
 方針	
アプローチ	
問題	
 目標	
 方針
「人」についての方針:基礎を作る
理解を得るための証拠で武装する
•  「問題や改善の必要性」「改善の効果」の根拠を、
蓄積・共有し、状況を理解してもらう
–  一般的なメトリクスの確保
•  眉唾物になりがちだが、レガシーコードでは露骨な異常値がでる
•  Ex)構造、生産性、不具合の傾向
–  有用な定性的意見の指標化
•  Ex)アンケート集計、キーマンからの意見収集
–  実証
•  Ex)類似プロジェクト・理想状態との比較検証、フィージビリティ・スタディ
15
人	
問題	
 目標	
 方針	
環境	
問題	
 目標	
 方針	
アプローチ	
問題	
 目標	
 方針
「人」についての方針:基礎を作る
属人性を排除して問題を共有する
16
•  このコードを書いた●●は本当にクソだ	
  
•  ●●の書いたコードは本当にクソだ	
直接の攻撃	
人	
問題	
 目標	
 方針	
環境	
問題	
 目標	
 方針	
アプローチ	
問題	
 目標	
 方針
「人」についての方針:基礎を作る
属人性を排除して問題を共有する
17
•  このコードを書いた●●は本当にクソだ	
  
•  ●●の書いたコードは本当にクソだ	
•  そのコードを書かざるを得なかった状
況や環境は本当に糞だ	
•  そのコードを書いてしまった自分たち
のチームは糞だ。改善しなければ	
直接の攻撃	
制約のせいにする	
自分も含めたみんなのせいにする	
☓	
人	
問題	
 目標	
 方針	
環境	
問題	
 目標	
 方針	
アプローチ	
問題	
 目標	
 方針
「人」についての方針
協力を得ながらレガシーコードに立ち向かう
•  相談や嘆願でなく改善の提案・担当を
–  Ex)テスタビリティ改善では、具体的な改善の提
案や、直接の改善を行う
•  Give&Take
–  開発者に対するデバッグ支援、バグ混入防止
活動支援等、直接的に協力する
–  開発者に横展開できる改善成果を生み出す
•  チームとして改善
–  チームとして問題共有・改善成果共有を行う
18
属人性の排除	
証拠の	
  
武装・展開	
要因の理解	
基礎	
人	
問題	
 目標	
 方針	
環境	
問題	
 目標	
 方針	
アプローチ	
問題	
 目標	
 方針
レガシーコード対応における
「環境」
レガシーコード対応を支える
環境作り
19
人	
問題	
 目標	
 方針	
環境	
問題	
 目標	
 方針	
アプローチ	
問題	
 目標	
 方針
「環境」をとりまく問題
•  レガシーコード対応では、環境改善による
作業効率化が強力に求められる
– 工数は新規開発より大きく削減される
– 試行錯誤と立て直しが要求される
– そもそも環境に致命的な問題を持つことが珍しくない
20
人	
問題	
 目標	
 方針	
環境	
問題	
 目標	
 方針	
アプローチ	
問題	
 目標	
 方針
「環境」について注力すべき目標
•  環境による生産性向上のサポートは必須
– レガシーコード対応を支えるツールやプラクティスは
すでに様々なものが普及している
– 活かさないのは、今や罪
21
人	
問題	
 目標	
 方針	
環境	
問題	
 目標	
 方針	
アプローチ	
問題	
 目標	
 方針
環境についての方針
•  現代的な開発の前提である三種の神器は
レガシーコード対応の大前提
22
バージョン管理	
 当たり前。説明割愛	
  
自動テスト	
 当たり前。説明割愛	
  
自動化	
 当たり前。説明割愛	
人	
問題	
 目標	
 方針	
環境	
問題	
 目標	
 方針	
アプローチ	
問題	
 目標	
 方針
人	
問題	
 目標	
 方針	
環境	
問題	
 目標	
 方針	
アプローチ	
問題	
 目標	
 方針	
環境についての方針
•  テストでも同様
23
テストのバージョン管理	
 ・当たり前	
  
テストの検証自動化	
 ・テストのCIをしよう	
  
・テストの品質を評価しよう	
  
各種カバレッジの計測・性能評価	
  
・テストの妥当性を評価しよう	
  
ミューテーションテストや、モデル駆動・ドメイン駆
動で妥当性を評価しよう	
  
各種テスト作業の	
  
自動化	
・テスト設計や実行、保守等、全領域で自動
化しよう
環境についての方針
テストの自動生成
24
•  レガシーコード対応で有効なアプローチ
–  テストオラクル問題が深刻にならず、仕組みを作ってしまえば
応用が容易
人	
問題	
 目標	
 方針	
環境	
問題	
 目標	
 方針	
アプローチ	
問題	
 目標	
 方針	
構造ベース	
・制御パス・カバレッジベース、規約ベース、型ベース等	
  
Concolic	
  Tes4ng、構造モデルベーステスト、静的解析との連携、動的解析	
仕様ベース	
・仕様モデルベース、DSLベース、データ・キーワード駆動等	
  
仕様モデルベーステスト、データ駆動テスト、キーワード駆動テスト	
経験ベース	
・外部モデルや標準ベース、実使用ベース等	
  
ファジング、キャプチャ&リプレイ	
  
レガシーコード対応における
「開発のアプローチ」
レガシーコードに
惑わされないための考え方
25
人	
問題	
 目標	
 方針	
環境	
問題	
 目標	
 方針	
アプローチ	
問題	
 目標	
 方針
開発のアプローチをとりまく問題
•  行き当たりばったりだとよりカオスに
•  カオスの解消も難しい・コスパ確保が困難
– なしのつぶて
– 全て捨てて作りなおすのも無理
26
人	
問題	
 目標	
 方針	
環境	
問題	
 目標	
 方針	
アプローチ	
問題	
 方針	
目標
開発のアプローチで実現すべき目標
•  “備えてから進む”
– 品質リスクに備えてからコードに手を付ける
•  ミスの流出の防止
–  Cover  &  Modify
– レガシーコード本で常識なので割愛
•  アプローチの妥当性を確保
–  探索的・実証的(Mikado  Method)、フロントローディング的(XDDP等)
•  ピンポイントの保守性の確保
– Ex)変更ミスを防ぐ変更性の作り込み、リグレッションテストを
作れるようにするテスタビリティ
27
人	
問題	
 目標	
 方針	
環境	
問題	
 目標	
 方針	
アプローチ	
問題	
 目標	
 方針
開発のアプローチ:保守性の確保の方針
2つの方向性
•  トップダウン
–  保守性の要求を体系的に分析し、
計画的に保守性を確保する
•  リスクやロードマップの分析
•  ボトムアップ
–  作業上必要な保守性を適用的に確保
•  プログラマ主体のCover&Modify
•  ボーイスカウトルールの実施
–  当たり前なので割愛
28
長期的・大規模・組織的	
短期的・適用的・個人	
  
人	
問題	
 目標	
 方針	
環境	
問題	
 目標	
 方針	
アプローチ	
問題	
 目標	
 方針
トップダウンの保守性改善
リスクベースのアプローチ
•  品質リスクで保守性対策を優先付けする
29
事象	
 ダメージ	
 重大度	
 発生確率	
 リスク	
  
レベル	
プロセッサの
ディスコン	
Q:タイミング設計起因の	
  
不具合発生	
3	
 しばしば	
 II	
プロセッサの
ディスコン	
C:ハードウェア依存部の変更	
 2	
 しばしば	
 II	
・リスクレベルに応じて保守性対策
を検討する	
  
・リスクを俯瞰して対策を検討する	
人	
問題	
 目標	
 方針	
環境	
問題	
 目標	
 方針	
アプローチ	
問題	
 目標	
 方針
トップダウンの保守性改善
リスクベースのアプローチ
•  品質リスクで保守性対策を優先付けする
30
事象	
 ダメージ	
 重大度	
 発生確率	
 リスク	
  
レベル	
プロセッサの
ディスコン	
Q:タイミング設計起因の	
  
不具合発生	
3	
 しばしば	
 II	
プロセッサの
ディスコン	
C:ハードウェア依存部の変更	
 2	
 しばしば	
 II	
リスク分析の観点	
  
・構造(コンポーネント、IF)	
  
・制約(スケジュール、メンバー)	
  
・要求(顧客要求、ビジネス状況)	
  
・リスクレベルに応じて保守性対策
を検討する	
  
・リスクを俯瞰して対策を検討する	
人	
問題	
 目標	
 方針	
環境	
問題	
 目標	
 方針	
アプローチ	
問題	
 目標	
 方針
トップダウンの保守性改善
リスクベースのアプローチ
•  品質リスクで保守性対策を優先付けする
31
事象	
 ダメージ	
 リスク	
  
レベル	
リスクの軽減策	
 軽減した	
  
リスク	
  
レベル	
プロセッサ
のディスコン	
Q:タイミング設計起
因の不具合発生	
II	
 ・動的解析ツールAを
導入。ツールに合わ
せてIF追加	
  
II	
プロセッサ
のディスコン	
C:ハードウェア依存
部の変更	
II	
 変更部分をラッピング
し、旧ハードウェア依
存部を一コンポーネ
ントに集中させる	
II	
人	
問題	
 目標	
 方針	
環境	
問題	
 目標	
 方針	
アプローチ	
問題	
 目標	
 方針
開発のアプローチ:保守性の確保の方針
保守性改善手段はいろいろな観点で
32
観点	
 テストでの保守性改善手段	
要求	
 •  テストの要求、テスト設計の根拠を明確化	
  
•  内部品質含めテストの品質要求を識別・定義	
設計	
 •  テスト要求からテスト実装まで合理的で	
  
一貫したアプローチを取る	
  
•  Ex)ゆもつよメソッド、HAYST法等	
  
•  保守性に優れた構造をテスト設計・実装で	
  
実現	
  
実装	
 •  保守性を支えるプログラミングテクニックの適用	
人	
問題	
 目標	
 方針	
環境	
問題	
 目標	
 方針	
アプローチ	
問題	
 目標	
 方針
ご清聴ありがとうございました
•  レガシーコード対応における
人
•  問題/目標/方針  
環境
•  問題/目標/方針  
開発のアプローチ
•  問題/目標/方針  
33

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

アジャイルメトリクス実践ガイド
アジャイルメトリクス実践ガイドアジャイルメトリクス実践ガイド
アジャイルメトリクス実践ガイド
 
ソフトウェアの品質保証の基礎とこれから
ソフトウェアの品質保証の基礎とこれからソフトウェアの品質保証の基礎とこれから
ソフトウェアの品質保証の基礎とこれから
 
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しようテスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
 
アジャイル品質パターン (Agile Quality, QA2AQ)
アジャイル品質パターン (Agile Quality, QA2AQ)アジャイル品質パターン (Agile Quality, QA2AQ)
アジャイル品質パターン (Agile Quality, QA2AQ)
 
Agile Quality アジャイル品質パターン (QA2AQ)
Agile Quality アジャイル品質パターン (QA2AQ)Agile Quality アジャイル品質パターン (QA2AQ)
Agile Quality アジャイル品質パターン (QA2AQ)
 
レガシーコードに向き合ってみた話
レガシーコードに向き合ってみた話レガシーコードに向き合ってみた話
レガシーコードに向き合ってみた話
 
テスト分析についての説明資料公開用
テスト分析についての説明資料公開用テスト分析についての説明資料公開用
テスト分析についての説明資料公開用
 
ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善
 
JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用
JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用
JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
backlogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見るbacklogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見る
 
みんなどんな書式でテストケース書いているの
みんなどんな書式でテストケース書いているのみんなどんな書式でテストケース書いているの
みんなどんな書式でテストケース書いているの
 
長田武徳, アジャイル開発と品質 ~ アジャイル品質パターンの利用事例
長田武徳, アジャイル開発と品質 ~ アジャイル品質パターンの利用事例長田武徳, アジャイル開発と品質 ~ アジャイル品質パターンの利用事例
長田武徳, アジャイル開発と品質 ~ アジャイル品質パターンの利用事例
 
What should you shift left
What should you shift leftWhat should you shift left
What should you shift left
 
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
 
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
 
5分で分かるアジャイルムーブメントの歴史 拡大版
5分で分かるアジャイルムーブメントの歴史 拡大版5分で分かるアジャイルムーブメントの歴史 拡大版
5分で分かるアジャイルムーブメントの歴史 拡大版
 
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるかTest Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
 
レビュー目的・観点設定の効果と課題
レビュー目的・観点設定の効果と課題レビュー目的・観点設定の効果と課題
レビュー目的・観点設定の効果と課題
 
テスト観点に基づくテスト開発方法論 VSTePの概要
テスト観点に基づくテスト開発方法論VSTePの概要テスト観点に基づくテスト開発方法論VSTePの概要
テスト観点に基づくテスト開発方法論 VSTePの概要
 

Destaque

Nyandoc: Scaladoc/Javadoc to markdown converter
Nyandoc: Scaladoc/Javadoc to markdown converterNyandoc: Scaladoc/Javadoc to markdown converter
Nyandoc: Scaladoc/Javadoc to markdown converter
tod esking
 
仕様変更で死なないためのユニットテスト
仕様変更で死なないためのユニットテスト仕様変更で死なないためのユニットテスト
仕様変更で死なないためのユニットテスト
tod esking
 

Destaque (10)

テストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jpテストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jp
 
レガシーコード改善のススメ
レガシーコード改善のススメレガシーコード改善のススメ
レガシーコード改善のススメ
 
納品のない受託開発を支える レガシーコードを作らない仕組み
納品のない受託開発を支える レガシーコードを作らない仕組み納品のない受託開発を支える レガシーコードを作らない仕組み
納品のない受託開発を支える レガシーコードを作らない仕組み
 
リーン開発の本質 公開用
リーン開発の本質 公開用リーン開発の本質 公開用
リーン開発の本質 公開用
 
Nyandoc: Scaladoc/Javadoc to markdown converter
Nyandoc: Scaladoc/Javadoc to markdown converterNyandoc: Scaladoc/Javadoc to markdown converter
Nyandoc: Scaladoc/Javadoc to markdown converter
 
概観テキストマイニング
概観テキストマイニング概観テキストマイニング
概観テキストマイニング
 
「レガシーコード」とはいったい?
「レガシーコード」とはいったい?「レガシーコード」とはいったい?
「レガシーコード」とはいったい?
 
精神論によるいきいきとした組織づくりのご提案
精神論によるいきいきとした組織づくりのご提案精神論によるいきいきとした組織づくりのご提案
精神論によるいきいきとした組織づくりのご提案
 
貧者のための入力デバイス
貧者のための入力デバイス貧者のための入力デバイス
貧者のための入力デバイス
 
仕様変更で死なないためのユニットテスト
仕様変更で死なないためのユニットテスト仕様変更で死なないためのユニットテスト
仕様変更で死なないためのユニットテスト
 

Semelhante a レガシーコードとの付き合い方とテストでの話

19-B-4 開発品質向上のための、ASQ/ALMソリューション
19-B-4 開発品質向上のための、ASQ/ALMソリューション19-B-4 開発品質向上のための、ASQ/ALMソリューション
19-B-4 開発品質向上のための、ASQ/ALMソリューション
Developers Summit
 
開発品質向上のための、ASQ/ALMソリューション ~品質向上策・活用していないのは何故ですか?~
開発品質向上のための、ASQ/ALMソリューション ~品質向上策・活用していないのは何故ですか?~開発品質向上のための、ASQ/ALMソリューション ~品質向上策・活用していないのは何故ですか?~
開発品質向上のための、ASQ/ALMソリューション ~品質向上策・活用していないのは何故ですか?~
mafujiwara
 
アジャイルテスト -高品質を追求するアジャイルチームにおけるテストの視点-
アジャイルテスト  -高品質を追求するアジャイルチームにおけるテストの視点-アジャイルテスト  -高品質を追求するアジャイルチームにおけるテストの視点-
アジャイルテスト -高品質を追求するアジャイルチームにおけるテストの視点-
Satoshi Masuda
 
アジャイル×テスト開発を考える
アジャイル×テスト開発を考えるアジャイル×テスト開発を考える
アジャイル×テスト開発を考える
yasuohosotani
 
テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門
Satoshi Watanabe
 
ヒンシツ大学セミナー ゴール指向の測定と品質保証活動 -メトリクス解説およびGqm法のワークショップ-
ヒンシツ大学セミナー ゴール指向の測定と品質保証活動 -メトリクス解説およびGqm法のワークショップ-ヒンシツ大学セミナー ゴール指向の測定と品質保証活動 -メトリクス解説およびGqm法のワークショップ-
ヒンシツ大学セミナー ゴール指向の測定と品質保証活動 -メトリクス解説およびGqm法のワークショップ-
Hironori Washizaki
 

Semelhante a レガシーコードとの付き合い方とテストでの話 (20)

テストを分類してみよう!
テストを分類してみよう!テストを分類してみよう!
テストを分類してみよう!
 
19-B-4 開発品質向上のための、ASQ/ALMソリューション
19-B-4 開発品質向上のための、ASQ/ALMソリューション19-B-4 開発品質向上のための、ASQ/ALMソリューション
19-B-4 開発品質向上のための、ASQ/ALMソリューション
 
開発品質向上のための、ASQ/ALMソリューション ~品質向上策・活用していないのは何故ですか?~
開発品質向上のための、ASQ/ALMソリューション ~品質向上策・活用していないのは何故ですか?~開発品質向上のための、ASQ/ALMソリューション ~品質向上策・活用していないのは何故ですか?~
開発品質向上のための、ASQ/ALMソリューション ~品質向上策・活用していないのは何故ですか?~
 
アジャイルテスト -高品質を追求するアジャイルチームにおけるテストの視点-
アジャイルテスト  -高品質を追求するアジャイルチームにおけるテストの視点-アジャイルテスト  -高品質を追求するアジャイルチームにおけるテストの視点-
アジャイルテスト -高品質を追求するアジャイルチームにおけるテストの視点-
 
AgileTourOsaka2011 関係者に理解してもらえるアジャイル開発にむけて
AgileTourOsaka2011 関係者に理解してもらえるアジャイル開発にむけてAgileTourOsaka2011 関係者に理解してもらえるアジャイル開発にむけて
AgileTourOsaka2011 関係者に理解してもらえるアジャイル開発にむけて
 
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
 
アジャイル×テスト開発を考える
アジャイル×テスト開発を考えるアジャイル×テスト開発を考える
アジャイル×テスト開発を考える
 
How to Develop Experiment-Oriented Programs
How to Develop Experiment-Oriented ProgramsHow to Develop Experiment-Oriented Programs
How to Develop Experiment-Oriented Programs
 
テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門
 
品質基礎知識
品質基礎知識品質基礎知識
品質基礎知識
 
SWEBOKにみるソフトウェアエンジニアリングの全体、および、 つながる時代のソフトウェアモデリング&品質
SWEBOKにみるソフトウェアエンジニアリングの全体、および、 つながる時代のソフトウェアモデリング&品質 SWEBOKにみるソフトウェアエンジニアリングの全体、および、 つながる時代のソフトウェアモデリング&品質
SWEBOKにみるソフトウェアエンジニアリングの全体、および、 つながる時代のソフトウェアモデリング&品質
 
ヒンシツ大学セミナー ゴール指向の測定と品質保証活動 -メトリクス解説およびGqm法のワークショップ-
ヒンシツ大学セミナー ゴール指向の測定と品質保証活動 -メトリクス解説およびGqm法のワークショップ-ヒンシツ大学セミナー ゴール指向の測定と品質保証活動 -メトリクス解説およびGqm法のワークショップ-
ヒンシツ大学セミナー ゴール指向の測定と品質保証活動 -メトリクス解説およびGqm法のワークショップ-
 
TDDはじめる前に
TDDはじめる前にTDDはじめる前に
TDDはじめる前に
 
Gui自動テストツール基本
Gui自動テストツール基本Gui自動テストツール基本
Gui自動テストツール基本
 
テスト計画の立て方 WACATE2019 夏
テスト計画の立て方 WACATE2019 夏テスト計画の立て方 WACATE2019 夏
テスト計画の立て方 WACATE2019 夏
 
ITS fidel
ITS fidelITS fidel
ITS fidel
 
ソフトウェアテストことはじめ2016年ver
ソフトウェアテストことはじめ2016年verソフトウェアテストことはじめ2016年ver
ソフトウェアテストことはじめ2016年ver
 
「トピックモデル」を使った「バグチケットの自動タグ付け」
「トピックモデル」を使った「バグチケットの自動タグ付け」「トピックモデル」を使った「バグチケットの自動タグ付け」
「トピックモデル」を使った「バグチケットの自動タグ付け」
 
モダンアジャイル - Agile Japan 2017 地方サテライト版 #agilejapan
モダンアジャイル - Agile Japan 2017 地方サテライト版 #agilejapanモダンアジャイル - Agile Japan 2017 地方サテライト版 #agilejapan
モダンアジャイル - Agile Japan 2017 地方サテライト版 #agilejapan
 
Et west テスト自動化_公開版
Et west テスト自動化_公開版Et west テスト自動化_公開版
Et west テスト自動化_公開版
 

Último

Último (11)

Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 

レガシーコードとの付き合い方とテストでの話