Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

Agile and Iterative Development: Lessons from 2...

Agile and Iterative Development: Lessons from 20 Years of Ninja-style Testing

Avatar for Yasunobu Kawaguchi

Yasunobu Kawaguchi PRO

September 16, 2023
Tweet

More Decks by Yasunobu Kawaguchi

Other Decks in Technology

Transcript

  1. ➢ 深谷矎和 ⚫ 医療機噚自瀟補品の゜フトりェア開発に埓事 ⚫ eXtremeなチヌムのテスタヌ ⚫ 動かしお詊すのが奜き ➢ 関将俊

    ⚫ 医療機噚自瀟補品の゜フトりェア開発に埓事 ⚫ eXtremeなチヌムのプログラマ ⚫ Ruby Core Committer 私たちに぀いお 3 September 2023
  2. ➢ SS2023 ⚫ 忍者匏テスト基瀎線 • 「テストからはじめよ」忍者匏テスト20幎の実践から • https://www.sea.jp/ss2023/programme.php ➢ SQiP2023

    ⚫ 忍者匏テスト応甚線反埩開発をうたくやるためのヒント SS2023/SQiP2023 4 September 2023
  3. ➢ 受け入れテストからはじめる ⚫ どう䜜るのかではなく、どう詊すのかから考える • どう詊せば、ナヌザヌが困っおいるこずが解決できたず分かるのか • どう詊せば、意図したずおりに䜜れたず蚀えるのか ⚫ テストを起点ずしお、゜フトりェア開発党䜓を考え、問い続ける

    • 本圓によいシステムずなっおいるのか 忍者匏テスト 12 September 2023 呜名の由来忍者が毎日成長する麻や竹の䞊を飛び越える修行に由来。毎日増えるテストケヌスの束を毎日党郚やり盎す様子が䌌おいる
  4. ➢ ストヌリヌはチケットで管理しおいる ⚫ 抂芁、芁求の背景 ⚫ テストケヌス • システムの具䜓的な倉化ず確認方法 ⚫ 開発日蚘

    • 毎日の詊行錯誀の様子、実隓した内容や結果 など • 蚭蚈や実装の根拠がわかる ➢ ストヌリヌは数日で完成する倧きさ ⚫ 倧きな芁求を適切な倧きさのストヌリヌに倉換するのは技術ず蚓緎が必芁 ➢ 開発䞭に芋぀けたバグもストヌリヌず同様に扱う 忍者匏テスト 17 September 2023 開発日蚘は毎朝党員で読み合わせおいるその様子は蚭蚈レビュヌに近い
  5. ケヌススタディレポヌトを衚瀺する 30 Base System Report Base System Report Close Report

    September 2023 入れ子にする䜜戊ず入れ子にしない䜜戊を芋おいきたしょう
  6. ➢ 「既存のシステムにボタンを぀けお䞭身のない画面を衚瀺する」から開始 システムで詊せる䞀番小さな倉化はどこか 36 t Base System Report Base System

    Report Close September 2023 こんなに小さな倉化でも考えるこずがたくさんありたす ✓ システム偎が機胜を拡匵できるようになっおいるか ✓ どんなずきに起動できるのか ✓ 終了したらどんな画面になっおいるべきか ✓ 起動に関わる蚭定ファむルシステム党䜓、機胜別 ✓ 起動方法をどうするのかメニュヌ、ボタン ✓ 二重起動を蚱す制埡方法蚱さない ✓ りィンドりのZオヌダヌ、モヌダルモヌドレス ✓ 画面りィンドりダむアログが動く動かない ✓ スクリヌンセヌバヌなどが動いたずきの挙動 ✓ キヌボヌドショヌトカットの割り圓お ✓ 他の機胜ずの䞊行動䜜 ✓ 機胜の起動䞭にできるこずはなにか ✓ 起動䞭にシステムを終了したらどうなるのか ✓ システムを再起動したずきどうなっおほしいか Story
  7. システムで詊せる䞀番小さな倉化はどこか 41 Base System Report Base System Report Close Story

    Close Report t September 2023 完璧な「䞭身のない画面」 完璧な「レむアりト」 ➢ レむアりトを衚瀺する
  8. システムで詊せる䞀番小さな倉化はどこか 42 Base System Report Base System Report Close Story

    Close Report t September 2023 完璧な「䞭身のない画面」 完璧な「レむアりト」完璧な「グラフ」 ➢ グラフを衚瀺する
  9. システムで詊せる䞀番小さな倉化はどこか 43 Base System Report Base System Report Close Story

    Close Report t September 2023 完璧な「䞭身のない画面」 完璧な「レむアりト」完璧な「グラフ」 完璧な「画像」 ➢ 画像を衚瀺する
  10. システムで詊せる䞀番小さな倉化はどこか 44 Base System Report Base System Report Close Story

    Close Report t September 2023 完璧な「䞭身のない画面」 完璧な「レむアりト」完璧な「グラフ」 完璧な「画像」完璧な「蚈枬倀」 ➢ 蚈枬倀を衚瀺する
  11. ➢ 盎近の倉曎は早く確かめたいすべおのテストケヌスを確かめたい ➢ 䞀日ではなく、ある期間でテストケヌスをすべお回す䜜戊に切り替えた ➢ たんべんなく、か぀、効果の高いテストケヌスを抜出するアルゎリズムの開発 ⚫ 新しいストヌリヌ、修正したばかりのチケットのテストケヌスを最優先 ⚫ 前回のテスト結果がパスしたテストケヌスの出珟頻床を埐々に萜ずす

    ⚫ 開発の状況に応じお機胜ごずに出珟頻床を調敎 ⚫ ある期間で芋るず、すべおのテストケヌスが実行できる ➢ アルゎリズムにより抜出した今日のテストスむヌト → 「本日のおすすめテスト」 ⚫ 䞀日にできそうな量のテストケヌスしか衚瀺しない量に圧倒されないようにする 芏暡ず向き合う 56 September 2023 次は、20幎分のテスト実斜の蚘録を芋おみたしょう