国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SonarQube質(zhì)量門禁實(shí)踐

這篇具有很好參考價(jià)值的文章主要介紹了SonarQube質(zhì)量門禁實(shí)踐。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試

靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試是軟件測(cè)試中兩種不同的方法。

1. 靜態(tài)測(cè)試

靜態(tài)測(cè)試是一種對(duì)軟件文檔、代碼和其他相關(guān)材料進(jìn)行測(cè)試的方法,而不是在程序運(yùn)行時(shí)測(cè)試。靜態(tài)測(cè)試的目的是發(fā)現(xiàn)潛在的問題、錯(cuò)誤和缺陷,以便在程序運(yùn)行之前修復(fù)它們。靜態(tài)測(cè)試通常由開發(fā)團(tuán)隊(duì)的成員完成,例如代碼評(píng)審、需求審查、設(shè)計(jì)審查等。
靜態(tài)測(cè)試的優(yōu)點(diǎn):

  • 可以在程序運(yùn)行之前發(fā)現(xiàn)潛在問題,從而減少測(cè)試成本。
  • 可以提高團(tuán)隊(duì)成員的代碼質(zhì)量和協(xié)作效率。
  • 可以避免在生產(chǎn)環(huán)境中出現(xiàn)的嚴(yán)重錯(cuò)誤和缺陷。

靜態(tài)測(cè)試分類

  • 靜態(tài)代碼掃描
  • 代碼評(píng)審
  • 單元測(cè)試

2. 動(dòng)態(tài)測(cè)試

動(dòng)態(tài)測(cè)試是在運(yùn)行程序時(shí)對(duì)軟件進(jìn)行測(cè)試的方法,以確保它符合規(guī)格說明書中的要求,并且符合用戶需求。動(dòng)態(tài)測(cè)試可以進(jìn)一步分為黑盒測(cè)試和白盒測(cè)試。

  • 黑盒測(cè)試:黑盒測(cè)試是基于軟件外部行為的測(cè)試,它不需要了解軟件的內(nèi)部工作原理。測(cè)試人員只需根據(jù)軟件規(guī)格說明書和用戶需求來設(shè)計(jì)測(cè)試用例,以檢查軟件是否符合要求。
  • 白盒測(cè)試:白盒測(cè)試是基于軟件內(nèi)部結(jié)構(gòu)和實(shí)現(xiàn)的測(cè)試,它需要了解軟件的內(nèi)部工作原理。測(cè)試人員需要查看軟件代碼和架構(gòu),以設(shè)計(jì)測(cè)試用例來檢查軟件是否正確地執(zhí)行。
    動(dòng)態(tài)測(cè)試的優(yōu)點(diǎn):
  • 可以驗(yàn)證軟件是否符合規(guī)格說明書和用戶需求。
  • 可以發(fā)現(xiàn)代碼錯(cuò)誤和缺陷。
  • 可以提高軟件的穩(wěn)定性和可靠性。

動(dòng)態(tài)測(cè)試分類

  • 手工執(zhí)行
  • 自動(dòng)化
  • 性能
  • 安全

代碼掃描工具的原理

分析對(duì)象主要分為兩類:
-分析源文件
-分析編譯后的文件 java字節(jié)碼
大致分為以下幾個(gè)步驟:

  1. 代碼解析:首先,代碼掃描工具需要將源代碼轉(zhuǎn)化為抽象語法樹(AST)或其他形式的中間表示,以便進(jìn)行后續(xù)的分析。
  2. 漏洞檢測(cè):掃描工具會(huì)對(duì)代碼進(jìn)行各種形式的靜態(tài)分析,包括缺陷模式匹配、類型推斷、數(shù)據(jù)流分析等,以檢測(cè)潛在的漏洞和安全問題。
  3. 結(jié)果輸出:掃描工具將分析結(jié)果輸出為報(bào)告或者直接集成到集成開發(fā)環(huán)境(IDE)或代碼倉庫中,以便開發(fā)人員查看和修復(fù)。

SonarQube

