diff --git a/README.md b/README.md index 5bf08a1..42adcd9 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,10 @@ WebDINO Japan シニアエンジニア ## ソフトウェアテストの実践 +- 自動テスト +- テスト駆動開発 +- 継続的インテグレーション・継続的デリバリー + --- ## 自動テスト @@ -142,14 +146,35 @@ test("西暦年号が4で割り切れる年はうるう年", () => { --- -## 「なぜ繰り返しテストを行うか」 +## 世界は不確実 -現代のソフトウェア開発においてこの問い自体あまり重要でなくなった +![bg right:62% 将来ほど予報円が大きく予測困難](https://www.jma.go.jp/jma/kishou/know/typhoon/7-1-1.png) -なぜなら + -- すばやく変化に対応し続けるアジャイルの考え方は技術の進展とともに浸透 -- 一方でリリースして終了というウォーターフォール型のプロジェクトは衰退 +将来ほど予測困難 + +--- + +## ソフトウェア開発は不確実 + +コストは予測困難 + +![bg right:60% fit Barry W. Boehm (1984)](https://i.gyazo.com/81c2b1a3fdd1eb46ee4f612bd6bef742.png) + + + +--- + +## 現代のソフトウェア開発 + +- **変化の加速**: 技術革新や市場の需要は急速に変化しており予測可能性は低下 +- **エコシステムの複雑化**: マイクロサービス、クラウド、モバイル、IoTなど、多様な技術が絡み合うことで、システム全体の複雑さは増加 +- **利用者中心の要求**: ユーザーエクスペリエンスの重要性が高まり、迅速なフィードバックループを通じた継続的な改善が求められるように + +なぜテストを行うか + +- より良い品質の製品を提供するために、品質を見極め、改善し続けるため