Re: [RELEASE] Planning QA activities

2012-04-16 Thread Andrea Pescetti

On 16/04/2012 xia zhao wrote:

2012/4/16 Andrea Pescetti

Sure, and it was great work. But those tests were run on versions that are
now quite outdated. Example: the spell check test asks you to verify that
no spell check is available and that dictionaries have been removed
accurately, while we all know that things are quite different in current
builds.

How do you means tests were run on versions that are now quite outdated?


http://wiki.services.openoffice.org/wiki/QA/TestCases/ has several 
testcases that would only apply to older builds (like: testing removal 
of dictionaries, but these are now bundled; testing removal of fonts, 
but these are now replaced; testing removal of HTTP features, but in the 
meantime those have been replaced too).



1) Full QA is run on what we release. We need to ensure that OpenOffice
works now, not that previous builds worked.

Agree if the Full here means  test matrix on full platforms and full
langauges. The OpenOffice you means here I understand is AOO. For AOO,
the problem is we lost manual test cases


I wouldn't despair that we get them back at some point: as I wrote a 
long time ago, it would be enough to receive the test cases, the 
infrastructure for running them can be replaced.


Regards,
  Andrea.


Re: [RELEASE] Planning QA activities (was: Dictionary extensions)

2012-04-15 Thread Rob Weir
On Sun, Apr 15, 2012 at 6:22 PM, Andrea Pescetti pesce...@apache.org wrote:
 On 15/04/2012 Rob Weir wrote:

 On Sun, Apr 15, 2012 at 11:49 AM, Andrea Pescetti wrote:

 Historically, OpenOffice.org produced a numbered Release Candidate
 (OpenOffice.org 3.3 had ten, RC1 to RC10) that was made available to the
 community exactly for the purpose of looking for unknown bugs. QA
 activities
 were planned for the RC phase and, after a few days of availability, a RC
 was approved as final or rejected (and the Release Manager could, and at
 times did, include fixes for previously known bugs that had been
 accumulating and that were significant; none of them was a blocker in
 itself, but each of them would have caused problems to users, so their
 combined effect was blocking the release).

 That is what we've been doing with the dev snapsots builds.  Surely
 you've seen the QA work Lily has done with testing them?


 Sure, and it was great work. But those tests were run on versions that are
 now quite outdated. Example: the spell check test asks you to verify that no
 spell check is available and that dictionaries have been removed accurately,
 while we all know that things are quite different in current builds.

 The traditional OpenOffice.org Quality Assurance process had two features
 that I'd like to keep:

 1) Full QA is run on what we release. We need to ensure that OpenOffice
 works now, not that previous builds worked.


Full to me means a test matrix on all platforms, all functions, all
languages, and includes performance, interop and other tests.  A full
test pass probably takes 4-6 weeks if we do it right.  I don't think
we have the opportunity to do more than one full test pass per
release.   But this should happen much earlier, right after a feature
freeze when all features targeted for a release have been checked in.

 2) The community at large is involved in testing, in a specific short period
 just before the release. If Release Candidate has a different meaning now,
 call it the Pre-Release Phase, that will end with a Release Candidate we
 can vote on rather confidently. We can't rely on volunteers doing QA on a
 regular basis, but we can very easily find volunteers willing to stress-test
 a nearly final version in a well defined timeframe (1-2 weeks).

 I would keep this as a basis for discussing how to structure QA activities
 in future (after 3.4), if others agree.


This is only a fraction of the picture.  We also need to consider what
changes are allowed, and how those changes are reviewed, as we
progress toward a Release Candidate.  That is a critical part of how
we maintain quality.  If committers are checking in whatever they feel
like, up to the day we have a RC, then we will have serious quality
problems.

When we changing code we invalidate prior testing.  Not in an
absolute sense, for most code changes there is an test impact, and
some portion of the full test needs to be redone, to verify both the
fix, but also that we did not break anything else.  Again, this
requires discipline from committers.  Last minute feature work, or
even undisciplined bug fixing, can cause more problems than it fixes.

