Drupalで作られたシステムの品質評価について

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
starbucks.espresso.journey's picture

Drupalを使いシステム開発をした場合、
品質評価はどのような手段が考えられますでしょうか。

Drupalを使う場合、ざっくり以下の2パターンがあると思っています。
①コーディング有り
②コーディング無し

①の場合、ステップ数、試験項目数、バグ件数から判定するとしても、
コーディングしていない機能(Drupal本体の機能やサードパーティモジュールによる機能実現)で
バグが出た場合は、バグ密度が高くなる気がします。

また②の場合、そもそも1ステップも書いてないので、
Drupalとサードパーティモジュールのステップをすべて算出するのも
何か違う気がします...

皆様はどのような方法で品質評価を行っていますか?

Comments

blauerberg's picture

品質評価を厳粛に行っているわけではないのですが、意見だけ書いてみます。

1.の場合、バグが発生したモジュールを特定し、そのモジュールのステップ数を
評価対象のステップとして計上すれば、バグ密度が高くなる問題は回避できそうです。

しかし、大きなモジュールだと全機能を使うことは非常に稀なので、
逆に密度が低くなる可能性もあります。

対象のステップ数をより厳粛にしたいのであれば、
* .txtやREADMEなどの対象外となるファイルを除外
* 実際に利用しているクラスやメソッドを調査して対象のステップ数をさらに絞り込み

となるのですが、これはすごく大変な作業なのでお勧めしません。
(中身をちゃんと理解しているソフトウェアエンジニアが必要です)

ちなみにD7のコードは30万行以上*1あります。

$ curl http://ftp.drupal.org/files/projects/drupal-7.41.tar.gz |tar zx
$ wc -l $(find drupal-7.41 -type f -not -name "*.txt")|tail -n 1
  321074 total

品質ではなくセキュリティについての話ですが、
原因の90%以上は公開されているコードではなく、
特定システム向けに自前で書いたコードだ、という結果もあったりします。
これは、私の経験上も大体こんなものかなぁと思います。

https://www.drupal.org/documentation/is-drupal-secure

品質(バグ)についても似たような割合だと思いますので、
自前で書いた分だけの評価で問題ないかなぁ、という気がします。

あとはcoverityなどで静的解析をした結果が公開されてないかなぁと思ったのですが、
残念ながらDrupalは登録されていませんでした..

https://scan.coverity.com/projects?utf8=%E2%9C%93&search=drupal