SonarQube是一個(gè)用于代碼質(zhì)量管理的開源平臺(tái)。它可以分析代碼,檢測(cè)代碼中的技術(shù)債務(wù)和漏洞,并提供有關(guān)代碼質(zhì)量的可視化報(bào)告。 SonarQube支持各種編程語言,包括Java,C#,JavaScript,C / C ++等。
SonarQube提供了一系列插件,可以集成到各種構(gòu)建工具中,如Maven,Gradle,Jenkins等。這使得SonarQube易于集成到現(xiàn)有的開發(fā)工作流程中,并且可以在代碼提交時(shí)自動(dòng)執(zhí)行質(zhì)量檢查和代碼分析。
除了代碼質(zhì)量管理外,SonarQube還可以幫助團(tuán)隊(duì)管理項(xiàng)目的技術(shù)債務(wù)。它可以通過檢測(cè)代碼中的潛在問題和漏洞來減少技術(shù)債務(wù),并提供指導(dǎo)和建議,幫助開發(fā)人員編寫更高質(zhì)量的代碼。
總之,SonarQube是一個(gè)強(qiáng)大的代碼質(zhì)量管理工具,可以幫助開發(fā)人員、項(xiàng)目經(jīng)理和團(tuán)隊(duì)領(lǐng)導(dǎo)者在項(xiàng)目開發(fā)過程中提高代碼質(zhì)量和可維護(hù)性。

sonarqube框架組成

  • 被分析項(xiàng)目
  • SonarQube Scanner: SonarQube Scanner 是一個(gè)命令行工具,用于在項(xiàng)目中執(zhí)行靜態(tài)代碼分析。它通過讀取配置文件來決定要分析哪些文件和使用哪些規(guī)則。
  • SonarQube Server: SonarQube 服務(wù)器是核心組件,用于處理代碼分析和存儲(chǔ)分析結(jié)果。它提供了一個(gè) Web 界面,讓用戶可以查看分析報(bào)告、設(shè)置分析規(guī)則、管理項(xiàng)目等。
  • 數(shù)據(jù)庫,結(jié)果存儲(chǔ)的地方

SonarQube環(huán)境搭建

整體思路是,sonar scanner分析項(xiàng)目代碼,并將結(jié)果上傳到sonar server
質(zhì)量門禁,測(cè)試工具,單元測(cè)試

啟動(dòng)SonarQube Server

  1. 下載sonarqube https://www.sonarsource.com/products/sonarqube/downloads
  2. 根據(jù)自己的需求修改/conf/sonar.properties文件,可以指定連接的數(shù)據(jù)庫、用戶名、密碼等
  3. 啟動(dòng)sonar服務(wù),去bin目錄根據(jù)不同的平臺(tái),啟動(dòng)服務(wù)
    質(zhì)量門禁,測(cè)試工具,單元測(cè)試

啟動(dòng)SonarQube Scanner

服務(wù)啟動(dòng)同SonarQube Server,注意修改配置文件中的密鑰和SonarQube Server進(jìn)行連接

scanner對(duì)java工程進(jìn)行代碼掃描

要將SonarScanner與Java項(xiàng)目關(guān)聯(lián),您需要完成以下步驟:

  1. 下載并安裝SonarScanner。
  2. 將SonarScanner添加到系統(tǒng)路徑中。這樣,可以在命令行中直接使用SonarScanner命令。
  3. 在的Java項(xiàng)目中添加一個(gè)SonarQube配置文件(sonar-project.properties)。該文件應(yīng)包含項(xiàng)目的相關(guān)信息,例如項(xiàng)目名稱、版本號(hào)、源代碼目錄、測(cè)試代碼目錄、構(gòu)建工具等。
# 定義唯一的關(guān)鍵字
sonar.projectKey=devops-hello-service
# 定義項(xiàng)目名稱
sonar.projectName=My project
# 定義項(xiàng)目的版本信息
sonar.projectVersion=1.0
# 指定掃描代碼的目錄位置(多個(gè)逗號(hào)分隔,java項(xiàng)目源代碼一般在src目錄下面)
sonar.sources=.
# 執(zhí)行項(xiàng)目編碼
sonar.sourceEncoding=UTF-8
# 指定掃描java語言,如果不指定,則掃描目錄下存在的全部
sonar.language=java
# 掃描java項(xiàng)目時(shí),指定編譯文件所在目錄,不指定該目錄會(huì)報(bào)錯(cuò)
sonarjava.binaries=target/classes

配置文件可以來自于項(xiàng)目的properties文件,也可以是自己重寫在analysis properties文件里
質(zhì)量門禁,測(cè)試工具,單元測(cè)試
4. 運(yùn)行SonarScanner命令來分析項(xiàng)目并將分析結(jié)果上傳到SonarQube服務(wù)器上。您可以使用以下命令:

