ソフトウェア開発/品質保証プロセス
ROSソフトウェアの品質を向上させ、再利用性を向上させるために、
我々は下記のような品質保証プロセスを設定しました。
このプロセスには2つのレベルがあります。
一つ目はそれぞれのパッケージの品質保証プロセス。
二つ目は、最上位のパッケージの品質を確認する
スタック品質保証プロセスです。
このプロセスはWillow garageによって
ROSコアとROSパッケージのコードのリポジトリを
メンテナンスする用に設計されたものです。
別のリポジトリで作業を行っている開発者の方々にも、
このプロセスは有用だと思いますが、
どのようなプロセスに従うかは、
それぞれのソフトの管理者によります。
スタック QAプロセス
スタックのQAプロセスでは下記のステップで
品質保証を行ってください。
(注意: ROSの2013年にリリースされた
groovyパッケージから、スタックという概念が無くなりました。
よって、このQAプロセスもrosbuild時代の古いものとなっています。)
1. 新しいスタックを作成します。
1-1 スタックのスコープや機能、依存関係などの定義を明確に決定しましょう。
1-2 先ほどの定義に含まれ、安定した動作をするパッケージ群を
スタックに取り入れるようにしましょう。
2. スタックをガイドラインに従ってドキュメント化しましょう。
StackDocumentation - ROS Wiki http://wiki.ros.org/StackDocumentation
3. メンテナンスと依存関係の保守
すべてのパッケージが動作するようにメンテナンスをし、
依存関係をリリース時に壊さないようにしましょう。
パッケージQAプロセス
各パッケージのでは下記の方法で、
品質保証を実施してください。
1. 新しいパッケージを作成する。
下記の記事を元に、パッケージ提案と仕様策定を実施してください。
ここでは、パッケージの要求事項と特徴について説明する必要があります。
PackageProposalProcess - ROS Wiki http://wiki.ros.org/PackageProposalProcess
2. APIのレビュー
下記のリンク先の情報を元に
パッケージのAPIとアーキテクチャについてレビューを行います。
ここでは、このパッケージで何をして、
どれをどのように実現するのかを明確にする必要があります。
DevelopersGuide - ROS Wiki http://wiki.ros.org/DevelopersGuide
(上記の記事の日本語訳:
ROS開発者マニュアル(日本語訳) - MY ENIGMA
http://d.hatena.ne.jp/meison_amsl/20131221/1387583310 )
APIReviewProcess - ROS Wiki http://wiki.ros.org/APIReviewProcess
3. ドキュメントのレビュー
下記のリンク先の内容を元に、
ユーザへのドキュメントが十分であるかどうかを確認します。
DocReviewProcess - ROS Wiki http://wiki.ros.org/DocReviewProcess
4. コードレビュー
続いて、コードレビューを行います。
注意すべきことは、上記のレビューがすべて完了するまで、
コードレビューをしてはいけないことです。
また、デザインレビューや、ユニットテスト、統合テスト、
APIレビュー,ドキュメントレビューのすべてにおいて指摘された問題が
このコードレビューにおいて、解決されているのかを確認する必要があります。
また、このレビューでは上記のROS開発者マニュアルに、
コードが則しているかどうかを確認する必要があります。
CodeReviewProcess - ROS Wiki http://wiki.ros.org/CodeReviewProcess
5. 削除/ソフト廃棄所行き
あるパッケージがすでに削除されていたり、
もはや使用されていない場合は、
それらのパッケージは削除するか、
下記の方法でソフト廃棄場所に移動させるべきです。
Graveyard - ROS Wiki http://wiki.ros.org/Graveyard
サードパーティのパッケージ
サードパーティのパッケージを品質保証プロセスに通したい場合は、
下記の手順を踏んで下さい。
(下記の内容は、あなり荒い下書きであり、
他の人にレビューされていません)
要求定義
要求を分析し、それらを解決する機能が、既存のシステムや
他のパッケージに含まれていないかどうかを調査しましょう。
そしてそのパッケージのコードの品質と成熟度の度合いを評価しましょう。
最後に、パッケージのライセンスを確認しましょう。
パッケージレビュー
まず初めに、パッケージのダウンロードやビルドが
正確に実施されるかどうかを確認しましょう。
そして、それらがROSにおける慣習通りかどうかを確認しましょう。
続いて、そのパッケージのマニフェストの中身が正確かどうかを確認しましょう。
続いて、すべてのパッチに対してコードレビューを行いましょう。
最後に、サードパーティのソフトやWillow Garageのソフトのテスト内容をレビューし
そのパッケージに関わるすべてのソフトのテストを実施しましょう。