programing

PL/SQL에 대한 코드 적용 범위

muds 2023. 8. 4. 23:20
반응형

PL/SQL에 대한 코드 적용 범위

PL/SQL에 대한 코드 적용에 대한 도구나 경험이 있는 사람이 있습니까? DBMS_PROFILER를 사용하면 가능하다고 생각합니다.

http://www.toadworld.com/BLOGS/tabid/67/EntryID/267/Default.aspx 에는 PL/SQL 프로파일러를 사용하여 코드 범위를 확인하는 방법에 대한 정보가 있습니다.

9i 또는 10g에 대한 프로파일링에 대한 유용한 정보는 Metalink 문서 243755.1 "PL/SQL 프로파일러 구현 및 사용"에서 프로파일링 코드에 대한 정보를 제공합니다.기사 하단에서 prof.zip을 가져오면 프로파일러가 있습니다.프로파일링 실행 후 결과 형식을 적절하게 지정하는 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

SD 테스트 범위 도구를 참조하십시오.소스 코드 위에 결과를 표시하는 GUI, 패키지 롤업뿐만 아니라 개별 기능에 대한 세부 정보를 수집하는 생성된 적용 범위 보고서 등 다른 도구와 동일한 기능을 갖춘 PLSQL 테스트 적용 범위 도구를 출시하려고 합니다.

EDIT 2/15/2011: PLSQL 테스트 범위 제작 도구를 사용할 수 있습니다.

DBMS_profiler라는 패키지를 설치할 수 있습니다.이렇게 하면 프로파일을 시작할 수 있으며 Oracle은 데이터를 특수 테이블에 저장합니다.그런 다음 프로필을 중지하고 해당 테이블에서 보고합니다.

이제 Oracle 12.2c에서 DBMS_PLSQL_CODE_COVERage 패키지를 사용할 수 있습니다.사실, 이것은 기본 블록 수준의 적용 범위를 제공합니다.

기본 블록은 가장 작은 실행 코드입니다.

다음은 자세한 정보를 찾기 위한 몇 가지 참고 자료를 참조하십시오.

오라클 문서

자습서

유튜브 비디오

이것이 당신이 원하는 것인지 확실하지 않지만, 10g 이후에는 정적 PL/SQL 코드 분석을 수행할 수 있는 도구가 있습니다.

여기 정보...http://www.psoug.org/reference/plsql_warnings.html

세션 또는 데이터베이스 수준에서 사용할 수 있습니다.

제 경험으로는 지금까지 꽤 많은 거짓 부정을 토해냈습니다.

저는 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;

언급URL : https://stackoverflow.com/questions/152435/code-coverage-for-pl-sql

반응형