QA talk:Package Update Acceptance Test Plan
jlaska's test ideas
* All updates must include a new changelog entry - someday I'd like to require a bug (or ticket) in the changelog entry, but perhaps that's too aggressive now. * What MUST sections can we automate from the package review guidelines ? * SPEC file sanity, including ... * Proper upstream Source URL included in SPEC? * When are changes to %config files are acceptable? * Is %defattr defined in the SPEC? * Any sanity tests we can do against the %scripts included in a spec file * How to handle Unapplied %patches? * License compat review? * Stripped vs unstripped binaries, is there a preference? * Validate man pages? * What existing *lint tools can we run, and what results are acceptable? (rpmlint, elflint, xmllint) * Any relationship to the new privilege escalation policy ?  https://fedoraproject.org/wiki/Packaging:ReviewGuidelines  https://fedoraproject.org/wiki/Privilege_escalation_policy
- The introduction needs to be clear that this is an acceptance test plan - All these tests have to pass before we can even think about functional testing of the package.
- Kparal: I'm little floating in the terminology, because "acceptance testing" is by wikipedia also "functional testing" or "<you-name-it> testing". But I understand what you mean, they are just the basic tests and more specific tests to that package will follow in the future.
- Specifically: it needs to be clear that when an update has PASSED this test plan, that just means it's ready for real testing. The actual testing of the update is not complete; it has just barely started at this point.
- Maybe the final result of the test plan should reflect this: If all the test cases pass, the package is ACCEPTED, otherwise it's REJECTED.
- Kparal: This is perfect, much better than my original terminology. Thanks, replaced.
- Each test case can still use PASS/FAIL, of course.
- NEEDS_INSPECTION is fine as-is.
- If possible, we should have links for each of the listed test cases that outline exactly what's being tested (and/or link to the source code).
failed mandatory test can be brought to FESCO
Seth Vidal has provided me with an idea that if the package maintainers don't agree with a failed mandatory test (they claim it should pass), the issue can be brought to FESCO. FESCO could e.g. grant an exception for that package or deny the request. -- Kparal 11:58, 5 March 2010 (UTC)
save resources on failed mandatory tests
When some of the mandatory tests fail, should we continue on running all the other (mandatory/introspection/advisory) tests, or just stop to save resources? The update is rejected anyway. Also when we don't stop there, a lot of higher-level tests will fail just for the reason that the package is e.g. not installable. -- Kparal 12:08, 5 March 2010 (UTC)
rpmlint - warnings threshold
The introspection rpmling test may have another requirement:
"Warnings count is under certain threshold."
However, adamw said that warnings are just warnings and the number of them should not be a reason the disqualify an update. However, keep in mind that this is an introspection test and it can be waived. -- Kparal 14:37, 5 March 2010 (UTC)
rpmguard checks as introspection tests
rpmlint - no new errors present
Kparal: Instead of "Rpmlint - no errors present" test case we can have "Rpmlint - no new errors present" test case in case maintainers have problems to fix or whitelist their existing valid errors.