EM West掲載記事「アジャイルにおけるテスト開発プロセスの考え方」の感想
先日のAgileTourOsaka2010で配布されたEM Westという無料のIT雑誌がある。
その雑誌で掲載された記事「アジャイルにおけるテスト開発プロセスの考え方」を読んだ。
記事の筆者はXPJUG関西代表の細谷さんなので、内容についても以前から知己ですが、改めて読んだ感想をメモ。
【元ネタ】
EM WEST Vol.2
記事の内容は、テストプロセスにアジャイル開発の概念を注入して、テストプロセスの品質を上げる方策を提示していること。
面白いと思った点は二つ。
一つは、イテレーション単位に開発とテストを進めていって、最後のイテレーションでシステム全体の評価を行うテストを別途設けていること。
もう一つは、イテレーション単位でテストの観点やテストケースを深堀していくこと。
前者は、漸進型開発(インクリメンタル)から反復型開発(イテレーティブ)へ繰り返し型開発のスタイルを変換することを意味している。
つまり、最初は小規模リリースしながら、小刻みに機能拡張していく。
だが、そのままではシステム全体の品質は保証できないから、最後のイテレーションで、過去のイテレーションの成果物のフィードバックを受けて、システム全体のテストを行って、テストの精度を高めるやり方。
この方法は僕自身も、同じような開発経験を持っている。
最初は、Redmine+チケット駆動開発で、1~4週間のイテレーションのサイクルでガンガン開発していく。
この時は、開発者も現場リーダーもとても楽しい。
しかし、機能追加していくうちに、仕様変更の影響について考慮が漏れていたり、ユーザーインターフェースの統合性が崩れていたりする時がある。
だから、一通りの開発が終わったら、TestLink+Redmineで結合テスト、システムテスト、受入テスト、負荷テスト(ラッシュテスト)など、各種の観点で徹底的にテストしていく。
実際は、TestLinkのテスト計画をイテレーションとみなして、膨大なテストケースをテスト計画に分割して、段階的にテストする。
この手法の利点は、二つある。
一つは、従来のアジャイル開発では品質の作り込みが弱い点を別の繰り返し型開発である反復型開発でカバーしていること。
二つ目は、品質やアーキテクチャの作り込みの作業のスコープを制御することで、反復型開発の弱点をカバーしていること。
この発想は「アジャイル開発の本質とスケールアップ 変化に強い大規模開発を成功させる14のベストプラクティス (IT Architects’ Archive)」や「実践アジャイルテスト テスターとアジャイルチームのための実践ガイド (IT Architects’Archive ソフトウェア開発の実践)」にもよく出てくるので要注意。
後者は、過去のイテレーションのフィードバックを活かして、テストケースの品質を高めていけることを意味している。
TestLinkによるテスト管理を運用してみて分かったことは、テスト管理はそもそも計画主導の方がやりやすく、テストケースを後から変更するのは結構難しい点だ。
つまり、テスト管理や品質管理は、V字型モデルと呼ばれるウォーターフォール型開発の方がやりやすい特徴があるように思う。
しかし、実際のテストでも、仕様変更や設計漏れのためにテストケースを頻繁に修正する作業はとても多い。
だから、アジャイル開発の利点をテストプロセスに生かすノウハウが必要だろうと思う。
TestLinkでテストケースやテスト結果を管理している場合、TestLinkCnvMacroというExcelマクロでテストケースを修正インポートするのが可能なので、仕様変更やレビューによる指摘を受けてテストケースを修正することは簡単にできる。
又、テスト計画をイテレーションに見立てて順次実行するようにすれば、次のテスト計画で、テストの新たな観点を取り入れてテストケースを追加すればいい。
TestLink上で似たようなテストケースを一括編集するのは面倒なので、Excelマクロをうまく使って一括インポートするようにした方が良いと思う。
最近思うのは、タスク管理についてはRedmineやTracなどの優れたツールが出てきて、そのノウハウも色々揃ってきているのに、テスト管理やレビューについては、良いツールが少なくて運用ノウハウも少ない。
色々試してみたいと思っている。
| 固定リンク
「ソフトウェア工学」カテゴリの記事
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「システムアーキテクチャ構築の原理」の感想(2024.05.06)
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- マイクロサービス設計は従来のアーキテクチャ設計と何が違うのか(2024.01.02)
- 「ソフトウェアアーキテクチャ・ハードパーツ」の情報リンク~マイクロサービスの設計技法の課題は何なのか(2023.11.12)
「TestLink」カテゴリの記事
- JSTQBのテストプロセスの概念モデルを描いてみた(2023.05.26)
- TestLinkの要件管理にUSDMを適用する方法(2023.01.22)
- TestLinkのテストケースはクラスとインスタンスの考え方で区別する(2023.01.22)
- テスト管理ツールCAT、TestRail、QualityForwardのオンラインのマニュアルのリンク(2022.09.24)
- テスト管理ツールTestRail、CAT、QualityForwardの感想(2022.07.30)
コメント