Slide 1

Slide 1 text

⾃動テスト 2024-04-24 サイボウズ開運研修 ⽟⽊岳爾

Slide 2

Slide 2 text

はじめに ▌サイボウズの⾃動テスト周りの状況 l ⾃動テスト導⼊初期からずいぶん時間が経ち、⾃動テストの導 ⼊は⼀般的になってきた l ⾃動テストそのものは知っており、またそれを使うことはでき ているけれど、その先にある運⽤で苦労している 2

Slide 3

Slide 3 text

この資料の想定読者 ▌⾃動テストに携わるかもしれない、あるいは携わりたいので、⾃ 動テストの基本的な知識やお作法をおさえたい⽅ ▌⾃動テストを導⼊したい⽅ ▌⾃動テストの運⽤や改善もやっていきたい⽅ 3

Slide 4

Slide 4 text

この資料のスコープ ▌スコープ o ⾃動テストのメリット o ⾃動テストを使っていく上で⽴ちはだかる課題との向き合い ⽅ ▌スコープ外 o 特定のツールやソフトウェアの具体的な使い⽅ 4

Slide 5

Slide 5 text

⽬次 ▌1. ⾃動テストのメリット ▌2. ⾃動テストのメリットを体感してみよう ▌3. ⾃動テストの理想と現実 ▌4. ⾃動テストとうまく付き合いたい ▌5. まとめ ▌付録. 適切なタイミングで必要なテストをする 5

Slide 6

Slide 6 text

⾃動テストのメリット

Slide 7

Slide 7 text

2⾃動テストのメリットといえば、 どんなことがありますか︖

Slide 8

Slide 8 text

『iOSアプリ開発⾃動テストの教科書』 によると 8 参考: 『iOSアプリ開発⾃動テストの教科書』, 1-1 なぜ⾃動テストを実装するのか』 ▌早く実⾏できる ▌正確に実⾏できる o ⼈為的ミスや属⼈性の排除 ▌何度もくり返し実⾏できる ▌仕様書(⾃動テストが通れば、機能が担保されているという安⼼感)

Slide 9

Slide 9 text

⾃動テストのメリットは他にもあります 9 ▌⼿動回帰試験の⼯数/⼿間を減らすことができる o 時間のかかる⼿動テストの⼯数を確保することができる ▌テストのフィードバックを速く正確に得ることができる o 回帰試験であればデグレを速く検知したい、仕様通りに動くことを確 認することができる 参考: 筆者が社内にてヒアリング

Slide 10

Slide 10 text

⾃動テストのメリットを体 感してみよう

Slide 11

Slide 11 text

˞σϞಈըͳͲࣾ಺ͷΈެ։🙇

Slide 12

Slide 12 text

͍ͧ͢͝ɺɺʂࣗಈςετʂ ࣗಈςετΛಋೖ͑ͯ͞͠͠·͑͹ɺɺɻ

Slide 13

Slide 13 text

͍ͧ͢͝ɺɺʂࣗಈςετʂ ࣗಈςετΛಋೖ͑ͯ͞͠͠·͑͹ɺɺʁ

Slide 14

Slide 14 text

ࣗಈςετͷཧ૝ͱݱ࣮

Slide 15

Slide 15 text

⾃動テストの理想 15 ▌⾃動化すれば、⼯数が少なくなる

Slide 16

Slide 16 text

⾃動テストの理想 16 ▌⾃動化すれば、⼯数が少なくなる︖

Slide 17

Slide 17 text

⾃動テストの現実 17 ▌⾃動テストは仕様変更との戦い o ⾃動テストは仕様=期待結果が変わればその変更に追随しない かぎり落ちてしまう ▌仕様変更の⼀例 o 製品機能の変更 § 機能変更により、テストの⼿順⾃体の修正が必要 o 製品デザインの変更 § ボタンや⼊⼒欄の名称や位置が変更になったことによる修正 o ブラウザや端末のOSなど周辺ソフトウェアの仕様変更

