понедельник, 17 августа 2009 г.

[comp.prog.testing] Некоторые принципы тестирования программ от Бертранда Мейера

Озвучены в этой статье. И, в кратце, процитированны здесь:

Principle 1: Definition
To test a program is to try to make it fail.

Principle 2: Tests versus specs
Tests are no substitute for specifications.

Principle 3: Regression testing
Any failed execution must yield a test case, to remain a permanent part of the project's test suite.

Principle 4: Applying oracles
Determining success or failure of tests must be an automatic process.

Principle 5: Manual and automatic test cases
An effective testing process must include both manually and automatically produced test cases.

Principle 6: Empirical assessment of testing strategies
Evaluate any testing strategy, however attractive in principle, through objective assessment using explicit criteria in a reproducible testing process.

Principle 7: Assessment criteria
A testing strategy's most important property is the number of faults it uncovers as a function of time.

Вот здесь Мейера раскритиковали. Мол, слишком мало принципов. Мол, Мейер делает важными только те тесты, которые выявляют ошибки. Мол, Мейер не учитывает сложных психологических отношений между разработчиками и тестерами. По поводу последнего Мейер замечательно высказался:

I did not address psychology. Does effective testing imply confrontation? I am writing this while on a plane; whether the flight software's tester hurt the programmer's feelings worries me less, right now, than whether he exercised best efforts to uncover deficiencies. (Actually, the informational display has been stuck for the past hour at 958 km from our starting point-I hope critical systems were tested more confrontationally.)

Комментариев нет: