2012/11/17 Ultimate Agilist Tokyo - アジャイル開発における、システムテストの自動化 #uatagile #uatagileB
#uatagile #uatagileB "開発ガイドラインに 「テスト自動化を追求する」 と記述する"
2012-11-17 16:33:39必要であればどんどん自分達でツールを作る ユーザに不要でもあればテストしやすい機能は作っちゃう => わりと反発がくる、、ので 開発ガイドラインに"テストの自動化を追求します"って書いちゃう #uatagile #uatagileB
2012-11-17 16:34:29今日は西河さんと書いているアジャイル入門書籍のイラスト案(西河画伯作)を資料に使いました。午前中できたてほやほや。参加してくださった方だけの特権! 価値駆動をコアにしたアジャイル入門書はAgile Japanまでにはお目見え予定です。 #uatagile #uatagileB
2012-11-17 16:34:56時間を外部から制御可能にする。#uatagile #uatagileB ユニットテストでも一緒ですね。「依存性は外部から注入する」みたいな。
2012-11-17 16:36:39コピーペーストすると似たようなコードが増える 同じようなテストをかかないといけなくてカバー率がなかなかあがってこない (やれやれ、的な) #uatagile #uatagileB
2012-11-17 16:38:03システムテスト自動化をやるには、まずコードの重複を無くすことが重要。同じテストを何個も作らないといけなくなるので #uatagileB
2012-11-17 16:38:42システムテスト自動化について テスト容易性を追求した設計を行う。重複を避けるDRY。GUIでしか実行できない機能をできるだけ作らない←おっとCapybaraの存在をお知らせしないと #uatagile #uatagileB
2012-11-17 16:38:47「ちゃんとDRYな設計実装にしてテスタビリティをあげる」DRYは大事だけど、文脈を無視して機械的に共通化すると悲劇が起こるよねーという話をこないだしたので、どういう風にやっていくかはちょっと悩む。#uatagile #uatagileB
2012-11-17 16:39:52テストツールは単体(UTの意味でなく単独の意)で使うとたいへん 組み合わせて楽しよう ツール+シェルスクリプトかなりおすすめ #uatagile #uatagileB
2012-11-17 16:40:23テストケースの抽象度をあげる => 作成コストが低くなる / 理解しやすくなる / 保守コストが低くなる #uatagile #uatagileB
2012-11-17 16:42:00テストケースの作成コストを低くする。抽象度を上げる、というのが一つの答え。 → 理解しやすくする、テストケースの保守コストも低くなる。 #uatagileB
2012-11-17 16:42:34システムテスト自動化について テストケースは、メンバー全員で作成する!抽象度を上げる!抽象度が高いとテストケースが理解しやすくなる。テストケースの保守コストも低くなる #uatagile #uatagileB
2012-11-17 16:42:37設計の重複を避ける(Don't Repeat Yourself)これしないと無駄なテスト、やっても意味がないテストが増える。 #uatagileB 書きもれた
2012-11-17 16:43:51テストケース(をシリアライズした)CSVを特定のディレクトリにいれる 実行結果を特定のディレクトリにいれる 結果を想定される結果とくらべる #uatagile #uatagileB
2012-11-17 16:44:16システムテスト自動化をやるにはまず初期段階で自動化やります宣言をしてチームで共有が大事。テストケースは皆で作り、テストケースの作成は極力コストを少なくする #uatagileB
2012-11-17 16:45:12ってのは手でやった初回の結果を想定される結果として用意しておくと(回帰テストの?)自動化に近づく #uatagile #uatagileB
2012-11-17 16:45:22