Slide 18

Slide 18 text

⾃動テストの現実 18 ▌⾃動化すれば⼀概に⼯数が減るとはいえない o ⼿動テストの⼯数は減るかもしれないが、運⽤という⼯数が 増える

Slide 19

Slide 19 text

⾃動テストの現実 19 ▌⾃動化すればするほど⾃動テストが壊れるリスクは増え、仕様 変更との戦いは激しさを増す

Slide 20

Slide 20 text

テストの⾃動化は無駄︖〜テストがなかなか直せない 20 ⾃動化で⼯数削減できました︕ 動かない…直す時間がない… マテマテ… あれだけ⼯数かけて作った⾃動化がもう 使えないってこと︖ すごいじゃないか︕ テストを⾃動化するのはやめよう はい…しばらく⼿動テストで…

Slide 21

Slide 21 text

テストの⾃動化は無駄︖〜頻繁に動かなくなる 21 ⾃動化で⼯数削減できました︕ マテマテ… これ、平均すると⼿動テストより⼯数 かかってないか︖ すごいじゃないか︕ テスト⾃動化はやめてしまおう でも、動かないからメンテが必要なので…

Slide 22

Slide 22 text

Ή΍ΈʹࣗಈԽͯ͠΋ଓ͖·ͤΜ

Slide 23

Slide 23 text

2Ͳ͏͢Ε͹ࣗಈςετΛ ௕͘࢖͍ଓ͚ΒΕΔͷͰ͠ΐ͏͔ʁ

Slide 24

Slide 24 text

ࣗಈςετͱ͏·͘෇͖߹͍ͨ ͍

Slide 25

Slide 25 text

4. ⾃動テストとうまく付き合いたい 25 ▌テストピラミッドの「カタチ」を意識しよう ▌テストピラミッドの「⼤きさ」を意識しよう ▌⾃動化しないという選択もしよう ▌チーム全体で取り組もう

Slide 26

Slide 26 text

テストピラミッドとは、、︖

Slide 27

Slide 27 text

▌テストのピラミッドはMike Cohnの "Succeeding with Agile"[Coh09]で 最初に提唱されたモデル ▌UIテスト、結合テスト、ユニットテストの3つの異なる⾃動 テストがどのように互いに補完し合うかを⽰すもの テストピラミッドとは 27 UIテスト 結合テスト ユニットテスト ⼿動テスト ※ピラミッドの上部に「⼿動テスト」を記載する書き⽅もみられるが、 説明の便宜上、本講義資料でもそのように書く。 参考: 『初めての⾃動テスト ―Webシステムのための⾃動テスト基礎』, 1.4 テストのビラミッドに⼊り込む

Slide 28

Slide 28 text

テストピラミッドとは 28 テストの数 ユニットテスト 結合テスト UIテスト ⼿動テスト ⾼コスト 横に広いほどテスト の数が多く、 上にいくほどコスト がかかる(^1) ^1: コストがかかるとは、実⾏時間が⻑かったり、 不安定となりがちであるために⾃動テストの信頼 性を維持するコストがかかるということを指す 参考: 『初めての⾃動テスト ―Webシステムのための⾃動テスト基礎』, 1.4 テストのビラミッドに⼊り込む

Slide 29

Slide 29 text

2ࣗಈςετͷઓུΛߟ͑Δ͏͑Ͱɺ Ͳ͏ͯ͠ςετϐϥϛουͷ࿩୊͕ Α͕͋͘ΔͷͰ͠ΐ͏͔ʁ

Slide 30

Slide 30 text

▌Webアプリケーションのアーキテクチャはこの3層をベース としているため、テストピラミッドはテスト戦略と相性がよい どうしてテストピラミッドの話題がよくあがるのか︖ 30 参考: 『初めての⾃動テスト ―Webシステムのための⾃動テスト基礎』, 1.4.2 3つの層

Slide 31

Slide 31 text

UIテスト、結合テスト、ユニットテストの メリット、デメリットをみていきましょう

Slide 32

Slide 32 text

テストピラミッドの3層の解説 – UIテスト 32 参考: 『初めての⾃動テスト ―Webシステムのための⾃動テスト基礎』, 1.5 Ulテスト UIテスト 結合テスト ユニットテスト ✓ エンドツーエンド/E2E ✓ ユーザーと同じ操作でテスト ☓ 時間がかかる、不安定

Slide 33

Slide 33 text

テストピラミッドの3層の解説 – 結合テスト 33 参考: 『初めての⾃動テスト ―Webシステムのための⾃動テスト基礎』, 1.6 結合テスト UIテスト 結合テスト ユニットテスト ✓ 複数のモジュールを組み合わせて⾏う ✓ 壊れやすいUI層に左右されない安定さ ☓ ユニットテストほど問題のある場所を 詳細に教えてくれない/「何か」が壊れて いる

Slide 34

Slide 34 text

テストピラミッドの3層の解説 – ユニットテスト 34 参考: 『初めての⾃動テスト ―Webシステムのための⾃動テスト基礎』, 1.7 ユニットテスト UIテスト 結合テスト ユニットテスト ✓ あるクラスや構造体などのあるひとつ の部品、ユニットに対して⾏う ✓ どこで落ちているか速く正確にフィー ドバックを返してくれる ☓ ユニットの結合部分の確認が苦⼿

Slide 35

Slide 35 text

4. ⾃動テストとうまく付き合いたい 35 ▌テストピラミッドの「カタチ」を意識しよう ▌テストピラミッドの「⼤きさ」を意識しよう ▌⾃動化しないという選択もしよう ▌チーム全体で取り組もう

Slide 36

Slide 36 text

テストピラミッドの「カタチ」 を意識しよう 36 ▌テストピラミッドの下層のテストは上層でもでき、より網羅的 にテストできる ▌すべてのテストをUIテストでまかなえばよいのでは、、︖ UIテスト 結合テスト ユニットテスト

Slide 37

Slide 37 text

再掲)テストピラミッドとは 37 テストの数 ユニットテスト 結合テスト UIテスト ⼿動テスト ⾼コスト 横に広いほどテスト の数が多く、 上にいくほどコスト がかかる(^1) ^1: コストがかかるとは、実⾏時間が⻑かったり、 不安定となりがちであるために⾃動テストの信頼 性を維持するコストがかかるということを指す 参考: 『初めての⾃動テスト ―Webシステムのための⾃動テスト基礎』, 1.4 テストのビラミッドに⼊り込む

Slide 38

Slide 38 text

なぜUIテストはコストが⾼いといわれるのか 38 テスト︕︕ テストが⻑く フィードバッ クが遅い テストが 落ちる (テストをな おすのも時 間がかかる) 再テストする ためにビルド ▌テストがよく落ちる のでテストが通りに くい ▌テストのフィード バックも遅いのでCI 全体の実⾏時間も⻑ くなり、デリバリー も遅くなる 参考: 『初めての⾃動テスト ―Webシステムのための⾃動テスト基礎』, 8.4 UIテストヘ到達する, 8.5 逆ピラミッド, 8.6 不安定なテストの扱い⽅

Slide 39

Slide 39 text

テストピラミッドの「カタチ」 を意識しよう 39 ▌テストピラミッドの下層のテストは上層でもでき、より網羅的 にテストできる ▌すべてのテストをUIテストでまかなえばよいのでは、、︖ ▌UIテストばかりだとコストがかかりすぎてしまう😇 l 遅い、不安定 参考: 『初めての⾃動テスト ―Webシステムのための⾃動テスト基礎』, 8.4 UIテストヘ到達する, 8.5 逆ピラミッド, 8.6 不安定なテストの扱い⽅

Slide 40

Slide 40 text

͋͑ͯɺ6*ςετ΍खಈςετΛ ଟΊʹ͢Δέʔε΋͋Γ·͢

Slide 41

Slide 41 text

アイスクリームコーン型 41 テストの数 ⾼コスト UIテスト ⼿動テスト 結合テスト ユニットテスト Լ૚ʹߦ͘΄Ͳ ্૚ʹߦ͘΄Ͳ テストの数が多い 参考: 『初めての⾃動テスト ―Webシステムのための⾃動テスト基礎』, 8.4 UIテストヘ到達する, 8.5 逆ピラミッド, 8.6 不安定なテストの扱い⽅

Slide 42

Slide 42 text

アイスクリームコーン型 42 テストの数 ⾼コスト UIテスト ⼿動テスト 結合テスト ユニットテスト 例)テスト対象のアプ リケーションがモノリ シック/密結合でユニッ トテストが書きにくい ケース 参考: 『初めての⾃動テスト ―Webシステムのための⾃動テスト基礎』, 8.4 UIテストヘ到達する, 8.5 逆ピラミッド, 8.6 不安定なテストの扱い⽅

Slide 43

Slide 43 text

͋͑ͯɺ6*ςετ΍खಈςετΛ ଟΊʹ͢Δέʔεɻ ଞʹ΋͋Δ͔΋͠Ε·ͤΜΑɺɺʁ

Slide 44

Slide 44 text

UIテスト 結合テスト ユニットテスト テストピラミッドの「カタチ」 を意識しよう 44 ▌テストはできるだけ下層でカ バーする l UIテストよりユニットテスト l 結合テストはユニットテストでできなければ ▌ただし、戦略的にUIテストや ⼿動テストを多くするケースも ある 参考: 『初めての⾃動テスト ―Webシステムのための⾃動テスト基礎』, 8.4 UIテストヘ到達する, 8.5 逆ピラミッド, 8.6 不安定なテストの扱い⽅

Slide 45

Slide 45 text

4. ⾃動テストとうまく付き合いたい 45 ▌テストピラミッドの「カタチ」を意識しよう ▌テストピラミッドの「⼤きさ」を意識しよう ▌⾃動化しないという選択もしよう ▌チーム全体で取り組もう

Slide 46

Slide 46 text

テストピラミッドの「⼤きさ」を意識しよう 46 ▌そのテスト、必要ですか︖

Slide 47

Slide 47 text

品質は⾼ければ⾼い⽅がいい︖ 47 常に最⾼品質であるべきだ︕

Slide 48

Slide 48 text

࣮ߦͰ͖Δςετ͕͔ͭ͠ͳ͍ͱͨ͠Βɺ ͲͷςετΛબͿ͔ 参考: 『LEADING QUALITY』,第6章 継続的テストとフィードバックループ

Slide 49

Slide 49 text

テストピラミッドの「⼤きさ」を意識しよう 49 ▌テストにかけられる時間は無限ではない ▌そもそも時間をかければ品質は上がるのか︖ l いくら時間をかけても100%になることはない

Slide 50

Slide 50 text

テストピラミッドの「⼤きさ」を⼩さくするアイデア 50 ▌「必要なテスト」を実施する

Slide 51

Slide 51 text

テストピラミッドの「⼤きさ」を⼩さくするアイデア 51 ▌「必要なテスト」を実施する l 修正の影響を⾒極め、影響のある部分だけテストする

Slide 52

Slide 52 text

テストピラミッドの「⼤きさ」を⼩さくするアイデア 52 参考: 『初めての⾃動テスト ―Webシステムのための⾃動テスト基礎』, 10.3 コンテキストを明確にする ▌重複/似ているテストを⾒つけるため、テストのコンテキストを 切り直す(分類⽅法を⾒直す) UIテスト 結合テスト ユニットテスト 画⾯ごと、ユーザーの動作⼿順 サービス、APIエンドポイント クラス、インタフェース

Slide 53

Slide 53 text

2ςετͷίϯςΩετɺ෼ྨํ๏͸ ͍ͭɺݟ௚͢΂͖Ͱ͠ΐ͏͔ʁ

