(note, mbligh removed abstract - same as paper proposal) Andypants, this is becoming a bit of a brainstorm list as opposed to formal text just yet, I think that's OK for the first couple of days personally, hope you're OK with it.

Introduction

(note, I think I should shorten this substatially so it's not one long meaningless jibber ;-))

Some changes in the 2.6 development process have made fully automated testing vital to the ongoing stability of Linux. The pace of development is constantly increasing, with a rate of change that dwarfs most projects. The lack of a separate 2.7 development kernel means that we're feeding change more quickly and directly into the main tree. Moreover, the breadth of hardware types that people are running Linux on is staggering. Therefore it is vital that we catch at least a subset of introduced bugs earlier on in the development cycle, and keep up the quality of the 2.6 kernel tree. Faster identification of problems means that the issue is still fresh in the developers mind, and the offending patch is much more easily removed (not buried under thousands of other changes). With fully automated test, it is also possible to use other techniques to make debugging and problem identifcation easier (that would be impractical with manual testing), such as automated binary chop search amongst thousands of patches, to weed out offending changes. We can compile hundreds of different configuration files on every release, cross-compiling for multiple different architectures. We can identify performance regressions and trends, adding statistical analysis. Tests needed run the gamut from compile testing to boot testing to regression, function, performance, and stress testing. From disk intensive to compute intensive to network intensive loads. We need an open-source test harness to enable sharing of tests, and the ability to "pass" the reproduction of issues from developer to developer. This paper will cover both the benefits of automated testing, the problems of running the tests, and communicating the issues back to the development community in an effective fashion. Much of the work above has been started, and exists today. I will present the open-source test harness used for such testing, and publication methods on http://test.kernel.org

The Problem

Whilst testing will never catch all bugs, it will improve the rate of quality. Improved code quality results in a better experience not only for users, but also for developers.

How automated testing in general

How t.k.o

APW: I am taking a first stab at fleshing this out... APW: Ok, a first stab at this section is now in the HTML (see andypants topic)

How it should be

Other harnesses

APW: am taking a stab at this section...

Open client

Future Linking

Future

TestingPaper (last edited 2007-03-27 21:42:02 by PaulTurner)