12

PL/SQL のコード カバレッジに関するツールや経験を持っている人はいますか。これは DBMS_PROFILER を使用して可能だと思いますか?

4

6 に答える 6

6

http://www.toadworld.com/BLOGS/tabid/67/EntryID/267/Default.aspxには、PL/SQL プロファイラーを使用したコード カバレッジのチェックに関する情報があります。

9i または 10g でのプロファイリングに関する役立つ情報は、Metalink の記事 243755.1「PL/SQL プロファイラーの実装と使用」に含まれており、コードのプロファイリングに関する情報が記載されています。記事の最後にある prof.zip を入手してください。プロファイリングの実行後に結果を適切にフォーマットする profiler.sql が含まれています。

MetaLinka アカウントなしで、10g のドキュメントをさらに入手できます: http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_profil.htm

11g を実行している場合は、ここに文書化された新しい階層プロファイラーがあります: http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28424/adfns_profiler.htm

于 2009-10-05T13:22:38.543 に答える
3

SD テスト カバレッジ ツールを参照してください。他のツールと同じ機能を備えた PLSQL テスト カバレッジ ツールをリリースしようとしています。これには、ソース コードの上に結果を表示する GUI や、個々の関数の詳細とロールアップを収集する生成されたカバレッジ レポートが含まれます。パッケージ。

EDIT 2/15/2011: PLSQL テスト カバレッジ生成ツールが利用可能です。

于 2010-07-09T11:24:49.127 に答える
1

インストールできるDBMS_profilerというパッケージがあります。これにより、プロファイルを開始でき、Oracleはデータを特別なテーブルに格納します。次に、プロファイルを停止し、それらのテーブルからレポートします。

于 2009-10-03T00:46:45.997 に答える
1

http://www.databasejournal.com/features/oracle/article.php/10893_2197231_3ページで役立つものを見つけました。

select exec.cnt/total.cnt * 100 "Code% coverage"
from  (select count(1) cnt
      from plsql_profiler_data d, plsql_profiler_units u
      where d.runid = &&runid
      and u.runid = d.runid
      and u.unit_number = d.unit_number
      and u.unit_name = upper('&&name')
      and u.unit_owner = upper('&&owner')
      ) total,
     (select count(1) cnt
      from plsql_profiler_data d, plsql_profiler_units u
      where d.runid = &&runid
      and u.runid = d.runid
      and u.unit_number = d.unit_number
      and u.unit_name = upper('&&name')
      and u.unit_owner = upper('&&owner')
      and d.total_occur > 0) exec;
于 2008-10-17T22:13:26.027 に答える
1

これがあなたの求めているものかどうかはわかりませんが、10g 以降では、静的 PL/SQL コード分析を行うためのツールがあります。

情報はこちら... http://www.psoug.org/reference/plsql_warnings.html

セッションまたはデータベース レベルで有効にできることに注意してください。

私の経験では、これまでのところかなりの数の偽陰性が発生しています。

于 2008-09-30T11:35:44.283 に答える
0

Oracle 12.2c では、 DBMS_PLSQL_CODE_COVERAGEパッケージを使用できるようになりました。実際、これは基本ブロック レベルのカバレッジを提供します。

基本ブロックは最小の実行可能コードです。

これらは、より多くの情報を見つけるための参考資料です。

オラクルのドキュメント

チュートリアル

ユーチューブ動画

于 2021-07-26T07:11:26.177 に答える