第5节 自动化,想说爱你不容易
腾小宇他们所测试的产品,是一款互联网的PC音乐播放器,用标准的C++开发的软件。说到自动化测试,大家都不陌生,因为在过去的几年中,测试开发团队已经做出了一个自动化测试框架。
开会后的第二天,莎姐召集了几个人,其中就有陈导,开始讨论自动化测试的实施方案。
“我们可以用现成的自动化测试框架,以前测开组做的那个。”彪哥第一个发言。
“还能用吗?我们的UI可改了好几版了。”陈导提出一个疑问。
“应该没问题。只要开发哥还遵守了以前我们定义的规范,UI对象应该还可以识别。”彪哥答复。
“这只是设想,需要去摸个底。”陈导说。
按照大家讨论的情况,莎姐做了分工,腾小宇也被安排进了这个自动化突击队,因为他在面试时表现出的良好代码能力给莎姐留下了深刻的印象。莎姐觉得这样的人才应该在这个关键时刻用上,加上小宇是个新人,更需要这样高强度的项目来磨练,帮助他快速成长。
自动化突击队开始了自我救赎之路,他们挑选出了所有的P1级别的用例,数量在500个左右。腾小宇也被分配了任务,他的工作是按照手工用例的步骤,在自动化框架下写测试脚本。
经过半年的努力,自动化测试突击队终于圆满的完成了任务,看着自己写的测试代码如丝般顺滑地跑了起来。大家的心里别提有多高兴了。尤其是小宇,这是他进公司以来参与的最有挑战的工作,此刻心中充满成就感。
自动化测试脚本每天都在跑,大家心里充满了期待,希望在最近的迭代版本中,自动化测试能在回归测试中派上用场。
紧张的时刻到了,在更新了版本代码后,发现很多用例都跑失败了。
“咦,怎么这么多用例都跑不过去?”腾小宇第一个发现了问题。
“我去,查一下,是咋回事!”陈导跳了起来。
“这个版本做了UI大改版,以前的UI控件被改得面目全非了,整个操作流程都改变了……”陈导说。
这天晚上,时针指向10点整,腾小宇还在和大家调试自动化测试的脚本。
“陈导,咱们自动化测试怎么这么脆弱呢?”小宇鼓起勇气问了句。
“没办法,UI自动化天生就有这个缺陷。高度依赖UI属性,一旦产品的界面发生改变,脚本的维护量非常大。”陈导耐心地解释着。
“哦,有人解决过这个问题吗?”小宇问。
“很少。据我所知,在传统软件领域内,还有那么一些公司的自动化效果还不错,但是他们的产品不像我们互联网公司的产品,产品UI相对比较固定。”陈导望着远方说道。
“哦,确实是,我来这里一阵,界面就改了两三回了!”小宇若有所思。
“嗯,别想那么多了,今晚先把眼前的问题解决了吧!”陈导催促到。
在一瓶瓶红牛的助力下,突击队终于把所有的用例维护好了。踏出公司大门的那一刻,小宇看着漫天的星斗,吸着凉爽的空气,感觉脑袋特别清醒。他发了一篇朋友圈:凌晨2点的天气,真好!