So I think we want the trunk to be fee CTR up to a certain point
(feature freeze?) and after that point only changes that are
accompanied by a BZ issue are allowed, but still CTR.  Then at some
point, after the main test pass is complete, we start prioritizing
bugs as we create snapshot builds.  We gradually raise the level
required for bugs to be accepted.  P3, P2, P1.  In the final weeks we
fix only marked release blockers.   Once we have the RC build we
branch the code.  At that point (and maybe even earlier) we switch to
RTC, e.g., no changes are allowed unless they are reviewed first.

Was anything like this done before with OOo?

-Rob

 Regards,
  Andrea.


Re: [RELEASE] Planning QA activities

2012-04-15 Thread Jürgen Schmidt

On 4/16/12 12:40 AM, Rob Weir wrote:

On Sun, Apr 15, 2012 at 6:22 PM, Andrea Pescettipesce...@apache.org  wrote:

On 15/04/2012 Rob Weir wrote:


On Sun, Apr 15, 2012 at 11:49 AM, Andrea Pescetti wrote:


Historically, OpenOffice.org produced a numbered Release Candidate
(OpenOffice.org 3.3 had ten, RC1 to RC10) that was made available to the
community exactly for the purpose of looking for unknown bugs. QA
activities
were planned for the RC phase and, after a few days of availability, a RC
was approved as final or rejected (and the Release Manager could, and at
times did, include fixes for previously known bugs that had been
accumulating and that were significant; none of them was a blocker in
itself, but each of them would have caused problems to users, so their
combined effect was blocking the release).


That is what we've been doing with the dev snapsots builds.  Surely
you've seen the QA work Lily has done with testing them?



Sure, and it was great work. But those tests were run on versions that are
now quite outdated. Example: the spell check test asks you to verify that no
spell check is available and that dictionaries have been removed accurately,
while we all know that things are quite different in current builds.

The traditional OpenOffice.org Quality Assurance process had two features
that I'd like to keep:

1) Full QA is run on what we release. We need to ensure that OpenOffice
works now, not that previous builds worked.



Full to me means a test matrix on all platforms, all functions, all
languages, and includes performance, interop and other tests.  A full
test pass probably takes 4-6 weeks if we do it right.  I don't think
we have the opportunity to do more than one full test pass per
release.   But this should happen much earlier, right after a feature
freeze when all features targeted for a release have been checked in.


2) The community at large is involved in testing, in a specific short period
just before the release. If Release Candidate has a different meaning now,
call it the Pre-Release Phase, that will end with a Release Candidate we
can vote on rather confidently. We can't rely on volunteers doing QA on a
regular basis, but we can very easily find volunteers willing to stress-test
a nearly final version in a well defined timeframe (1-2 weeks).

I would keep this as a basis for discussing how to structure QA activities
in future (after 3.4), if others agree.



This is only a fraction of the picture.  We also need to consider what
changes are allowed, and how those changes are reviewed, as we
progress toward a Release Candidate.  That is a critical part of how
we maintain quality.  If committers are checking in whatever they feel
like, up to the day we have a RC, then we will have serious quality
problems.

When we changing code we invalidate prior testing.  Not in an
absolute sense, for most code changes there is an test impact, and
some portion of the full test needs to be redone, to verify both the
fix, but also that we did not break anything else.  Again, this
requires discipline from committers.  Last minute feature work, or
even undisciplined bug fixing, can cause more problems than it fixes.

So I think we want the trunk to be fee CTR up to a certain point
(feature freeze?) and after that point only changes that are
accompanied by a BZ issue are allowed, but still CTR.  Then at some
point, after the main test pass is complete, we start prioritizing
bugs as we create snapshot builds.  We gradually raise the level
required for bugs to be accepted.  P3, P2, P1.  In the final weeks we
fix only marked release blockers.   Once we have the RC build we
branch the code.  At that point (and maybe even earlier) we switch to
RTC, e.g., no changes are allowed unless they are reviewed first.

Was anything like this done before with OOo?


Yes, more or less in a similar way and I think it is a good way to 
achieve a high quality product.


And on the other hand we should try to provide as much as possible 
automated testing. And volunteers should do manual testing not only RC 
candidates. A continuous testing on dev snapshots would be very much 
appreciated if possible.


Juergen




-Rob


Regards,
  Andrea.