基于PMD的静态测试

基于PMD的静态测试

一.安装PMD

1.首先,默认已经安装了Eclipse,然后打开Eclipse在菜单处找到“Help”,然后选择“Eclipse MarketPlace”
在这里插入图片描述

2.在Find中输入:PMD,然后回车

在这里插入图片描述
在这里选择红色的PMD进行安装。

3.在view中使得PMD显示
点击菜单中的Windows,选择Showview,点击other选择PMD
在这里插入图片描述

二、使用步骤

1.首先建立一个Text包,然后新建一个测试类

在这里插入图片描述
代码如下(测试类):

package Text;
public class Number {
   public void arrayAdds(int[][]a) {
      int sum=0;
      for(int row = 0;row < 100;row++)
          for(int col = 0;col < 5;col++)
              sum = sum + a[row][col];
      for(int row = 0;row < 100;row++)
          for(int col = 0;col < 5;col++)
              sum = sum + a[row][col];
    }
}

2.右击项目工程文件夹,选择 PMD→Find Suspect Cut And Paste

在这里插入图片描述
选择 Java 格式:
在这里插入图片描述
点击 OK,则可以看见 CPD 报告,同时在资源管理器项目下出现 reports 目录,包含 CPD 检查重复代码后的报告文件:
在这里插入图片描述

3.右击项目文件夹,选择 PMD→Check Code,即执行 PMD 菜单:

在这里插入图片描述
右击项目文件夹,选择 PMD→Generate reports 生成 PMD 报告:
在这里插入图片描述
在这里插入图片描述

### 头歌软件测试技术中的静态测试 #### 测试方法概述 静态测试是一种不执行被测程序本身而寻找错误的方法。这类测试主要依赖于人工评审文档、表格和程序,也利用计算机辅助静态分析工具来检测代码缺陷[^2]。 #### 静态测试的具体方法 - **代码审查**:由一组程序员或专家对源代码进行仔细检查,目的是发现不符合编码标准的地方或是可能存在的逻辑错误。 - **走查(Walkthroughs)**:开发者向同行展示自己的工作成果并解释设计思路和技术细节;参与者会提出疑问并对项目给出反馈意见。 - **审计(Audit)**:通常是由独立第三方来进行的一种正式评估活动,重点在于验证产品是否遵循既定的标准和规定。 #### 使用的工具 为了增强效率和准确性,在实际操作过程中往往会借助各种自动化工具完成静态测试的任务。例如: - **SonarQube** SonarQube 是一款流行的开源平台,用于持续检验代码质量和查找潜在的安全隐患。它可以集成到CI/CD流水线当中,并支持多种编程语言[^3]。 ```bash # 安装SonarScanner命令行客户端 sudo apt-get install sonar-scanner ``` - **PMD** PMD是一款基于规则集的Java源码分析器,可以用来查找常见的编程缺陷比如未使用的变量, 空捕捉块等。除了Java之外还支持其他几种主流的语言版本。 ```xml <!-- Maven配置文件pom.xml片段 --> <build> <plugins> <plugin> <groupId>net.sourceforge.pmd</groupId> <artifactId>pmd-maven-plugin</artifactId> ... </plugin> </plugins> </build> ``` #### 最佳实践建议 采用静态测试的最佳实践中强调了几个要点: - 尽早且频繁地实施静态分析,最好是在每次提交之前就运行相应的工具; - 制定清晰明确的编码指南并与团队成员共享; - 对新加入项目的人员提供必要的培训和支持以便他们熟悉内部流程和技术栈; - 建立定期复查机制确保长期维持高质量水平的同时不断改进现有做法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值