上下文驱动测试的七大基本原则中的第一条:
The value of any practice depends on its context.
任何实践的价值依赖于它所应用的上下文来决定。
对于这条原则,James Bach在《No Best Practices:How to Think About Methodology》中做了深入的解析。
所谓“实践”并没有最佳可言。
并不是大多数人认为好的就是最佳实践。
也不能因为你尊敬的某位权威人士说他喜欢这样做,就是最佳实践。
最佳实践与流行无关,最佳实践是技术层面的问题,它跟应用的上下文有关。
某些实践在某些区域的某些特定上下文里才能称得上是好的实践或者是相对其他而言有用的实践。
例如:对于代码冻结阶段的确定,是否存在所谓的最佳实践呢?
部分人会认为应该早点冻结,这样有助于降低测试的压力,减少产生新bug的可能性。但是反对的观点是,过早冻结会产生评审的工作量,并且会减缓产品提高的步伐。
这其实是进度和风险的矛盾。要想化解这个矛盾,其实不存在什么最佳实践,只有在具体的项目中具体分析上下文,才能确定。
最佳实践意味着什么呢?其实所谓的最佳实践是某些人认为如果你不按最佳实践的做法来做的话很可能会失败或吃亏。但是仅此而已。提出最佳实践的人是谁?他们知道的足够全面吗?他们的理论适合你的应用吗?除了这些所谓的最佳实践提出的方法,没有其他好的解决办法了吗?
有些所谓的最佳实践甚至谈不上是实践,因为说的和做的还是存在很大差距的。