Adding Quality Assurance to open source projects: experiences from GeoTools, GeoWebCache an GeoServer
2021-09-30, 15:00–15:30, Aconcagua

Working in large open source projects, can be challenging, especially trying to keep everyone on the same page, and generating code that has enough similarities to allow shared maintenance.

The advent of platforms like GitHub also made it easier for one time contributors to participate, generating in the process a fair amoumt of “review stress” in the project maintainers.

The presentations covers automated QA tools as a way to make code more uniform, avoid introduction of some types of technical debt, and reduce review efforts on pull requests, while also raising the level of the review.


Working in large open source projects, with several people contributing to the code, can be challenging, especially trying to keep everyone on the same page, and generating code that has enough similarities to allow shared maintenance.

The advent of platforms like GitHub also made it easier for one time contributors to donate small and large bits of code to the platform, generating in the process a fair aout of “review stress” in the project maintainers.

The presentation covers how pull request checks, formatting and static analysis tools have been used to streamline basic checks in the code:

  • Testing the code on a variety of operating systems, Java versions and integrations with data sources before the code can be contributed to the project.
  • Enforcing common formatting.
  • Adding basic checks with CheckStyle.
  • Locating obvious errors, leftover code, basic optimization issues using the Java compiler linting, ErrorProne, PMD and SpotBugs.
  • Improving readability of the code as well as enforcing best practices and common approaches with the same tools.
  • Effects on the dynamics of code reviews.

The presentation will cover all those aspects, with examples from the author’s experience with the GeoTools, GeoWebCache and GeoServer projects.


Authors and Affiliations

Andrea Aime (1)

(1) GeoSolutions Group (https://www.geosolutionsgroup.com)

Track

Community / OSGeo

Topic

Community & participatory FOSS4G

Level

2 - Basic. General basic knowledge is required.

Language of the Presentation

English

Open source enthusiast with strong experience in Java development and GIS. Personal interest range from high performance software, huge data volume management, software testing and quality, spatial data analysis algorithms, map rendering. Full time open source developer on GeoServer and GeoTools.
Received the Sol Katz's OSGeo award in 2017.

This speaker also appears in: