Slide 1

Slide 1 text

WACATE 2022 SUMMER WACATE 2022 夏 ワークショップの⽬的

Slide 2

Slide 2 text

⾃⼰紹介 名前 ⾓⽥ 俊 お仕事 ソフトウェア開発エンジニア & QAエンジニア Twitter imtnd コミュニティ活動 WACATE実⾏委員など

Slide 3

Slide 3 text

テストとは テスト 静的テスト 動的テスト • ドキュメントレビュー • 設計レビュー • ソースコードレビュー • ソースコードの静的解析 • コンポーネントテスト (ユニットテスト) • 統合テスト • システムテスト • 受け入れテスト

Slide 4

Slide 4 text

要求、要件の検証 基本機能の検証 論理の検証 V字モデル 要件定義 基本設計 詳細設計 開発 コンポーネント テスト 統合テスト システムテスト 受入テスト

Slide 5

Slide 5 text

テスト活動 静的テスト活動 動的テスト活動 完了 完了

Slide 6

Slide 6 text

⽋陥検出と修正コスト JASPIC SPIJapan2009 奈良隆正「ソフトウェア品質保証の方法論、技法、その変遷」, http://www.jaspic.org/event/2009/SPIJapan/keynote/SJ9keynote.pdf, (2022/06/05)

Slide 7

Slide 7 text

Wモデル • 初出は1993年くらいで、テスト活動を早期に開始するという考え⽅の⼀つ • テスト活動もV字モデルとして捉え、2つのV字を並べたモデル The W-MODEL – Strengthening the Bond Between Development and Test. https://www.stickyminds.com/sites/default/files/article/file/2014/The%20W%20Model%20-%20Strengthening%20the%20Bond%20Between%20Development%20and%20Test.pdf, (2022/06/05)

Slide 8

Slide 8 text

テストのシフトレフト • 2001年くらいから概念が登場している https://www.drdobbs.com/shift-left-testing/184404768 • テスト活動がボトルネックにならないように、テスト活動を開発プロセスの⼀部として早期に開始する考え⽅ トラディショナルシフトレフトテスティング インクリメンタルシフトレフトテスティング アジャイル/DevOpsシフトレフトテスティング モデルベースシフトレフトテスティング Four Types of Shift Left Testing, https://insights.sei.cmu.edu/blog/four-types-of-shift-left-testing/, (2022/06/05)

Slide 9

Slide 9 text

テストファーストアプローチ • TDD(テスト駆動開発)を始めとした、 設計を助けるためにテストを活⽤するというアプローチ • TDD(テスト駆動開発) • BDD(ビヘイビア駆動開発) • ATDD(受け⼊れ駆動開発) 要件をもとに 失敗するテストを書く (これから実装するこ とを定義する) テストが通るように実 装を行う テストが通ることを維 持しつつ リファクタリングする

Slide 10

Slide 10 text

ホリスティックテスティング アジャイルQAに求められるプロセス全体を俯瞰する「ホリスティックテスティング」とは何か?(翻訳) , https://daipresents.com/2022/05/09/testing-from-a-holistic-point-of-view/, (2022/06/05)

Slide 11

Slide 11 text

Whole Team • プロジェクトを成功させるために必要なスキルや視点を持った⼈を集める • チームはおおよそ10名以下の⼩さなチーム • 以下のような「チーム」感を構築する • 我々は、帰属している • 我々は、⼀緒の仲間である • 我々は、お互いに仕事、成⻑、学習を⽀え合っている Kent Beck, 角 征典(翻訳), 『エクストリームプログラミング』, オーム社, 2015, P36 Yes, Cross-functional Teams — but Real Ones!, https://www.agilealliance.org/yes-cross-functional-teams-but-real-ones/, (2022/06/05)

Slide 12

Slide 12 text

テストを取り巻く環境の変化 開発が完了してから テストに着手する テストフェーズは 設計フェーズから 独立している 開発者とテスト担当者 が異なるチーム 旧来の方式 最近の方式 テストに早期に 着手する テストフェーズと 設計フェーズが 混在した開発プロセス 色々なロールの人が 一つのチームで 協力しあう

Slide 13

Slide 13 text

品質観点のスペシャリティ • リスク • プロダクトリスク、プロジェクトリスクの検討 • 顧客、ビジネスへのリスクの特定 • 顧客、ビジネスへの影響を考慮したリスク評価 • 品質 • プロダクト品質、プロジェクト品質の検討 • テスト • テストプロセスの整備 • テスト観点の効果的、網羅的な検討 • リスクを考慮したテストの優先度付け、スコープ設定、カバレッジ設定 • テスト設計技術 • テストツールの知識 • ⽋陥マネジメントの知識

Slide 14

Slide 14 text

これからのエンジニアに求められるもの • 少数チームに⼊り、同じ⽬標を達成するための戦⼒となる • 旧来の受け⾝の活動だけではない • I型⼈材 → T型⼈材 Who are the Professional Scrum Developers?, https://www.scrum.org/resources/blog/who-are-professional-scrum-developers, (2022/06/05)

Slide 15

Slide 15 text

受け⾝ではなく、積極的な⾏動へ 要件定義 基本設計 詳細設計 開発 コンポーネント テスト 統合テスト システムテスト 受入テスト 全てのフェーズにおいて、考え、生み出せるスキルが必要

Slide 16

Slide 16 text

今回のワークの対象 要件定義 基本設計 詳細設計 開発 コンポーネント テスト 統合テスト システムテスト 受入テスト

Slide 17

Slide 17 text

まとめ • ソフトウェア開発におけるテスト活動が変化してきている • テスト活動の早期な着⼿ • 明確に開発フェーズとテストフェーズが分かれていない開発プロセス • 少数チームによるソフトウェア開発 • 今後は全てのフェーズにおいて積極的な活動が重要になる • 今回のワークショップのスコープ • 要件定義 • システムテスト(受け⼊れテスト)