Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
TestLinkで
で
アジャイルにテストする
2009/6/4
あきぴー@TEF関西
copyright 2009 akipii@TEF関西

1
自己紹介
HN:あきぴー
簡単な職歴
業務系Webシステムの開発部隊に所属
プログラミングからプロジェクト管理まで何でも

興味
XPを代表とするアジャイル開発

copyright 2009 akipii@TEF関西

2
第1部 
部 
TestLinkを
を
アジャイル開発に組み込む

copyright 2009 akipii@TEF関西

3
TestLinkとは
PHPで作られたテスト管理Webシステム
最新版:1.8.2 (2009/5)
TEF有志によるテスト管理システムTestLink日本語化プロジェクト
http://testlinkjp.org/

LAMP、WAMP環境...
【1】TestLink導入前(Excel編)
Excelのテスト仕様書は管理が大変
数千~数万のテストケースを管理するのは難しい
仕様変更等でテストケース修正や再テストに手間がかかる

テスト工程の進捗が分かりにくい
テスト工程で人員が最大化す...
【2】TestLink導入前(XP編)
Junitで単体テストを実施
単体テストが自動化された

継続的インテグレーションを実施
いつでもリリースモジュールをワンクリックでビルドできる

並行開発をメインラインモデルで管理する
新規開発(tru...
【3】TestLink導入前(Redmine編)
バグ管理をBTS(Redmine)で行う
バグ修正作業はRedmineチケットで管理する

RedmineのチケットをXPのタスクカードのように使う
 ⇒チケット駆動開発(TiDD)
障害も要望...
【4-1】TestLinkをアジャイル開発へ組み込む
TestLinkを結合~受入テストで使う
単体テストはJunitでテスト自動化
結合テスト以降は業務シナリオでテストする

テスト計画をXPのイテレーションに見立てる
テストケースをテスト計...
【4-2】TestLinkの運用サイクル
PG
PL

PL
計画作成
登録
集計表示 TestLink

テスター
更新
テスター
終了

PG
Hudson

Redmine
copyright 2009 akipii@TEF関西

9
【4-3】TestLinkの概念モデル
テスト計画
⇔XPのイテレーション
のイテレーション
 Scrumのスプリント
のスプリント

テスト仕様
⇔テストケースの貯蔵庫
 Scrumのプロダクトバックログ
のプロダクトバックログ

ビルド
⇔...
【4-4】テストケースの状態遷移図

copyright 2009 akipii@TEF関西

11
【5-1】TestLink導入後
テスト工程の進捗をリアルタイムに把握できる
テスターが大人数でもWebですぐに進捗確認できる
バグ修正と検証の切替がスムーズになった

テスターや開発者の受けもいい
テスターは自分のテストケースだけフィルタリン...
【5-2】TestLinkの更なる可能性
W字モデルで設計時にテスト計画を作る
設計時に要件カバレッジの観点を入れる
1次開発でバグが多発した機能のテストケースを2次開発で
再利用し、品質を強化する

テスト実績から累積グラフを作成できる
テス...
第2部
部

TestLinkの運用例
の運用例

copyright 2009 akipii@TEF関西

14
(1-1)TestLinkとテスト仕様書の関係

copyright 2009 akipii@TEF関西

15
(1-2)テストケースの形式
テストケースをTestLinkの形式に合わせる
テストケースはユースケースシナリオから作る
分類や目的はテストスイートでツリー化する
事前条件はテストケース概要に書く
テスト手順はテストケースのステップに書く
事後...
(1-3)テスト仕様へテストケースをインポート

TestLinkCnvMacro
で出力したXMLをイン
で出力した
をイン
ポートする
【TestLinkCnvMacro 】
http://sourceforge.jp/projects/t...
(2-1)テスト計画を作成

テスト計画が
XPのイテレーションに
のイテレーションに
相当する
copyright 2009 akipii@TEF関西

18
(2-2)テスト計画へテストケースをアサイン

テストケースも変更履歴を残せる
copyright 2009 akipii@TEF関西

19
(2-3)テストケースへユーザをアサイン

copyright 2009 akipii@TEF関西

20
(3-1)ビルド作成後、テスト実行

copyright 2009 akipii@TEF関西

21
(3-2)失敗したテストケースはチケット発行

バグはRedmineチケットに
チケットに
バグは
登録する
⇒失敗したテストケースは必
ずRedmineチケットを持つ
チケットを持つ

copyright 2009 akipii@TEF関西
...
(3-3)テスト結果一覧

copyright 2009 akipii@TEF関西

23
(3-4)テストケースの全バグを確認

・BTSチケットのステータスをリアルタイムに表示
チケットのステータスをリアルタイムに表示
・オープン=0になるまでリリース不可能
・オープン= になるまでリリース不可能

copyright 2009 ...
(3-5)ビルドをClose後、回帰テスト

全テストケース実施後、
TestLinkビルドにビルド
ビルドにビルド
番号を付与する
⇒ビルドをCloseしたらテ
⇒ビルドを
したらテ
スト結果は修正不可
(2個目のビルドを作る
個目のビルドを...
(4-1)テスト実績を累積数でグラフ化
TestLinkCnvMacroでTestLink
で
のテスト実績を出力する

copyright 2009 akipii@TEF関西

26
(4-2)要件カバレッジ

copyright 2009 akipii@TEF関西

27
(4-3)要件カバレッジの実績

テストケースのキーワードに要件を紐づけるのがミソ
copyright 2009 akipii@TEF関西

28
(4-4)要件カバレッジの実績グラフ
TestLinkCnvMacroでTestLink
で
の要件カバレッジ実績を出力する

copyright 2009 akipii@TEF関西

29
(4-5)テスターの生産性グラフ
TestLinkCnvMacroでテスターの
で
生産性グラフを出力する
生産性グラフを出力する

copyright 2009 akipii@TEF関西

30
TestLink運用上の注意
テスト計画に含めるテストケース数は5百未満にする
テスト計画のテストケース数が多すぎると回帰テストできない
複数回のリリースを前提にテスト計画を分割(本来のマネジメント)

PGとテスターがペア作業できるワークフロ...
まとめ・謝辞
TestLinkでアジャイル開発のテスト工程を効率化しよう
1.
2.
3.
4.

TestLinkは結合~受入テストで運用する
テスト計画をイテレーションに同一視してアジャイル化する
バグ管理はRedmineによるチケット駆動...
Upcoming SlideShare
Loading in …5
×

ETWest2009講演資料「TestLinkでアジャイルにテストする」

16,877 views

Published on

【公開】ETWest2009講演資料「TestLinkでアジャイルにテストする」: プログラマの思索 http://forza.cocolog-nifty.com/blog/2009/06/etwest2009testl.html

Embedded Technology West 2009 http://imyme.chicappa.jp/ETW2009/conference/info.cgi?no=C#C-4

【公開】SEA関西プロセス分科会講演資料「TestLinkのベストプラクティス~日本の品質管理技術を見直そう」: プログラマの思索 http://forza.cocolog-nifty.com/blog/2011/01/seatestlink-85a.html

SEA関西プロセス分科会講演資料「TestLinkのベストプラクティス~日本の品質管理技術を見直そう」 http://www.slideshare.net/akipii.oga/testlink-6577325

Published in: Technology
  • Be the first to comment

ETWest2009講演資料「TestLinkでアジャイルにテストする」

  1. 1. TestLinkで で アジャイルにテストする 2009/6/4 あきぴー@TEF関西 copyright 2009 akipii@TEF関西 1
  2. 2. 自己紹介 HN:あきぴー 簡単な職歴 業務系Webシステムの開発部隊に所属 プログラミングからプロジェクト管理まで何でも 興味 XPを代表とするアジャイル開発 copyright 2009 akipii@TEF関西 2
  3. 3. 第1部  部  TestLinkを を アジャイル開発に組み込む copyright 2009 akipii@TEF関西 3
  4. 4. TestLinkとは PHPで作られたテスト管理Webシステム 最新版:1.8.2 (2009/5) TEF有志によるテスト管理システムTestLink日本語化プロジェクト http://testlinkjp.org/ LAMP、WAMP環境で動作 GPLで配布 テスト工程をWeb上で一括管理できる テストケースの登録・実行・集計を一括管理 BTSと連携してバグ修正&検証フローを管理 Mantis, Bugzilla, Trac, Redmine, Jira etc. 最近、Excelのテスト仕様書をWeb化できる特徴が注目 されている copyright 2009 akipii@TEF関西 4
  5. 5. 【1】TestLink導入前(Excel編) Excelのテスト仕様書は管理が大変 数千~数万のテストケースを管理するのは難しい 仕様変更等でテストケース修正や再テストに手間がかかる テスト工程の進捗が分かりにくい テスト工程で人員が最大化する為、管理業務が大変 失敗したテストケースが多くなるとチームが混乱してくる バグ修正フローがスムーズでない 失敗したテストケースが増えるとバグ管理と連携が面倒 管理者は作業指示を逐一出すだけで1日が終わる 並行開発の構成管理作業が大変 新規開発と本番運用のソース管理に手間がかかる copyright 2009 akipii@TEF関西 5
  6. 6. 【2】TestLink導入前(XP編) Junitで単体テストを実施 単体テストが自動化された 継続的インテグレーションを実施 いつでもリリースモジュールをワンクリックでビルドできる 並行開発をメインラインモデルで管理する 新規開発(trunk)とその分岐である本番運用(branch)の コードラインを使い分ける 弱点:受入テストの品質を確保する手段があまりない バグ修正フローはスムーズでなかった 受入テストの自動化(例:Seleniuum)は難しい copyright 2009 akipii@TEF関西 6
  7. 7. 【3】TestLink導入前(Redmine編) バグ管理をBTS(Redmine)で行う バグ修正作業はRedmineチケットで管理する RedmineのチケットをXPのタスクカードのように使う  ⇒チケット駆動開発(TiDD) 障害も要望もチケットで扱う(Issue Tracking) 作業状態、進捗情報はチケットで一元管理 ガントチャート、バーンダウンチャートで進捗管理 バグ修正や機能追加等をワークフロー管理 チケット集計結果からバグ収束曲線等で品質管理 弱点:テスト工程の進捗管理はRedmineではやりにくい ではやりにくい 弱点:テスト工程の進捗管理は copyright 2009 akipii@TEF関西 7
  8. 8. 【4-1】TestLinkをアジャイル開発へ組み込む TestLinkを結合~受入テストで使う 単体テストはJunitでテスト自動化 結合テスト以降は業務シナリオでテストする テスト計画をXPのイテレーションに見立てる テストケースをテスト計画単位にグループ化する テスト計画のテストケースを全て成功にしたらリリースできる ように運用する 同じテスト計画を複数回実施して回帰テストも可能 失敗したテストケースの修正/検証はBTSと連携する バグ修正はRedmineチケットで管理する バグ検証はTestLinkテストケースで再テストする copyright 2009 akipii@TEF関西 8
  9. 9. 【4-2】TestLinkの運用サイクル PG PL PL 計画作成 登録 集計表示 TestLink テスター 更新 テスター 終了 PG Hudson Redmine copyright 2009 akipii@TEF関西 9
  10. 10. 【4-3】TestLinkの概念モデル テスト計画 ⇔XPのイテレーション のイテレーション  Scrumのスプリント のスプリント テスト仕様 ⇔テストケースの貯蔵庫  Scrumのプロダクトバックログ のプロダクトバックログ ビルド ⇔回帰テストの実施結果。  ビルド番号。製品番号。 copyright 2009 akipii@TEF関西 10
  11. 11. 【4-4】テストケースの状態遷移図 copyright 2009 akipii@TEF関西 11
  12. 12. 【5-1】TestLink導入後 テスト工程の進捗をリアルタイムに把握できる テスターが大人数でもWebですぐに進捗確認できる バグ修正と検証の切替がスムーズになった テスターや開発者の受けもいい テスターは自分のテストケースだけフィルタリングしている 開発者はBTSチケットでバグ修正に専念する テスターはBTSチケットが解決になれば即、再テストする チケット駆動開発と相性がいい 設計~単体テスト⇒Redmineによるチケット駆動開発 によるチケット駆動開発 設計~単体テスト⇒ 結合テスト~受入テスト⇒ TestLinkでテスト管理 でテスト管理 copyright 2009 akipii@TEF関西 12
  13. 13. 【5-2】TestLinkの更なる可能性 W字モデルで設計時にテスト計画を作る 設計時に要件カバレッジの観点を入れる 1次開発でバグが多発した機能のテストケースを2次開発で 再利用し、品質を強化する テスト実績から累積グラフを作成できる テストの予定・実績の比較も可能 テスト実績から品質やリスクに対処できる テストもアジャイルにできる テスト計画もXPのイテレーションで小刻みにテスト可能 テストケースの優先順位付けが重要 アジャイル開発の弱点である受入テストを補強できる copyright 2009 akipii@TEF関西 13
  14. 14. 第2部 部 TestLinkの運用例 の運用例 copyright 2009 akipii@TEF関西 14
  15. 15. (1-1)TestLinkとテスト仕様書の関係 copyright 2009 akipii@TEF関西 15
  16. 16. (1-2)テストケースの形式 テストケースをTestLinkの形式に合わせる テストケースはユースケースシナリオから作る 分類や目的はテストスイートでツリー化する 事前条件はテストケース概要に書く テスト手順はテストケースのステップに書く 事後条件はテストケースの期待値に書く 要件はテストケースのキーワードへ書いて紐付ける 直交表は<table>で表形式に書く 要件やテストケースはTestLinkCnvMacroで一括イン ポートする 要件やテストケースはExcelであらかじめ作成しておく インポート後はTestLink上で実績管理する copyright 2009 akipii@TEF関西 16
  17. 17. (1-3)テスト仕様へテストケースをインポート TestLinkCnvMacro で出力したXMLをイン で出力した をイン ポートする 【TestLinkCnvMacro 】 http://sourceforge.jp/projects/testlinktools/releases?package_id=7520 copyright 2009 akipii@TEF関西 17
  18. 18. (2-1)テスト計画を作成 テスト計画が XPのイテレーションに のイテレーションに 相当する copyright 2009 akipii@TEF関西 18
  19. 19. (2-2)テスト計画へテストケースをアサイン テストケースも変更履歴を残せる copyright 2009 akipii@TEF関西 19
  20. 20. (2-3)テストケースへユーザをアサイン copyright 2009 akipii@TEF関西 20
  21. 21. (3-1)ビルド作成後、テスト実行 copyright 2009 akipii@TEF関西 21
  22. 22. (3-2)失敗したテストケースはチケット発行 バグはRedmineチケットに チケットに バグは 登録する ⇒失敗したテストケースは必 ずRedmineチケットを持つ チケットを持つ copyright 2009 akipii@TEF関西 22
  23. 23. (3-3)テスト結果一覧 copyright 2009 akipii@TEF関西 23
  24. 24. (3-4)テストケースの全バグを確認 ・BTSチケットのステータスをリアルタイムに表示 チケットのステータスをリアルタイムに表示 ・オープン=0になるまでリリース不可能 ・オープン= になるまでリリース不可能 copyright 2009 akipii@TEF関西 24
  25. 25. (3-5)ビルドをClose後、回帰テスト 全テストケース実施後、 TestLinkビルドにビルド ビルドにビルド 番号を付与する ⇒ビルドをCloseしたらテ ⇒ビルドを したらテ スト結果は修正不可 (2個目のビルドを作る 個目のビルドを作る) 個目のビルドを作る copyright 2009 akipii@TEF関西 25
  26. 26. (4-1)テスト実績を累積数でグラフ化 TestLinkCnvMacroでTestLink で のテスト実績を出力する copyright 2009 akipii@TEF関西 26
  27. 27. (4-2)要件カバレッジ copyright 2009 akipii@TEF関西 27
  28. 28. (4-3)要件カバレッジの実績 テストケースのキーワードに要件を紐づけるのがミソ copyright 2009 akipii@TEF関西 28
  29. 29. (4-4)要件カバレッジの実績グラフ TestLinkCnvMacroでTestLink で の要件カバレッジ実績を出力する copyright 2009 akipii@TEF関西 29
  30. 30. (4-5)テスターの生産性グラフ TestLinkCnvMacroでテスターの で 生産性グラフを出力する 生産性グラフを出力する copyright 2009 akipii@TEF関西 30
  31. 31. TestLink運用上の注意 テスト計画に含めるテストケース数は5百未満にする テスト計画のテストケース数が多すぎると回帰テストできない 複数回のリリースを前提にテスト計画を分割(本来のマネジメント) PGとテスターがペア作業できるワークフローにする バグ修正は、PGがRedmineチケットで修正する バグ検証は、テスターがTestLinkテストケースで再テストする テストケースのブロックを使ってテスト管理 テストケースが失敗したら、依存するテストケースをブロック ブロックしたテストケースは見なしバグ 見なしバグとしてテスト保留 見なしバグ バグ検証完了後、ブロックしたテストケースのテストを再開 TestLinkと自動化ツールの連携は未完成 現状はTestLinkで手動の受入テストを効率化できた Ver1.8以降はXML-RPC機能を使って自動化ツールと連携が可能(?) 自動化ツールでテストケースやテスト結果をTestLinkへ登録できる copyright 2009 akipii@TEF関西 31
  32. 32. まとめ・謝辞 TestLinkでアジャイル開発のテスト工程を効率化しよう 1. 2. 3. 4. TestLinkは結合~受入テストで運用する テスト計画をイテレーションに同一視してアジャイル化する バグ管理はRedmineによるチケット駆動開発と連携する TestLinkCnvMacroでテスト実績を分析してプロセス改善する 謝辞 TEF関西の皆さん TestLink-MLの皆さん TestLink開発チーム copyright 2009 akipii@TEF関西 32

×