Slide 54

Slide 54 text

ղ౴ྫ طଘػೳͷվमΛػʹςετΛ௥Ճ͢Δͱ͖

Slide 55

Slide 55 text

2ίϯςΩετΛݟ௚ͯ͠΋ɺΞϓϦέʔγϣϯͷػ ೳ͸૿͑ΔҰํͳͷͰςετϐϥϛου͕େ͖͘ͳͬͯ ͍͖·͢ɻෆ҆ఆͳςετ΋૿͑·͢ɻݶΒΕͨ޻਺ͷ ͳ͔ͰͲ͏΍ͬͯςετ͍͚ͯ͠͹Α͍ͷͰ͠ΐ͏͔ʁ

Slide 56

Slide 56 text

4. ⾃動テストとうまく付き合いたい 56 ▌テストピラミッドの「カタチ」を意識しよう ▌テストピラミッドの「⼤きさ」を意識しよう ▌⾃動化しないという選択もしよう ▌チーム全体で取り組もう

Slide 57

Slide 57 text

lۭ͍ͨළʹ͸େ͖ͳੴ͔ΒೖΕ·͠ΐ͏z イラストの出所: https://www.irasutoya.com/2019/04/blog-post_23.html

Slide 58

Slide 58 text

限られた⼯数の中で何を優先するか︖ 58

Slide 59

Slide 59 text

限られた⼯数の中で何を優先するか︖ 59 ▌メンテナンス頻度が少ないテスト l 「枯れた」テストであれば、変更の可能性が低い ▌頻繁に繰り返し実施されるテスト l 利⽤頻度が⾼いということは、それだけ⼯数を削減している ▌作成・メンテナンス難易度が低いテスト l 作成・メンテナンスに⼯数をかけない

Slide 60

Slide 60 text

限られた⼯数の中で何を優先するか︖ 60 ▌メンテナンス頻度が少ないテスト l 「枯れた」テストであれば、変更の可能性が低い ▌頻繁に繰り返し実施されるテスト l 利⽤頻度が⾼いということは、それだけ⼯数を削減している ▌作成・メンテナンス難易度が低いテスト l 作成・メンテナンスに⼯数をかけない

Slide 61

Slide 61 text

限られた⼯数の中で何を優先するか︖ 61 ▌メンテナンス頻度が少ないテスト l 「枯れた」テストであれば、変更の可能性が低い ▌頻繁に繰り返し実施されるテスト l 利⽤頻度が⾼いということは、それだけ⼯数を削減している ▌作成・メンテナンス難易度が低いテスト l 作成・メンテナンスに⼯数をかけない

Slide 62

Slide 62 text

限られた⼯数の中で何を優先するか︖ 62 ▌メンテナンス頻度が少ないテスト l 「枯れた」テストであれば、変更の可能性が低い ▌頻繁に繰り返し実施されるテスト l 利⽤頻度が⾼いということは、それだけ⼯数を削減している ▌作成・メンテナンス難易度が低いテスト l 作成・メンテナンスに⼯数をかけない

Slide 63

Slide 63 text

『LEADING QUALITY』 によると 63 参考: 『LEADING QUALITY』,第4章 ⼿動テストと⾃動テスト "テストを⼿動で⾏うよりも⾃動化したほうが有効となる要素が主に3つあ ると結論づけられた。 1.⾃動化されたテストケースが変更の⼿を⼊れることなく⻑期にわたっ て利⽤できると期待できること。 2.テストケースが⽐較的⾃動化しやすいものであること。すなわち、細 部にわたる操作を必要としない⼿動テストから⽣成できるか。⼿順が複雑 になるほど、⾃動化は著しく困難になる。 3.⼿動で実施するよりも⾃動化して実施および維持するコストのほうが 安いこと。"

Slide 64

Slide 64 text

4. ⾃動テストとうまく付き合いたい 64 ▌テストピラミッドの「カタチ」を意識しよう ▌テストピラミッドの「⼤きさ」を意識しよう ▌⾃動化しないという選択もしよう ▌チーム全体で取り組もう

