Skip to content

Self-Assessment Tools

This chapter defines the tools and usage methods that project teams can use to independently verify compliance with TQS standards before requesting a certification audit. It includes an overview of automated verification tools, tool-specific configuration guides, CI integration checks, and comprehensive report generation methods.


33.2.1. Automated Verification Tool Overview

The key verification items required for TQS certification can be quantitatively measured using automated tools. The following table summarizes the core tools used for TQS self-assessment and their pass criteria.

ToolVerification AreaExecution CommandPass Criteria
SpotlessJava code formattingmvn spotless:check0 format violations
ESLintJS/TS code qualityyarn lint0 errors
PrettierCode formattingyarn format:check0 format violations
JaCoCoBackend test coveragemvn test jacoco:reportLine 80%, Branch 70%
VitestFrontend testingyarn test:coverageLine 80%, Branch 70%
LighthouseWeb performance/accessibilitynpx lighthouse <URL>Performance 90, Accessibility 90
OWASP Dependency-CheckDependency securitymvn dependency-check:check0 vulnerabilities with CVSS 7.0+

All tools must be executable in a CLI environment and must be configured to run automatically in the CI/CD pipeline.


33.2.2. Tool-Specific Configuration Guide

This section describes the installation and basic configuration methods for each tool.

33.2.2.1. Spotless (Backend Code Formatting)

Spotless is integrated into Maven projects through the spotless-maven-plugin. The plugin must be added to the <build> > <plugins> section of pom.xml.

The key configuration items are as follows.

Configuration ItemValueDescription
FormatterGoogle Java FormatTQS mandatory formatter
Target scopesrc/**/*.javaAll Java sources
Exclusion scopeAuto-generated codejOOQ generated code, etc.
  • Format check: mvn spotless:check (build fails on violations)
  • Format apply: mvn spotless:apply (auto-fix)

33.2.2.2. ESLint (Frontend Code Quality)

ESLint must be configured using the Flat Config format. Create an eslint.config.js file in the project root.

The key configuration items are as follows.

Configuration ItemValueDescription
Config formatFlat ConfigTQS mandatory format
Parser@typescript-eslint/parserTypeScript support
Vue plugineslint-plugin-vueVue 3 SFC linting
TypeScript plugin@typescript-eslint/eslint-pluginType safety rules
  • The any type prohibition rule (@typescript-eslint/no-explicit-any) must be set to error.
  • Enabling the Vue Composition API enforcement rule is recommended.

33.2.2.3. Prettier (Code Formatting)

Prettier is configured through the .prettierrc file in the project root.

The default configuration values recommended by TQS are as follows.

Configuration ItemRecommended ValueDescription
printWidth100Maximum line length
tabWidth2Indentation size
useTabsfalseUse spaces
semitrueUse semicolons
singleQuotetrueUse single quotes
trailingCommaallUse trailing commas
  • Format check: yarn format:check or npx prettier --check .
  • Format apply: yarn format or npx prettier --write .

33.2.2.4. JaCoCo (Backend Test Coverage)

JaCoCo is integrated into Maven projects through the jacoco-maven-plugin. The plugin must be added to pom.xml and coverage thresholds must be configured.

The TQS mandatory coverage criteria are as follows.

Coverage TypeMinimum ThresholdNotes
Line coverage80%Mandatory
Branch coverage70%Mandatory

The following targets may be excluded from coverage measurement.

  • jOOQ auto-generated code
  • Configuration classes (@Configuration)
  • DTO and Record classes
  • Application entry points containing the main method

33.2.2.5. Vitest (Frontend Testing)

Vitest manages test configuration in vite.config.ts. A separate vitest.config.ts file may also be used.

The key configuration items are as follows.

Configuration ItemValueDescription
Test environmentjsdom or happy-domDOM simulation
Coverage providerv8 or istanbulCoverage measurement engine
Coverage reporterstext, html, lcovReport output formats
  • Run tests: yarn test
  • Measure coverage: yarn test:coverage
  • Coverage criteria must meet the same thresholds as the backend: line 80%, branch 70%.

33.2.2.6. Lighthouse (Web Performance/Accessibility)

Lighthouse can be executed through Chrome DevTools or CLI. The CLI method is used in CI environments.

The TQS mandatory score criteria are as follows.

CategoryMinimum ScoreNotes
Performance90Mandatory
Accessibility90Mandatory
Best Practices80Recommended
SEO80Recommended
  • CLI installation: npm install -g lighthouse
  • Execution: npx lighthouse <URL> --output=json --output-path=./lighthouse-report.json

33.2.2.7. OWASP Dependency-Check (Dependency Security)

OWASP Dependency-Check is integrated into Maven projects through the dependency-check-maven plugin.

The key configuration items are as follows.

Configuration ItemValueDescription
Failure thresholdCVSS 7.0Build fails when vulnerabilities at or above this score are found
Report formatHTML, JSONResult report output format
Auto-updateEnabledAutomatic NVD database refresh
  • Run scan: mvn dependency-check:check
  • The build fails if even one vulnerability with a CVSS score of 7.0 or higher is found.
  • Frontend dependencies should be checked separately using yarn audit or npm audit.

33.2.3. CI Integration Check

All automated verification tools must be integrated into the CircleCI pipeline to run automatically on every commit.

33.2.3.1. Pipeline Configuration Order

The CI pipeline must execute verification stages in the following order.

OrderStageExecution ToolBehavior on Failure
1Code format checkSpotless, PrettierPipeline abort
2Lint checkESLintPipeline abort
3Unit testsJUnit 5, VitestPipeline abort
4Coverage verificationJaCoCo, Vitest CoveragePipeline abort
5BuildMaven, VitePipeline abort
6Security scanOWASP Dependency-CheckPipeline abort

Each stage executes only if the previous stage succeeds. When a stage fails, subsequent stages are not executed and the pipeline is immediately aborted.

33.2.3.2. CI Check Checklist

The following items must be verified to ensure CI integration is properly configured.

  • Verify that all verification tools execute successfully in the CI environment.
  • Verify that the pipeline aborts when verification fails.
  • Verify that coverage reports are saved as CI artifacts.
  • Verify that security scan results are output as reports.
  • Verify that build success/failure notifications are delivered to the team.

33.2.4. Comprehensive Report Generation

A TQS self-assessment report must be prepared by consolidating the execution results of each tool. This report is used as reference material when requesting an audit.

33.2.4.1. Report Contents

The comprehensive report must include the following items.

ItemContentSource
Project informationProject name, version, technology stackManual entry
Code format resultsSpotless, Prettier execution resultsTool execution logs
Lint resultsESLint execution results, warning/error countsESLint report
Backend coverageLine/branch coverage figuresJaCoCo report
Frontend coverageLine/branch coverage figuresVitest report
Performance/accessibility scoresLighthouse scores by categoryLighthouse report
Security scan resultsNumber of vulnerabilities, highest CVSS scoreOWASP report
CI pipeline statusRecent build success rate, consecutive success countCircleCI dashboard

33.2.4.2. Report Preparation Standards

  • All figures must be extracted directly from tool execution results. Figures must not be manually adjusted.
  • The date of report preparation and the execution environment (OS, tool versions) must be specified.
  • If there are non-compliant items, a remediation plan and expected completion date must be stated for those items.
  • The report is submitted together with the audit request form. Requesting an audit without a report is possible, but attaching a report can shorten the audit period.

TIENIPIA QUALIFIED STANDARD