proposal deterministic improvements in integration tests
amymullins edited this page May 18, 2016
·
5 revisions
The initial functional/integration tests running from https://github.com/RackHD/RackHD/tree/master/test are not yet being reliable, falling prey to failures due to inconsistencies and lack of specific determinism. As we build these out to improve our quality gates (PR pull request validation) efforts for RackHD, we need to drive to more deterministic tests that work the system to properly and quickly identify errors.
This proposal covers the goals and efforts required to help achieve greater stability and deterministic behavior out of the RackHD unit and smoke/functional test suite.
- A dedicated system will be setup to continuously run through the current RackHD unit and smoke/functional test suites. The test output will be reviewed, errors identified, the RackHD Dev leads will identify/prioritize issues their teams will resolve and drive to close out those issues.
- Setup a dedicated slave node that will support continuous unit and smoke/functional testing.
- Continuously execute the unit test suite. Suite currently averages 1 minute 9 seconds to run. Plan for ¾ to 1 full day of testing (will run > 300 iterations of the test suite for a sizeable sample set of data).
- Data to be made available to the distributed RackHD dev teams for analysis.
- Dev managers to identify issues their teams will investigate and/or resolve, team backlogs to be updated accordingly.
- Continuously execute the smoke/functional test suite. Suite currently averages ~14 minutes to run. Plan for 3 days of testing (will run > 300 iterations over a weekend for a sizeable sample set of data).
- Data to be made available to the distributed RackHD dev teams for analysis.
- Dev managers to identify issues their teams will investigate and/or resolve, team backlogs to be updated accordingly.
- Setup Jenkins to provide a daily email (or some other mechanism) to communicate all the failing tests from the day before.
- Set up a process/expectation on the development teams to review the daily report and debug any new errors that may have been introduced with their corresponding PRs.
- Open up Github issues for errors encountered during the PR quality gate checks (unit/smoke testing).
- Requires more frequent Github issue triage and proactive assignment from the RackHD Dev leads.
- Can this be done automatically?
- "up front test" from Core Committer meeting: https://groups.google.com/d/msg/rackhd/5Ly5mOXT_cI/-C5l5DH2GwAJ
- footprint test framework efforts: https://groups.google.com/forum/#!topic/rackhd/Qs5rOy49KMo
Update 4/19/16
- Preliminary test data collected. Opened up the following github issues for tracking:
- Rerunning continuous functional testing to collect additional data.
Update 5/11/16
- Data continues to be collected. Tracking github issues and status:
- https://github.com/RackHD/RackHD/issues/170 (Complete)
- https://github.com/RackHD/RackHD/issues/171 (Complete)
- https://github.com/RackHD/RackHD/issues/172 (Complete)
- https://github.com/RackHD/RackHD/issues/173 (possibly no longer an issue, considering closing this issue after larger sample set is collected)
- https://github.com/RackHD/RackHD/issues/174
- https://github.com/RackHD/RackHD/issues/203 (possibly no longer an issue, considering closing this issue after larger sample set is collected)
Update 5/18/16
- Data continues to be collected. Tracking github issues and status:
- https://github.com/RackHD/RackHD/issues/170 (Complete)
- https://github.com/RackHD/RackHD/issues/171 (Complete)
- https://github.com/RackHD/RackHD/issues/172 (Complete)
- https://github.com/RackHD/RackHD/issues/173 (Closed, no longer an issue)
- https://github.com/RackHD/RackHD/issues/174 (Still monitoring)
- https://github.com/RackHD/RackHD/issues/203 (Closed, no longer an issue)