Slide 65

Slide 65 text

テスト⾃動化は独りでもできるけど… 65 ▌独りで作れるが、独りで維持は難しい o 独りで「熱」を維持するのは難しい o ⾃分の⼯数は無限ではない

Slide 66

Slide 66 text

テスト⾃動化はQAだけでもできるけど… 66 ▌E2Eテストの⾃動化は壊れやすい o 後半⼯程のテストは変化の影響を受けやすく、壊れやすい o E2Eテストを⾃動化するよりも、E2Eテストを他の⼯程でカ バーした⽅がより効率的 o 前半⼯程のテストをするには、開発者の協⼒が不可⽋ ▌推進する⼈が異動や退職でいなくなる

Slide 67

Slide 67 text

チーム全体で取り組もう 67 ▌チームでなければできないことがある o チームを俯瞰した効率化 § チームによって、効率化できるポイントは異なる § チームの構成、スキルにより最適な⽅法は異なる o 協⼒体制を作る § 各⼯程のテスト実施には、チームの協⼒が不可⽋ § 特定の⼯程だけでテストを効率化するのは限界がある o ⼈に依存しないための協⼒体制 § チーム全体で⾃動化のメリットを理解し、協⼒を得られなければ誰かに依 存した体制になってしまう

Slide 68

Slide 68 text

⾃動テストのメリットを共有しよう 68 ▌メリットをチーム全体で理解しよう o メリットを理解してもらえないと、⼯数を確保できない o メリットを感じられないと、モチベーションも持たない o QAだけで⼯数を削減しようとしても効果は薄い o 現場だけではなく、上層部にも理解してもらう

Slide 69

Slide 69 text

チームにあった⾃動テストツールを選定しよう 69 ▌⾃動テストツールの選択基準 o テストピラミッドなどテスト戦略に基づいて § 「⾃動化しない」「あえてE2Eテストを⾃動化」もあり o チームメンバーの構成⼈数や内訳 § 例)⾃動テストツールの利⽤者⽬線 ▌ ⾃動テストツールでテストケースを作る⼈ ▌ 壊れたテストケースを直す⼈ § ⾃動テストツールの実⾏結果がわかればいい⼈ o 製品の開発サイクル § 例)アジャイル

Slide 70

Slide 70 text

·ͱΊ

Slide 71

Slide 71 text

5. まとめ ▌⾃動テストにはたくさんのメリットがあります。 ▌ただし、⾃動テストはあくまでもテストを効率的に進める⼿段のひ とつにすぎません。 ▌プロダクトの成⻑を⽀えるためには、⾃動テストとうまく付き合っ ていかなければなりません。 l どこで、だれが、どうやってテストしますか︖ l テストピラミッドをチーム⼀丸で作り上げていますか︖ 71

Slide 72

Slide 72 text

Slide 73

Slide 73 text

͔͜͜ΒͷεϥΠυ͸ʮࣗಈςετʯͱ͍͏ߨٛͷςʔ Ϛ͔Β͸ͣΕ·͕͢ɺʮフィードバックを速く正確に得 ることができる ʯͱ͍͏ࣗಈςετͷϝϦοτ͸ࣗಈ ςετҎ֎ͷ΍Γ͔ͨͰ΋ಘΔ͜ͱ͕Ͱ͖Δͱ͍͏ɺຊ ߨٛʹؔ࿈͢Δ࿩୊Λѻ͍·͢🙇

Slide 74

Slide 74 text

付録. 適切なタイミングで必要 なテストをする

Slide 75

Slide 75 text

再掲)⾃動テストのメリットは他にもあります 75 ▌⼿動回帰試験の⼯数/⼿間を減らすことができる o 時間のかかる⼿動テストの⼯数を確保することができる ▌テストのフィードバックを速く正確に得ることができる o 回帰試験であればデグレを速く検知したい、仕様通りに動くことを確 認することができる 参考: 筆者が社内にてヒアリング