sonar-scanner

在運(yùn)行該命令之前,請(qǐng)確保已經(jīng)進(jìn)入了包含項(xiàng)目代碼的目錄
5. 在SonarQube服務(wù)器上查看項(xiàng)目分析結(jié)果。您可以在SonarQube儀表板中查看項(xiàng)目的概覽、代碼質(zhì)量、問題列表等信息。

scanner對(duì)maven工程進(jìn)行代碼掃描

  1. 安裝并啟動(dòng)SonarQube Server
  2. 在Maven項(xiàng)目中添加SonarQube插件。您可以在Maven項(xiàng)目的pom.xml文件中添加以下內(nèi)容:
<build>
  <plugins>
    <plugin>
      <groupId>org.sonarsource.scanner.maven</groupId>
      <artifactId>sonar-maven-plugin</artifactId>
      <version>3.8.0.2131</version>
    </plugin>
  </plugins>
</build>
  1. 在Maven項(xiàng)目中運(yùn)行SonarQube掃描器。在Maven項(xiàng)目的根目錄下,運(yùn)行以下命令:
mvn sonar:sonar \
  -Dsonar.projectKey=<項(xiàng)目唯一標(biāo)識(shí)符> \
  -Dsonar.host.url=<SonarQube服務(wù)器URL> \
  -Dsonar.login=<SonarQube用戶令牌>

其中,sonar.projectKey是您的項(xiàng)目在SonarQube中的唯一標(biāo)識(shí)符,sonar.host.url是您的SonarQube服務(wù)器的URL地址,sonar.login是您的SonarQube用戶令牌,用于驗(yàn)證您的身份和訪問權(quán)限,其中projectKey,host.ur,login也可以配置到maven的setting文件中。
4. 等待掃描完成并查看SonarQube分析報(bào)告。掃描完成后,您可以登錄到SonarQube服務(wù)器,查看分析報(bào)告并獲取有關(guān)代碼質(zhì)量、漏洞和缺陷的詳細(xì)信息。
需要注意的是,SonarQube支持多種編程語言和技術(shù)棧,您需要根據(jù)項(xiàng)目類型和語言選擇合適的SonarQube插件和配置。此外,為了獲取更準(zhǔn)確和詳細(xì)的掃描結(jié)果,您可以在Maven項(xiàng)目的pom.xml文件中添加其他配置參數(shù),例如:

- `sonar.projectName`:項(xiàng)目名稱
- `sonar.projectVersion`:項(xiàng)目版本號(hào)
- `sonar.language`:代碼語言
- `sonar.sources`:源代碼目錄
- `sonar.tests`:測(cè)試代碼目錄
- `sonar.java.binaries`:Java二進(jìn)制文件目錄
- `sonar.java.libraries`:Java依賴庫目錄
- `sonar.java.source`:Java源代碼版本
- `sonar.java.target`:Java目標(biāo)字節(jié)碼版本

sonar的規(guī)則庫設(shè)置

使用sonar默認(rèn)的規(guī)則庫掃描時(shí)可能會(huì)有一大堆嚴(yán)重缺陷,產(chǎn)出一大堆不適用本項(xiàng)目的bug,產(chǎn)出報(bào)告令開發(fā)很苦惱,并拒絕修復(fù),可以根據(jù)項(xiàng)目調(diào)整sonar規(guī)則。在為公司項(xiàng)目設(shè)置Sonar規(guī)則時(shí),應(yīng)該考慮以下幾個(gè)因素:

  1. 項(xiàng)目的技術(shù)棧:Sonar規(guī)則應(yīng)該根據(jù)項(xiàng)目的技術(shù)棧來選擇。例如,如果項(xiàng)目使用Java編程語言,則應(yīng)該選擇Java規(guī)則集。
  2. 項(xiàng)目的安全性要求:如果項(xiàng)目處理敏感數(shù)據(jù)或需要滿足特定的安全標(biāo)準(zhǔn),則應(yīng)該選擇與安全相關(guān)的規(guī)則集。
  3. 項(xiàng)目的復(fù)雜性:如果項(xiàng)目非常復(fù)雜,則可能需要更嚴(yán)格的規(guī)則集,以確保代碼的質(zhì)量和可靠性。
  4. 項(xiàng)目的團(tuán)隊(duì)規(guī)模:如果項(xiàng)目由大型團(tuán)隊(duì)開發(fā),則需要考慮將規(guī)則設(shè)置為比較寬松,以避免代碼審核過程中的沖突和耗時(shí)。
    一般來說,應(yīng)該使用Sonar默認(rèn)規(guī)則集,并根據(jù)項(xiàng)目需要進(jìn)行調(diào)整。以下是一些可能有用的Sonar規(guī)則:
  5. 代碼復(fù)雜性規(guī)則:這些規(guī)則可以幫助您避免過于復(fù)雜的代碼,使代碼更易于閱讀和維護(hù)。
  6. 安全性規(guī)則:這些規(guī)則可以幫助您保持代碼的安全性,并減少潛在的漏洞和安全風(fēng)險(xiǎn)。
  7. 代碼可讀性規(guī)則:這些規(guī)則可以幫助您確保代碼易于理解和閱讀,從而提高代碼的可維護(hù)性。
  8. 性能規(guī)則:這些規(guī)則可以幫助您優(yōu)化代碼的性能,從而提高應(yīng)用程序的響應(yīng)速度和可擴(kuò)展性。

