Software Release Criteria
The following formal criteria that must be met before a software
release
can be allowed. Attach to this form empirical documentation for each
item.
- [ ] Automated Functional System Tests for all features in the
Staged
Delivery Plan are passing. May be manual instead of automated
for Stage 1, Spring 2008.
- [ ] At least 80% of System Tests for non-functional
requirements
in the SRS are passing.
-
[ ] Actual code complete is at least 90% of planned.
- [ ] The slope of the code growth curve for the week prior
to
release must
be less than 25%. (Based on data from daily build reports).
- [ ] Automated coding style checker reports each class
has less than 2
violations per 100 LOC.
- [ ] At least 90% of binary miniature milestones (action
items) are
complete.
- [ ] There are no severity 1 open defects.
- [ ] The number of defects reported must be at least 80% of
predicted.
- [ ] 75% of all severity 2 reported defects must have been
fixed.
- [ ] The slope of the defects reported curve for the five
days prior
to
release must be less than 30%.
- [ ] A test coverage tool shows that statement
coverage from functional
tests
Stage 1: non-UI classes is at least 65%, and for UI classes is at least
70%.
Stage 2: non-UI classes is at least 90%, and for UI classes is at least
95%.
Explanation of any items not checked goes here.
Notes for Spring 2008 Stage 1 release
Code growth curve: 5 days
Defect reported curve: 3 days
Notes for Winter 2007 second release
#1 Each developer writes their own tests for their fix or enhancement.
Usually the test
is System level test run as a Costello script, but some
enhancements will also require an automated unit test (JUnit).
Implies:
Staged Delivery Plan lists all fixes.
System Test scripts exist.
Test Case Matrix contains references to these tests.
SRS is updated and clarified.
Instructor will check:
Live demo of System Tests automation.
Live demo of Unit Tests automation.
Evidence of results (pass/fail).
Documentation of Basis Path tests. Each developer performs Basis Path tests
on one method with complexity greater than 4.
#9 includes broken builds. (Including any automatic tests run
on the build).
#10 means defects in the code you wrote.
Reminder: Penalty for late release is one-third letter grade per day
(except Sat/Sun). QA mgr is exempt from late penalty, but gets
penalized
for defects found by customer/instructor in the product.