一、当证明了自动化工具可行之后,不要直接在一个大型测试项目上直接实践:
软件的发展有点像量子力学,小规模项目中的行为可能与大规模项目中的行为有很大差别,在没有关于工具的先前项目经验时,尝试着在项目中直接进行大规模的自动化测试,似乎很难获得成功。从小规模的项目开始,慢慢一步步来。切莫“为了自动化测试而自动化测试”。
二、一个自动化包不仅仅只是为了满足现在的需求,而是为了能一直使用
所以应该尽可能的使颗粒度越小越好,模块之间高内聚、低耦合,可自由组合。每个模块独立拿出来都可以运转,模块之间任意组合,亦可以很好的运转。最好是不要被手工测试中前后关系所羁绊。
三、自动化测试的结果具有可见性是很有必要的
在自动化测试过重恢复和记录日志是非常重要的,因为这意味着:
1.测试可以在无人值守地运行;
2.测试完成后,可以通过分析测试的运行记录来查看实际发生的情况,对于该种情况,我能想到的是调用屏幕录制软件,这样便可以查看实际脚本运行的情况,便于对于bug的查找;
3.最重要的,大量的测试能够被测试。
四、自动化的3R
1.尽可能经常地、重复地运行测试,我们发现很多错误都是在自动化间歇性故障中才出现,如果不进行反复的测试就不会发现这些错误;
2.通过以上方法,可以保证自动化测试本身的可靠性,这样当测试没有通过的时候,就可以断定是由于不正确的系统行为多导致的,而不是自动化测试本身的问题
所以自动化测试的3R:run,run,run