VTK/SoftwareQuality/GerritTestFailures: Difference between revisions
No edit summary |
|||
Line 1: | Line 1: | ||
Gerrit provides a powerful code review tool to the VTK and ITK open source communities. For each submitted topic, | [http://review.source.kitware.com/#/q/status:open,n,z Gerrit] provides a powerful code review tool to the VTK and ITK open source communities. For each submitted topic, Gerrit builds and tests the topic on three typical configurations: Ubuntu, Mac and Windows. The goal of these builds is to catch compile errors and test failures introduced by the topic, before the topic is merged into VTK or ITK. | ||
Recurring test failures on the Gerrit builds can easily mask new defects introduced by | Recurring test failures on the Gerrit builds can easily mask new defects introduced by a topic. Recently, the number of recurring failures for VTK was: | ||
* Ubuntu - 28 | * Ubuntu - 28 | ||
* Mac - 4 | * Mac - 4 | ||
Line 18: | Line 18: | ||
==Define== | ==Define== | ||
Keep the number of VTK Gerrit recurring test failures(defects) to 0. When the defects | Keep the number of VTK Gerrit recurring test failures(defects) to 0. When the defects are above 0, developers find it difficult to see if their changes have increased the number of defects. | ||
==Measure== | ==Measure== | ||
As of January 26, 2013, there were 34 defects | As of January 26, 2013, there were 34 defects on the three VTK Gerrit builds: | ||
* Ubuntu - 26 | * Ubuntu - 26 | ||
* Mac - 4 | * Mac - 4 | ||
Line 30: | Line 30: | ||
* Python tests accounted for 15 of the defects. Note that only the Ubuntu system has python enabled. | * Python tests accounted for 15 of the defects. Note that only the Ubuntu system has python enabled. | ||
* One of the tests, TestSplitViewportStereoHorizontal, was failing on all three systems. It also was failing on many other nightly builds. | * One of the tests, TestSplitViewportStereoHorizontal, was failing on all three systems. It also was failing on many other nightly builds. | ||
* One of the python tests, was failing on every VTK build that had python enabled. | * One of the python tests, TestTemplates, was failing on every VTK build that had python enabled, including the Gerrit Ubuntu build. | ||
* Seven tests were timing out on the Ubuntu system. | * Seven tests were timing out on the Ubuntu system. | ||
* The remaining tests required | * The remaining tests required further analysis and individual attention. | ||
==Improve== | ==Improve== | ||
* Tests time out on Ubuntu - 7 tests | * Tests time out on Ubuntu - 7 tests | ||
** [http://review.source.kitware.com/#/c/9585/ Increased timeouts for all tests to 61 | ** [http://review.source.kitware.com/#/c/9585/ Increased timeouts for all tests to 61 seconds and 120 seconds for two tests] | ||
* Python syntax errors - 5 tests | * Python syntax errors - 5 tests | ||
** [http://review.source.kitware.com/#/c/9573/ Fix the tcl-to-python conversion for a few tests] | ** [http://review.source.kitware.com/#/c/9573/ Fix the tcl-to-python conversion for a few tests] | ||
Line 70: | Line 70: | ||
** TestInteractorStyleTreeMapHover | ** TestInteractorStyleTreeMapHover | ||
Once reduced to 0, developer diligence is needed to keep the defects to 0. The burden is on the | Once reduced to 0, developer diligence is needed to keep the defects to 0. The burden is on the Gerrit reviewers. |
Revision as of 20:03, 5 February 2013
Gerrit provides a powerful code review tool to the VTK and ITK open source communities. For each submitted topic, Gerrit builds and tests the topic on three typical configurations: Ubuntu, Mac and Windows. The goal of these builds is to catch compile errors and test failures introduced by the topic, before the topic is merged into VTK or ITK.
Recurring test failures on the Gerrit builds can easily mask new defects introduced by a topic. Recently, the number of recurring failures for VTK was:
- Ubuntu - 28
- Mac - 4
- Windows - 3
This experiment seeks to reduce VTK Gerrit recurring test failures to 0 and keep them at 0.
This experiment uses the DMAIC methodology of the Six Sigma management process to "Define", "Measure", "Analyze", "Improve" and "Control" to resolve these issues.
The basic methodology (from Wikipedia) consists of the following five steps:
- Define process goals that are consistent with customer demands and VTK's strategy.
- Measure key aspects of the current process and collect relevant data.
- Analyze the data to verify cause-and-effect relationships. Determine what the relationships are, and attempt to ensure that all factors have been considered.
- Improve or optimize the process.
- Control to ensure that any deviations from target are corrected before they result in defects. Set up pilot runs to establish software quality, move on to production, set up control mechanisms and continuously monitor the process.
Define
Keep the number of VTK Gerrit recurring test failures(defects) to 0. When the defects are above 0, developers find it difficult to see if their changes have increased the number of defects.
Measure
As of January 26, 2013, there were 34 defects on the three VTK Gerrit builds:
- Ubuntu - 26
- Mac - 4
- Windows - 4
Analyze
Initial analysis revealed:
- Python tests accounted for 15 of the defects. Note that only the Ubuntu system has python enabled.
- One of the tests, TestSplitViewportStereoHorizontal, was failing on all three systems. It also was failing on many other nightly builds.
- One of the python tests, TestTemplates, was failing on every VTK build that had python enabled, including the Gerrit Ubuntu build.
- Seven tests were timing out on the Ubuntu system.
- The remaining tests required further analysis and individual attention.
Improve
- Tests time out on Ubuntu - 7 tests
- Python syntax errors - 5 tests
- Python tests misconfiguration- 3 tests
- Suppress recurring Mac failures - 3 tests
- Failed to locate materials for shaders - 3 tests
- NumPy tests failing - 2 tests
- Failed image regression test - 1 test
- http://review.source.kitware.com/#/c/9545/ Adjust error threshold for TestDensifyPolyData]
- Bad clipping planes - 1 test
- TestRenderView fails on some X platforms - 1 test
- CamBlur failing with X Error of failed request: BadMatch XGetImage - 1 test
- Volume mapper failed - 1 test
Control
As of February 3, the 6 defects remain:
- Ubuntu - 2 defects
- TestTemplates
- TestSplitViewportStereoHorizontal
- Mac - 1 defect
- TestSplitViewportStereoHorizontal
- Windows - 3 defects
- TestSplitViewportStereoHorizontal
- TestTilingCxx
- TestInteractorStyleTreeMapHover
Once reduced to 0, developer diligence is needed to keep the defects to 0. The burden is on the Gerrit reviewers.