sonar如何接入jenkins項(xiàng)目

jenkins接入sonar分為三種類型:文章來源地址http://www.zghlxwxcb.cn/news/detail-727928.html

  • 普通類型(自由風(fēng)格任務(wù)類型)
  • maven(java+maven)
  • pipeline

sonar如何接入jenkins Java項(xiàng)目

  1. 首先,在Jenkins中安裝SonarQube插件。在Jenkins的管理面板中,導(dǎo)航到插件管理器,搜索并安裝SonarQube插件。
    質(zhì)量門禁,測(cè)試工具,單元測(cè)試
  2. 安裝完成后,轉(zhuǎn)到系統(tǒng)設(shè)置并配置SonarQube服務(wù)器。 在Jenkins管理面板中,導(dǎo)航到“系統(tǒng)設(shè)置”并找到SonarQube服務(wù)器配置部分。在此部分中,您需要提供SonarQube服務(wù)器的URL,身份驗(yàn)證令牌以及其他細(xì)節(jié)。
    質(zhì)量門禁,測(cè)試工具,單元測(cè)試
  3. SonarScanner的安裝可以在全局工具配置中選擇自動(dòng)安裝
    質(zhì)量門禁,測(cè)試工具,單元測(cè)試
  4. 然后,在構(gòu)建過程中添加構(gòu)建步驟以運(yùn)行SonarQube分析。 在Jenkins作業(yè)配置的“構(gòu)建”部分中,添加構(gòu)建步驟以運(yùn)行SonarQube分析。使用SonarScanner等其他工具來運(yùn)行SonarQube分析。還需要提供SonarQube項(xiàng)目的唯一標(biāo)識(shí)符。
    質(zhì)量門禁,測(cè)試工具,單元測(cè)試
    質(zhì)量門禁,測(cè)試工具,單元測(cè)試
    SonarQube analysis properties可以寫在jenkins中,如上圖。也可以放到項(xiàng)目的sonar-project.properties文件中,需要jenkins中指定配置文件的路徑,格式如下:
sonar.projectKey=${JOB_NAME}
sonar.sources=.
sonar.projectName=${JOB_NAME}
sonar.projectVersion=${BUILD_VERSION}
sonar.language=java
sonar.sourceEncoding=UTF-8
sonar.sources=$WORKSPACE
sonar.java.binaries=$WORKSPACE
  1. 最后,可以在Jenkins中查看SonarQube報(bào)告。 在Jenkins作業(yè)的構(gòu)建歷史記錄中,您可以找到SonarQube報(bào)告鏈接。您可以通過單擊此鏈接來查看SonarQube分析的結(jié)果和報(bào)告。

sonar如何接入jenkins maven項(xiàng)目

  1. 安裝和配置Jenkins Maven插件
    確保在Jenkins服務(wù)器上安裝了Maven插件。在Jenkins中,轉(zhuǎn)到Manage Jenkins > Manage Plugins > Available,搜索Maven Integration Plugin并安裝。確保Maven的路徑在全局工具配置中配置正確。
  2. 安裝和配置SonarQube插件
    確保在Jenkins服務(wù)器上安裝了SonarQube插件。在Jenkins中,轉(zhuǎn)到Manage Jenkins > Manage Plugins > Available,搜索SonarQube Scanner插件并安裝。
    質(zhì)量門禁,測(cè)試工具,單元測(cè)試
  3. 配置SonarQube服務(wù)器
    在Jenkins中,轉(zhuǎn)到Manage Jenkins > Configure System并找到SonarQube服務(wù)器的配置。添加SonarQube服務(wù)器,輸入服務(wù)器URL,以及訪問服務(wù)器的登錄憑證。
  4. 在Maven項(xiàng)目中添加SonarQube插件
    在Maven項(xiàng)目的pom.xml文件中添加SonarQube插件。在標(biāo)記中添加以下插件代碼:
