最近看了李善友写的关于精益创业的四本书,主题思想是原先工业社会/传统互联网社会的思维方式是先摸需求,然后计划-实现-测试-使用。然而用户往往开始并不知道自己想要啥,所以我们思考方式要变为摸索-与用户交流,多次迭代获悉最基本动能后开发,测试,交给用户使用,然后快速反馈,迭代式继续开发,测试...
我认为这种思考方式是对的,也是与敏捷思维一致的。考虑到测试行业,我经常把软件测试比喻为寻宝,缺陷在哪具有很的不确定性和很大程度上的未知性,对于自动化测试仅是对已知的错误进行验证,而这些已知的问题在初期往往开发人员不会发生问题的,自动化测试最大优点在于有效控制回归测试。我个人一直非常强调探索式测试,特别是基于测程管理的探索式测试的重要性,这与精益创业的精神是完全一致的。我们不要花太多时间去设计要测试啥,而是要计划通过测试学习啥,然后再决定如何测试,重点测试项,不断迭代。
我个人建议自动化测试仅仅用于建立冒烟测试用例,其他交给基于测程的探索式测试。再说现在软件生命周期越来越短,建立,维护庞大的测试代码实际在是浪费。