Slide 76

Slide 76 text

付録. 適切なタイミングで必要なテストをする 76 出所: 『Agile Testing Condensed Japanese Edition』,第 1 章:アジャイルテストが意味するものは何か? , 図: DevOps における継続的テストのループ

Slide 77

Slide 77 text

付録. 適切なタイミングで必要なテストをする 77 ▌この料理に含まれる塩分量を調べなさい イラストの出所: https://www.irasutoya.com/2012/03/blog-post_8800.html

Slide 78

Slide 78 text

付録. 適切なタイミングで必要なテストをする 78 ▌料理を作成する⼯程 作るものを 決める レシピを 決める 材料を ⽤意 調理 盛り付け

Slide 79

Slide 79 text

付録. 適切なタイミングで必要なテストをする 79 ▌完成した料理に含まれる塩分量を調べるのはたいへん💦 作るものを 決める レシピを 決める 材料を ⽤意 調理 盛り付け 1.⾷品のサンプルをミキサーにかける 2.専⽤の分析器に⼊れる 3.偏りがないように、複数のサンプルを調査 ✓ イラストの出所: https://www.irasutoya.com/2015/03/blog-post_90.html

Slide 80

Slide 80 text

付録. 適切なタイミングで必要なテストをする 80 ▌もし、材料を⽤意した段階で確認できれば︖ 作るものを 決める レシピを 決める 材料を ⽤意 調理 盛り付け ✓ イラストの出所: https://www.irasutoya.com/2020/12/blog-post_29.html

Slide 81

Slide 81 text

付録. 適切なタイミングで必要なテストをする 81 ▌ただし、調理する段階で塩を⼊れ忘れるかもしれない 作るものを 決める レシピを 決める 材料を ⽤意 調理 盛り付け 😇 ✓ イラストの出所: https://www.irasutoya.com/2020/12/blog-post_29.html

Slide 82

Slide 82 text

付録. 適切なタイミングで必要なテストをする 82 ▌そこで、「盛り付け」で味⾒もする 作るものを 決める レシピを 決める 材料を ⽤意 調理 盛り付け 😇 ✓ ✓ イラストの出所: https://www.irasutoya.com/2020/12/blog-post_29.html, https://www.irasutoya.com/2013/12/blog-post_3932.html

Slide 83

Slide 83 text

付録. 適切なタイミングで必要なテストをする 83 ▌もし、「レシピを決める」段階でレシピに書かれた塩の分量が正し いか確認していたら・・・ 作るものを 決める レシピを 決める 材料を ⽤意 調理 盛り付け ✓ ✓ ✓ イラストの出所: https://www.irasutoya.com/2015/10/blog-post_944.html, https://www.irasutoya.com/2020/12/blog-post_29.html, https://www.irasutoya.com/2013/12/blog-post_3932.html

Slide 84

Slide 84 text

再掲)付録. 適切なタイミングで必要なテストをする 84 出所: 『Agile Testing Condensed Japanese Edition』,第 1 章:アジャイルテストが意味するものは何か? , 図: DevOps における継続的テストのループ

Slide 85

Slide 85 text

参考資料 85 ▌平⽥敏之,細沼祐介.『iOSアプリ開発⾃動テストの教科書』. 技術評論社 . 2019 ▌Jonathan Rasmusson著, ⽟川 紘⼦訳.『初めての⾃動テスト ―Webシス テムのための⾃動テスト基礎』.オライリージャパン. 2017 ▌Ronald Cummings-John, Owais Peer著, 河原⽥ 政典訳. 『LEADING QUALITY 』. KADOKAWA. 2023 ▌Janet Gregory, Lisa Crispin著, Yuya Kazama訳. 『Agile Testing Condensed Japanese Edition』. Leanpub. 2020 ▌Continuous Testing in DevOps… – Dan Ashby . https://danashby.co.uk/2016/10/19/continuous-testing-in-devops (2024/04/24閲覧)