忍者式テスト
Webサイト:https://www.ninja-testing.com/
https://gyazo.com/0c5b203ebfd417c1a8ca5173f2ac314a
(初出スライドより借用)
咳によって提唱された受け入れテスト実行スタイルのプラクティス。
2004年のJaSSTとXP祭りで最初に発表された。
毎日、ストーリーの受け入れテストを実行する。TDDの受け入れテスト版。(ATDD)
忍者式の直接の由来はタケカワユキヒデの単語の勉強法から。
参考:https://twitter.com/m_seki/status/508957718531416064
初出:http://www.jasst.jp/archives/jasst04/pdf/A7ah.pdf
解説:http://www.druby.org/summer10x.pdf
手動で実施する
ストーリーのゴールをテストで記述
作ったらテストで確認する
受け入れ試験を全部やりなおして壊れてないことを確認
ペアテスト
ストーリーの意図を考えテストケースをアレンジ
実施時に内容を見直す
不具合はストーリーと同様に追加
対策後には確認のためのテストが追加される
毎日成長するテストを飛び続ける
@ledsunの解説
忍者式テストとは
2021年の説明
【iCARE Dev Meetup #22】開発者自身によるQAが開く未来 - connpass
https://www.youtube.com/watch?v=Z_N4PqcE3AU
発表資料
miwa(@miwa719)
#icare_meetup 『忍者式テストとテスターのロール』当日使用したスライドを公開しました!
https://t.co/SBBK6jFoN7 https://t.co/3X2s8KUcFN
https://twitter.com/miwa719/status/1407905147477368835
受け入れテスト
システム全体で結合した状態で試す
試すことのできないストーリーは作ることが許されない
ユーザーが使うのと同じように一連の流れで試す
ストーリーは着手してから2,3日でコミットするものが多い
ストーリーは、他のストーリーと関連し合っているので、システムとしてちゃんと動くことが必要
「受け入れ試験はストーリーの出発点。ストーリーを作っていく過程でずっと考え続ける。」
作るまえ、作っているとき、作ったあともずっと受け入れ試験で考えている
やり直す
ストーリーが増えるたびに、全てやり直す
手動でやっている
開発日記がある
変遷、うまくいかなかったこと、どうやりなおしたか、いつのどのストーリーでバグが出たか、など
ストーリーを読み直して、現在の頭で考えて、テストを実施する
当時のストーリーが今日のテストでどう壊せるか?
『ソフトウェア・テストの技法』のテストの定義の引用
全く同じテストをやり直しても、発見されていないエラーは発見されない
だから考え直して新しいテストをして、エラーを発見する
過去の膨大なテストのメンテナンスが、自然に行われる
誰がやるのか
2001年
毎日、全ストーリーの受け入れ試験を関がやり直す
プログラムを書かずにテストをやり続けた
その後、プログラマ全員が毎日1時間ずつやる時間割制に
問題を見つける能力が高くなる
「忍者式テストはプログラマが行うテストである」
プログラマのロール
欲しいものを実現する人たち
仕様を具体的にする
実装を考える
プログラムを書く・直す
テストをする(テストを「書く」のではない)
テスターなにしてんの?
プログラマより長い時間製品を触ることができる
テスターは全体を気にすることができる
koma.icon Janet Gregoryも同じこと言ってた!
全体的な手触り、仕様の差異
問題を見つける範囲が広い
テストが丁寧
「品質が大事」とか、「影響範囲が」という雑な話はしない
もっと詳細な話をしている
テスターは、「プログラムを書く・直す」がないだけ。プログラマとの違いはそこ。
2023年の説明
資料
Agile and Iterative Development: Lessons from 20 Years of Ninja-style Testing - Speaker Deck
https://www.youtube.com/watch?v=NW8vKNxcoks
Scrum Fest Mikawa2023栃木トラック
言及のある書籍
『ソフトウェアテスト徹底指南書』