<plugin>
    <groupId>org.sonarsource.scanner.maven</groupId>
    <artifactId>sonar-maven-plugin</artifactId>
    <version>3.8.0.2131</version>
</plugin>
  1. 使用jenkins build項(xiàng)目,并使用sonar掃描
    在build中如下配置
    質(zhì)量門禁,測(cè)試工具,單元測(cè)試
    其中maven具體需要使用那些命令根據(jù)自己的需求而定。
    然后根據(jù)需求設(shè)置pre step或者post step掃描
    質(zhì)量門禁,測(cè)試工具,單元測(cè)試
    Analysis properties 配置內(nèi)容如下:
sonar.projectKey=${JOB_NAME}
sonar.sources=.
sonar.projectName=${JOB_NAME}
sonar.projectVersion=${BUILD_VERSION}
sonar.language=java
sonar.sourceEncoding=UTF-8
sonar.sources=$WORKSPACE
sonar.java.binaries=$WORKSPACE
  1. 保存并構(gòu)建
    保存Jenkins項(xiàng)目的配置并執(zhí)行構(gòu)建操作。Jenkins將在構(gòu)建過程中運(yùn)行SonarQube掃描,并將結(jié)果報(bào)告到SonarQube服務(wù)器。

sonar如何接入jenkins pipeline項(xiàng)目以及門禁設(shè)置

  1. 構(gòu)建一個(gè)流水線job,流水線pipeline script如下編寫:
    其中一些具體代碼可以通過代碼生成器生成
pipeline{
    agent {
        label "api_test"
    }
    options{
        // 保留最大的構(gòu)建歷史
        buildDiscarder(logRotator(numToKeepStr: '2')) 
        // 設(shè)置流水線運(yùn)行時(shí)間最長(zhǎng)不超過10Min,如果超過,則自動(dòng)中止
        timeout(time:10,unit:'MINUTES')
        // 打印當(dāng)前時(shí)間戳
        timestamps()
        // 增加重試3次
        retry(3)
    }
    tools{
        maven "maven"
    }
    stages{
        stage("代碼獲取"){
            steps{
                echo "開始拉取代碼..."
                git credentialsId: '80cff850-de44-4be7-a874-d6d59a7712fd', url: 'https://gitee.com/jinjiancode/training_jrequests.git'
            }
        }
        stage("單元測(cè)試"){
            steps{
                echo "starting unittest..."
                bat "mvn test"
            }
        }
        stage("靜態(tài)代碼掃描"){
            steps{
                withSonarQubeEnv(credentialsId: 'sonar', installationName: 'sonarqube') {
                    // some block
                    bat "mvn sonar:sonar"
                }
            }
        }
        stage('代碼質(zhì)量門禁'){
            steps{
                script{
                    #等待質(zhì)量門禁通過
                    def result=waitForQualityGate()
                    echo "結(jié)果狀態(tài)為: ${result.status}"
                    if(result.status!='OK'){
                        echo "質(zhì)量門禁不通過"
                        error '未達(dá)到Sonarqube質(zhì)量門標(biāo)要求!'
                    }

                }
            }
        }
        stage("部署到測(cè)試環(huán)境"){
            steps{
                echo "deploy to test env"
            }
        }
        stage('自動(dòng)化測(cè)試'){
            parallel{
                stage('自動(dòng)化測(cè)試'){
                    steps {
                        echo "執(zhí)行自動(dòng)化測(cè)試"
                    }
                }
                stage('性能測(cè)試'){
                    steps {
                        echo "執(zhí)行性能測(cè)試"
                        build job: 'test_job1', parameters: [string(name: 'env', value: 'dev')]
                    }
                }
                stage('安全測(cè)試'){
                    steps {
                        echo "執(zhí)行安全測(cè)試"
                        build job: 'test_job2', parameters: [string(name: 'env', value: 'dev')]
                    }
                }

            }
        }
        stage('生成報(bào)告'){
            steps{
                echo "生成報(bào)告"
            }
        }
        stage('部署到生產(chǎn)環(huán)境'){
            steps{
                input '是否部署到生產(chǎn)環(huán)境?'
                echo "執(zhí)行部署。。。"
            }
        }
    }
    post{
        always{
            echo "發(fā)送郵件"
        }
        success {
            echo "發(fā)釘釘"
        }
        failure {
            echo "發(fā)微信"
        }
    }
}
  1. 接入Sonar質(zhì)量門禁
    通過上面的job,只是代碼掃描可能無法滿足日常的情況,當(dāng)掃描的結(jié)構(gòu)不滿足時(shí)我可能就不進(jìn)行后面的步驟了,這樣的情況,我們就需要接入質(zhì)量門禁的方式來實(shí)現(xiàn)。
  2. 在sonar服務(wù)端的質(zhì)量閥中設(shè)置質(zhì)量門禁,添加要運(yùn)用的項(xiàng)目,在質(zhì)量配置->質(zhì)量閥添加指標(biāo)來定義通過掃描的條件。然后將設(shè)置的質(zhì)量閥分配給要掃描的項(xiàng)目。
  3. 在sonar服務(wù)端的配置里面添加網(wǎng)絡(luò)調(diào)用hook
    配置->網(wǎng)絡(luò)調(diào)用
    質(zhì)量門禁,測(cè)試工具,單元測(cè)試
    質(zhì)量門禁,測(cè)試工具,單元測(cè)試
    這里添加Jenkins調(diào)用的地址,用來回調(diào)掃描的結(jié)果。URL配置為:Jenkins地址+/sonarqube-webhook

