纯技术角度看自动化测试的误区 自动化测试工具
主动化的最终宗旨是什么?
很多人认为是像工业反动一样毁灭手工休息者,在这里等于手工测试人员。但是测试存在一个目前来看还算正确的、其余行业不多见的悖论:任何时分,你都不能准 确晓得还有多少bug,就像警察不能正确晓得还有多少贼一样。所以主动化的最终宗旨——目前来说——是束缚尽量多的人手去进行更多的测试,除非有一种手腕 能像《多数派报告》外面的预言少女一样预知一切的bug。由于永远有bug,有未知的bug,所以目前不存在能掩盖一切bug的手腕,这意味着总须要人的 参加。现代化手腕只是增加了而不是根相对人员的需求。所以假如认为主动化任务一做完就没活干,那你就大错特错了。正认为这些人闲下来,他们有空发明更难发 现的bug。这本来没什么大不了的,但是搁在规划阶段假如过火悲观,牛皮吹得太大的话,到前面就不轻易圆回去了。由于按上面剖析,主动化测试总有些中央是 力有不逮的,假如这些中央没有支配坏人手时光,只要在这些中央出大问题,那你就玩完了。
是否÷怎么主动验证?
这个问题每次复审测试规划的时分我都会问,针对每一个提出要实行主动化的中央。每个人、每个工具议论主动化的时分都在说如何实在模仿用户运用产品的状况, 这很好,相对须要关切。不过我得问一句:测试的最后后果是什么?假如你答复“各种运用产品的场景已经运行过“就嘎但是止的话,你就漏掉了一大块:最最少还 得加上“产品能任务÷不能任务“!所以模仿用户运用产品的各种状况,只是处理上述问题的第一局部;如何得出测试通过÷不通过的最终论断,才是处理问题第二 局部的基本局部,还有具体缺点描写、高低文数据搜集等没做到呢!
所以让机器像人一样运用产品,并没有处理全部问题,剩下的事件还有多少,这是须要视状况而定的。假如只是处理了第一个问题就认为高枕无忧,那几乎就是在赌运气——有些时分主动验证是小菜一碟,但很多时分不是。
令事件好转的是,主动验证了产品的一些指标,并不能反应产品的真本质量。有时验证过的指标通过了,其实其余中央裸露了问题却没有检讨:比方说界面说没有查 询后果,这是希冀的,实践上查问请求基本没有发过来,不去检讨底下做了什么的话是发明不了这种bug的;有时验证过的指标不通过,其实只是个小问题,大问 题须要通过别的指标裸露进去的:比方说返回后果跟预期的不一致,实践上该有的都有,只是没有排好次序而已,但是被标志成主要的测试用例没有通过,把开发人员搞个鸡飞狗跳。
这个话题深刻上来,那就触及到白箱测试战略、逻辑推演、嗅探和代码注入以及布景捏造(environment mockup)等范畴,但我想强调的只是,假如斟酌主动化测试,主动验证相对不是可疏忽的问题。
整合现有还是自给自足?
这个话题用于争辩赛是最好不过的,它契合“没有定论“这个请求 。所以我只谈一下运用每种手腕时的一些不正确的假如。
“现有的工具多少经过测试,质量比本人做的更有保障“。先不在“是不是更有保障”这个话题上钻牛角尖,咱们先关注几个问题:全部测试规划外面哪些局部是关 键,质量不好会招致致命后果的?这些局部有专人保障质量吗?出事的时分反应时光和修复后果如何?假如这些问题的答案是“我充足理解”或许“没问题”,那我 也赞同这个观念(我敢打赌,答复“不清晰”或许“很不妙”的人已经跑去从新斟酌全部测试规划了)。
“整合现有的工具省时光和人力”。相似的几个问题:你能在这些工具中自在地调试产品的缺点吗?整合规划能适应产品的演化吗?几个月后呢?几个版本后呢?有须要变化的话代价多少?(哗啦啦又跑掉一大队人了)
“自给自足好掌握”。投入产出比方何?引用的技巧牢靠吗?假如你是开发者(之一),他人都认为好掌握吗?谁来测试你的自给自足后果?
“有些事件必需得自给自足“。剪裁现有工具难度如何?时光许可吗?
其实,纵观一切提出的问题,我想强调的一点是,主动化测试的开发跟产品开发一样,也是须要规划和治理的,答复这些问题也是主动化测试名目治理的一局部。
如何处理历史遗留问题?
折腾上个版本的主动化测试框架是新人最头疼的事件。但理解了一些事件之后,本来的事件就没那么令人头疼了。很多人忙于理解旧框架自身,其实世界始终在变,如今名目须要处理的问题才是症结。无论上个版本的货色如许光辉,只要它适宜如今的名目(的局部)才是有价值的。所以对于旧的主动化测试技巧,理解什么能用得上,而不是理解它是什么,才是须要做的事件。就似乎汽车修理工晓得怎么拆旧车零件来修新车,并不须要他晓得怎么造一辆进去或许晓得怎么修好旧的那辆。
另一个极其是“旧的不好糟蹋,继承用“。“能用“这个论断是基于以前名目标状况的,如今能不能用,值不值得用得看如今的需求。人们要理发就是个很好的例子:总不能由于头发长进去要耗营养不好糟蹋,就一辈子都不剪吧?
文章来源于领测软件测试网 https://www.ltesting.net/