在自动化测试引入和应用中,我们清楚一些基本的原则:
-选择好工具,最流行的工具不一定适合自己,真正适合自己的工具才是最好的。如Robot不一定是最好的,但它的多机交互协作能力是其它工具没有的
-根据客户端、Web和服务器的不同特点可选择不同的测试工具,如Web的链接、UI变化快和复杂的逻辑,工具的录制功能要强、稳定,适应不同的平台(Windows, Linux, Mac OS)和浏览器(IE, ForeFox, NS, ...)。而服务器一般不存在UI界面,主要是对不同协议的支持。
-负载、性能自动化测试比较容易实现,但功能性测试更困难
-软件测试自动化(TA)虽然具有很多优点,但只是对手工测试的一种补充,TA绝不能代替手工测试。在系统功能逻辑测试、验收测试、适用性测试、涉及物理交互性测试时,多采用黑盒测试的手工测试方法; 单元测试、集成测试、系统负载或性能、稳定性、可靠性测试等比较适合采用TA。
- 工具本身并没有想象力和灵活性,自动测试只能发现15-30%的缺陷,而手工测试可以发现70-85%的缺陷;TA工具在进行功能测试时,其准确的含义是回归测试工具,因为工具不能发现更多的新问题,但可以保证对已经测试过部分进行测试的准确性和客观性
-找准测试自动化的切入点,一般从长期的新产品开始、同步进行,并选用一些相对容易进行自动化处理的、手工测试较繁的模块着手,如大量API调用、邮件模板处理等;
-把测试开发纳入整个软件开发体系,是必要的,系统不具有可测试性,再好的工具也无能为力。而且测试自动化前期投入大,这样软件开发的前期分配的时间要多些,测试执行的时间可短些;人力分配也不同,进行资源的合理调度。
-测试自动化依赖测试流程和测试用例。没有好的测试流程或者没有设计有效的测试用例,测试工具会事倍功半。
软件测试自动化的投入较大
但有一个问题困扰着我们,即采用下面哪种模式更好?
1。专门的TA团队,负责自动化模块开发,开发完后交给进行功能测试的队伍。人为增加了一个交接工作、沟通层次,但TA团队全心再Scipting, 开发效率高,而且有利于留住TA engineer
2. 将产品的部分模块承包给TA团队,TA开发好了,他们手工测试就少了,让TA团队自己Drive自己,效果应该不错,但开发效率可能会低,或TA团队感觉压力太大,或不喜欢手工测试,容易被逼走去做开发。
欢迎大家评论!