[Cosmo-dev] Cosmo QA process alterations
Aparna Kadakia
aparna at osafoundation.org
Fri Oct 12 16:23:01 PDT 2007
Team
Having been through 4 (will be 5 today) back to back Cosmo releases,
we have discovered some inefficiencies in the process that we would
like to rectify in the upcoming releases. Given the short release
cycles in cosmo, QA has been made available for no time to develop
more automated functional tests. As we all know, having more
automated tests is the single most critical factor for the success of
shorter releases.
The largest barrier to a faster QA release cycle ( faster being less
than 1 day to certify a release ) we need to remove the block of time
we current have alloted for manual functional testing, almost all of
which _can_ be automated but hasn't been done yet. Since the recent
releases allowed us no time to improve this area of automated testing
we can assume that the upcoming two week release cycles which will
include larger new features and won't allow us any time either. Since
going forward we will be automating new features as they come in to
the product we may even start lagging further behind in automated
coverage and picking up the slack even more with manual testing.
Practically, the only automated testing we can't automate is bug
regressions and interop. Everything else can be automated if QA's
time isn't locked up in manual release testing.
Since we have already agreed on the fact that we are going to
experiment with 2 week releases for Cosmo going forward, to solve
this is problem in a meaningful way without causing any significant
changes to the schedule or other release processes we propose the
following:
1. For the next 2 releases, QA would like to engage in no manual
testing beyond bug regressions and interop, and instead devote all
their time to developing additional automated tests. These tests
would be a replacement for the manual tests that are currently being
done, and a more diligent process to automate any new bugs found.
Only the automated Windmill and protocol tests will be run, resolved
bugs will be verified manually, and accceptance level interop testing
will be done to certify a release.
2. The down side to this would be that there is a chance the next 2
releases may be buggy and we may need to dish out patch releases in
case any critical bugs are encountered. But given this new process QA
can certify a new patch release in a matter of hours. The advantage
in the long term is we will have far broader and greater quality
coverage with automated tests. Currently Adam's manual testing has
helped catch less than a dozen bugs in all of the 0.7.x releases. So
we are not really looking at widely exposing ourselves by not running
the manual tests for the next 2 releases.
3. Another change in the process we would like is for QA to work on
automating new features in the branch they are developed in before
that feature is dropped in to the trunk. The next 2 releases may
potentially have big features like calendar overlays, month view and
date picker. We would much rather devote the time to writing more
automated tests for these features upfront rather than playing catch
up in following releases or during the release certification and
resorting to manual testing to cover what we couldn't squeeze in.
4. Ideally developers can write very basic workflow testcases for UI
features along with their unittetss before QA steps in to cover the
more intricate working scenarios. This will ensure that QA has
everything it needs and is not blocked in any way when taking on a
feature to automate. This will all insure a higher quality of the
feature when it lands in trunk.
Questions, concerns?
Let us know,
Aparna
More information about the cosmo-dev
mailing list