软件测试之自动化测试系统的建立
上个月参加MS技术大会,有关自动化系统的建立有些感想一直没有写出来,在这里和大家sharing下,共同提高吧。不过,下面的一些想法仅适合有自动化基础且需要深入发展的项目。
有关软件测试的自动化,大家是不是很快能想到,哇噻,这个工具很火那个工具很棒,这个数据驱动那个关键字驱动,这类适合公司自主研发那个适合直接购买?但当我们把工具的事儿搞定之后,除了培训倡导大家好好学习,天天用工具,竭力提高利用率覆盖率普及率之外,下一步应该怎么做,大家想透彻了吗?我们的自动化发展方向是什么?
无疑,自动化测试系统。偶不是拿MS的成果上来赚口水,而是结合项目目前的现状,的确需要这样,但不严格照搬别人的,自己开发的自动化工具,同时也有自己的特点,那就自己再想辙呗。
自动化测试系统是什么,包括哪些方面?在说这个之前,我先分析下自己所在项目上有关自动化测试方面的问题吧。
1、无专门的脚本管理工具,svn?css?不失一个好办法,但要运行脚本还得再启用一个工具,我们暂且临时写几条命令然后加到任务计划吧
2、脚本谁写的?什么时候写的?什么时候维护过?要在哪台机器上跑?什么时候跑?跑多长时间?报告怎么发,发给谁?发哪些内容?不同的项目总有不同吧。ok,简单的工具能做到吗?写几行命令?谁写?谁来维护命令行?
3、脚本运行失败了怎么办,如何错误恢复?如何恢复干净的测试环境?如何重现错误?
4、自动化工具有人维护吗?谁维护过?实行版本控制了吗?有专门的自动化需求人员吗?有专门的开发和维护人员吗?兼容性做得怎么样?性能如何?还有没有改进的地方?谁有这个权利管?
5、脚本可以给开发人员做自测用吗?哪些适合给非测试人员用?
6、有没有脚本管理规范?脚本设计规范?脚本参考的案例设计规范?脚本编制规范?工具管理规范?自动化管理规范?机器管理规范?有没有自动化测试实验室?自动化环境配置方案?
ok,暂且这些问题吧,显然,仅凭一个自动化工具没法做到,要真正的把自动化用好,需要涉及到什么?人、脚本、邮件、网络、工具、机器、环境等等,那我们需不需要一个系统将这些统一管理起来,而不是零零散散,随随便便?这就是自动化测试系统了。
怎么做?舍不得孩子套不着狼,一个公司的自动化仅靠俩技术牛人几个有点小智慧的测试人员就搞定了?仅靠几台2G的机器就搞定了?
关键是想法,是正确的方法论,是有决策能力的人的认可。但不可随便就行动,因为毕竟目前阶段大部分软件公司推行自动化就是高风险的东东,如果没有合理的分析、设计、验证,更重要的是没有实际的自动化基础就投入,必然是失败的。
做适合自己的自动化测试系统,跟软件开发一样,前期工作很重要、很重要。自动化测试框架