読者です 読者をやめる 読者になる 読者になる

MyEnigma

とあるエンジニアのブログです。#Robotics #Programing #C++ #Python #MATLAB #Vim #Mathematics #Book #Movie #Traveling #Mac #iPhone

ROS ソフトにおけるQAプロセス(日本語訳)

Robot

ソフトウェア品質知識体系ガイド―SQuBOK Guideソフトウェア品質知識体系ガイド―SQuBOK Guide
SQuBOK策定部会

オーム社
売り上げランキング : 47728

Amazonで詳しく見る by AZlink

Learning Ros for Robotics ProgrammingLearning Ros for Robotics Programming
Aaron Romero,Enrique Fernandez

Packt Publishing
売り上げランキング : 2660

Amazonで詳しく見る by AZlink

(元記事:QAProcess - ROS Wiki)


ソフトウェア開発/品質保証プロセス

ROSソフトウェアの品質を向上させ、再利用性を向上させるために、

我々は下記のような品質保証プロセスを設定しました。

このプロセスには2つのレベルがあります。

一つ目はそれぞれのパッケージの品質保証プロセス。

二つ目は、最上位のパッケージの品質を確認する

スタック品質保証プロセスです。

このプロセスはWillow garageによって

ROSコアとROSパッケージのコードのリポジトリ

メンテナンスする用に設計されたものです。

別のリポジトリで作業を行っている開発者の方々にも、

このプロセスは有用だと思いますが、

どのようなプロセスに従うかは、

それぞれのソフトの管理者によります。


スタック QAプロセス

スタックのQAプロセスでは下記のステップで

品質保証を行ってください。

(注意: ROSの2013年にリリースされた

groovyパッケージから、スタックという概念が無くなりました。

ROS開発者マニュアル(日本語訳) - MY ENIGMA

よって、このQAプロセスもrosbuild時代の古いものとなっています。)


1. 新しいスタックを作成します。

1-1 スタックのスコープや機能、依存関係などの定義を明確に決定しましょう。

1-2 先ほどの定義に含まれ、安定した動作をするパッケージ群を

  スタックに取り入れるようにしましょう。

2. スタックをガイドラインに従ってドキュメント化しましょう。

StackDocumentation - ROS Wiki http://wiki.ros.org/StackDocumentation

3. メンテナンスと依存関係の保守

すべてのパッケージが動作するようにメンテナンスをし、

依存関係をリリース時に壊さないようにしましょう。

4. スタックバージョンポリシーに準拠するようにしましょう

StackVersionPolicy - ROS Wiki


パッケージ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のソフトのテスト内容をレビューし

そのパッケージに関わるすべてのソフトのテストを実施しましょう。