Skip to main content

Xianpeng Shen

Hi 👋, I’m Xianpeng
#

Engineer. Builder. Maintainer.


About Code Coverage

·839 words·4 mins
This article briefly introduces the concept, importance, common metrics, working principle, and mainstream tools of code coverage, emphasizing that code coverage metrics should not be over-relied upon.

Branch Naming Convention

·205 words·1 min
This article introduces the conventional branch naming specification, including the purpose of branch names, key points, and basic rules for naming branches in Git. It also provides examples of branch prefixes and their meanings.

Why Windows Installer pop up? (Resolved)

·188 words·1 min
This article explains a common issue with Windows installers where a pop-up appears unexpectedly, and how to resolve it by correcting the build folder naming convention.

Is Your Python Code Pythonic Enough?

·673 words·4 mins
This article introduces the concept of Pythonic code and demonstrates through examples how to write more concise and elegant Python code, helping developers improve code quality and readability.

git sparse-checkout enable and disable

·127 words·1 min
This article explains how to enable and disable git sparse-checkout, including examples of how to configure sparse-checkout for specific directories and how to reset it.

How to backup Jenkins

·214 words·2 mins
This article explains how to backup Jenkins using the ThinBackup plugin and shell scripts, ensuring that your Jenkins configuration and build data are safely stored.

About Python pip install and versioning

·739 words·4 mins
Explains the behavior of pip install commands with different versioning schemes, including how to handle beta versions and the implications of using --upgrade with specific version numbers.

Jenkins Top 3 best practice

·906 words·5 mins
Discusses three best practices for Jenkins: Configuration as Code, Shared Libraries, and Multi-Branch Pipeline, highlighting their benefits in terms of transparency, traceability, and self-service builds.

How to use JMeter to do Performance Testing

·491 words·3 mins
A guide on using JMeter for performance testing, including recording scripts, running tests in GUI and non-GUI modes, and integrating with Jenkins for automated testing.

Bitbucket Webhooks Configuration

·398 words·2 mins
How to configure Bitbucket webhooks to trigger Jenkins builds for multi-branch pipelines, ensuring that Jenkins can automatically respond to events like pull requests and branch updates.

Git History Statistics Generator

·712 words·4 mins
GitStats, a Git history statistics generation tool written in Python, can generate detailed code submission statistical reports to help developers analyze project activity and contributor information.

Git Commit Squash

·226 words·2 mins
How to squash multiple Git commits into a single commit, both locally and remotely, using interactive rebase and merge strategies in Bitbucket.

Code Coverage tools of C/C++

·168 words·1 min
Code Coverage is a measurement of how many lines, statements, or blocks of your code are tested using your suite of automated tests. It’s an essential metric to understand the quality of your QA efforts.

Jenkins Windows agent configuration

·544 words·3 mins
Provides a step-by-step guide on how to configure a Jenkins Windows agent, including setting up the Java runtime, creating the node, and troubleshooting common issues.

Jenkins Linux agent configuration

·298 words·2 mins
Provides a step-by-step guide on how to configure a Jenkins Linux agent, including setting up the Java runtime, creating the node, and troubleshooting common issues.

Why I Switched from Testing to Development After 9 Years

·322 words·2 mins
This article documents my experience and insights from transitioning from testing to development. I share my learning and work arrangements during paternity leave, including reading books, participating in open-source projects, and physical exercise, emphasizing how to maintain learning and growth while caring for a family.

My Perspective on Senior Test Engineers

·357 words·2 mins
This article outlines the skills and experience required for a senior test engineer, including testing theories, business acumen, tool proficiency, and coding abilities, helping readers understand how to become an excellent senior test engineer.