到了這里,關(guān)于SonarQube質(zhì)量門禁實(shí)踐的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 單元測(cè)試工具——JUnit的使用

    單元測(cè)試工具——JUnit的使用

    ?? 前言 ?? 本篇文章主要介紹單元測(cè)試工具JUnit的使用。 ?? 歡迎點(diǎn)贊 ?? 收藏 ? 留言評(píng)論 ?? 私信必回喲 ?? ?? 博主將持續(xù)更新學(xué)習(xí)記錄收獲,友友們有任何問題可以在評(píng)論區(qū)留言 ?? 博客中涉及源碼及博主日常練習(xí)代碼均已上傳GitHub JUnit提供了非常強(qiáng)大的注解功能

    2024年02月02日
    瀏覽(19)
  • 嵌入式單元測(cè)試工具Tessy的一些測(cè)試技巧

    最近做了一個(gè)平臺(tái)項(xiàng)目,需要進(jìn)行動(dòng)態(tài)代碼測(cè)試,入門了嵌入式單元測(cè)試工具Tessy,總結(jié)了一些簡(jiǎn)單的測(cè)試技巧。 當(dāng)前網(wǎng)上的教程普遍只寫內(nèi)容概要,真正入手還得自己認(rèn)真摸索一番。為此,特意總結(jié)了一些Tessy測(cè)試技巧以供有緣人參考。 提幾個(gè)Tessy工具使用的問題。 1.如何

    2023年04月17日
    瀏覽(62)
  • Tessy — 嵌入式軟件單元測(cè)試/ 集成測(cè)試工具學(xué)習(xí)

    Tessy — 嵌入式軟件單元測(cè)試/ 集成測(cè)試工具 本文章向大家介紹Tessy — 嵌入式軟件單元測(cè)試/ 集成測(cè)試工具,主要包括Tessy — 嵌入式軟件單元測(cè)試/ 集成測(cè)試工具使用實(shí)例、應(yīng)用技巧、基本知識(shí)點(diǎn)總結(jié)和需要注意事項(xiàng),具有一定的參考價(jià)值,需要的朋友可以參考一下。 Tessy 源

    2024年02月04日
    瀏覽(27)
  • 單元測(cè)試之- mock工具mockito

    單元測(cè)試之- mock工具mockito

    ?常用的mock工具mockito 在編寫單元測(cè)試時(shí),需要mock依賴的對(duì)象,減少依賴對(duì)象對(duì)測(cè)試的影響,Mocktio是常用的mock工具之一,那么mockito提供了哪些功能呢? Mock對(duì)象的創(chuàng)建和配置:Mockito可以通過簡(jiǎn)單的語法創(chuàng)建mock對(duì)象,并允許你配置mock對(duì)象的行為。 Mock對(duì)象的驗(yàn)證:Mockito提供

    2024年02月13日
    瀏覽(23)
  • 前端面試:【代碼質(zhì)量與工程實(shí)踐】單元測(cè)試、集成測(cè)試和持續(xù)集成

    在現(xiàn)代軟件開發(fā)中,確保代碼質(zhì)量是至關(guān)重要的。單元測(cè)試、集成測(cè)試和持續(xù)集成是關(guān)鍵的工程實(shí)踐,用于提高代碼的可靠性和可維護(hù)性。本文將深入探討這些概念,以及它們?nèi)绾卧谲浖_發(fā)中發(fā)揮作用。 1. 單元測(cè)試(Unit Testing): 單元測(cè)試是一種測(cè)試方法,用于驗(yàn)證代碼

    2024年02月11日
    瀏覽(31)
  • 單元測(cè)試自動(dòng)生成工具Evosuite的安裝使用

    單元測(cè)試自動(dòng)生成工具Evosuite的安裝使用

    1.1介紹 官網(wǎng):?https://www.evosuite.org/ GitHub:?https://github.com/EvoSuite 1.2安裝插件 (1)直接安裝 進(jìn)入settigs中,點(diǎn)擊plugins,搜索Evosuite,點(diǎn)擊安裝 (2)從官網(wǎng)下載安裝 打開網(wǎng)頁 https://plugins.jetbrains.com/plugin/18956-evosuite-xenoamess-tpm-/versions ,點(diǎn)擊Download按鈕下載插件。 選擇菜單File

    2024年02月03日
    瀏覽(20)
  • copilot 產(chǎn)生 python工具函數(shù)并生成單元測(cè)試

    copilot 產(chǎn)生 python工具函數(shù)并生成單元測(cè)試

    stock.py 這個(gè)文件,我只寫了注釋(的開頭),大部分注釋內(nèi)容和函數(shù)都是copilot 再新建一個(gè) stock_test.py,寫一行注釋,Ctrl+L(或者調(diào)用 Open compiletion Panel)產(chǎn)生了很多的單元測(cè)試樣例。 再裝一個(gè) Python Test Explorer 插件用來進(jìn)行 GUI test 附上我的 python test gui 配置 .vscode/settings.jon 有了

    2024年02月04日
    瀏覽(17)
  • Java單元測(cè)試AI工具-Diffblue Cover

    什么是Diffblue? Diffblue是一款基于人工智能和機(jī)器學(xué)習(xí)技術(shù)的自動(dòng)化測(cè)試工具。它可以幫助開發(fā)人員快速、準(zhǔn)確地發(fā)現(xiàn)代碼中的錯(cuò)誤和漏洞,并生成相應(yīng)的測(cè)試用例。Diffblue的核心技術(shù)是人工智能和機(jī)器學(xué)習(xí),它可以自動(dòng)地分析代碼,理解代碼邏輯,并生成相應(yīng)的測(cè)試用例。

    2024年02月08日
    瀏覽(32)
  • 【Python百寶箱】Python測(cè)試工具大揭秘:從單元測(cè)試到Web自動(dòng)化

    在現(xiàn)代軟件開發(fā)中,測(cè)試是確保代碼質(zhì)量和穩(wěn)定性的關(guān)鍵步驟。Python作為一門廣泛應(yīng)用的編程語言,擁有豐富的測(cè)試工具和庫,從單元測(cè)試到Web自動(dòng)化,覆蓋了多個(gè)測(cè)試層面。本文將介紹一系列Python測(cè)試工具,幫助開發(fā)者選擇適合項(xiàng)目需求的工具,提高代碼的可靠性和可維護(hù)

    2024年02月03日
    瀏覽(25)
  • 代碼質(zhì)量檢查工具SonarQube

    代碼質(zhì)量檢查工具SonarQube

    SonarQube是一個(gè)用于代碼質(zhì)量管理的開源平臺(tái),用于管理源代碼的質(zhì)量,通過SonarQube我們可以檢測(cè)出項(xiàng)目中重復(fù)代碼,潛在bug,代碼規(guī)范,安全性漏洞等問題,并通過SonarQube web UI展示出來 Sonar集成過程: 開發(fā)人員在本地的IDE中使用sonarLint運(yùn)行分析本地代碼 開發(fā)人員將代碼提交

    2024年02月13日
    瀏覽(38)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包