Question 1
In a Jenkins CI pipeline, why would you prefer a custom HTML report over default plugins like JUnit or Allure?
Because plugins cannot display failed tests properly.
To avoid dependency on Maven or TestNG.
Because Jenkins plugins are deprecated and insecure.
To add project-specific metrics, branding, or custom formatting not available in plugins.
Question 2
In TestNG, the IReporter interface is used in Jenkins custom reporting to :
Hook into the TestNG execution lifecycle to create custom HTML/XML reports after test completion.
Integrate Jenkins with SonarQube coverage results.
Skip tests dynamically during execution.
Log real-time console outputs into Jenkins Blue Ocean.
Question 3
In the provided CustomReportListener, why is FileWriter used inside a try-with-resources block?
To ensure reports are encrypted before Jenkins publishes them.
To automatically close resources and avoid memory leaks, even if exceptions occur.
To allow multiple threads to write reports simultaneously.
Because Jenkins requires try-with-resources for report writing.
Question 4
Why do we add listeners in testng.xml rather than directly in test classes?
To improve parallel execution performance.
To enable Maven Surefire plugin compatibility only.
Because listeners cannot be attached at the class level.
To avoid code duplication and make reporting reusable across multiple test suites.
Question 5
When publishing a custom HTML report in Jenkins using the HTML Publisher Plugin, which of the following is mandatory?
Report file should always be named index.html.
Reports must be generated in XML before Jenkins can convert to HTML.
Report directory and file name must exactly match the build output paths.
Report directory must be under /var/lib/jenkins/.
Question 6
Suppose your Jenkins job takes 50 minutes mainly due to dependency downloads in Maven. Which best practice directly reduces this?
Using dependency caching in Jenkins workspaces.
Publishing custom HTML reports earlier in the pipeline.
Adding more listeners in TestNG.
Running jobs sequentially instead of parallel.
Question 7
How do you isolate flaky tests in Jenkins pipelines?
Run the same test multiple times until it passes.
Add test retries directly in Jenkins UI.
Ignore the failed tests in reporting.
Use containerized or ephemeral environments for consistent execution.
Question 8
Which of the following is NOT a best practice for Jenkins pipelines?
Version control Jenkinsfiles along with application code.
Store secrets and credentials directly in Jenkinsfiles for portability.
Split large pipelines into modular jobs.
Use Jenkins shared libraries for repetitive tasks.
Question 9
You configured a Jenkins job with parallel TestNG execution, but the reports show inconsistent test counts. What is the most likely cause?
Improper synchronization in TestNG listener/report generation.
Using Maven instead of Gradle.
Outdated Jenkins version.
HTML Publisher plugin bug.
Question 10
In enterprise Jenkins usage, why do teams often integrate Grafana/Prometheus with Jenkins reports, instead of relying only on HTML Publisher?
HTML reports can only store last build results, while monitoring tools provide historical trend analysis.
Jenkins cannot display reports larger than 5 MB.
Because HTML Publisher cannot be used with pipelines.
HTML reports can only store last build results, while monitoring tools provide historical trend analysis.
There are 10 questions to complete.