|
我今年新入职的公司,现在开始大力推行自动化测试。测试部门经理希望将人力解放出来,并且得到老板的大力支持,很庆幸自己能够敢上这个机遇。在面试的时候,只是说要做localization,并没有说要做自动化测试工程师。这个title现在在劳动力市场上还是很有含金量的吧。我的目标是把测试的各个领域都做到,在我过去6年的工作经验中,一直没有涉及过这个领域。做过测试执行,测试用例,测试计划,黑盒测试,代码覆盖率测试,代码走读等方面的测试。觉得欠缺的就是自动化以及底层驱动测试,性能测试。
先介绍下我们的自动化工具吧。我们的产品是基于windows的界面操作软件,所以自动化工具实现的功能主要分两大部分,抓取object,编辑脚本实现测试用例的逻辑。现在才开始做了2个礼拜的时间吧,发现了些问题,进行总结如下:
首先,我们的测试用例是美国人负责编写和维护,我们只是做执行,他们写的不好,往往要测试几次,才能明白用例表达的真正意思。我是新人,对产品是完全不了解,就在这个情况下进来编写脚本,首先,对需要verify的点有很多不清楚或者不确定的地方,需要不断的麻烦老员工进行确认,可是同一个用例,不同人的理解可能又不同,导致我也不能完全确定我的脚本是否正确实现用例。
其次,用例没有逻辑性,我在编写脚本时,搭构架需要很多时间,并且写出来的也不好。这个问题一方面是由于用例本身的问题,还有就是我对用例不熟悉。
再者,在脚本编写时,对异常情况的考虑不充分,往往遇到一个异常导致这个脚本暂停,无法继续执行下面的脚本。我根据我编程的经验,基本是在每个子脚本的入口都做一个前提判断,满足进入,但是没有办法在每个verify point都做到,这样就太繁杂了。
我们是并行开发写脚本,一个人写好的脚本,其他人审核需要花费很大的时间和精力。
综上我认为做自动化测试的几个条件,:
1.测试用例清晰明确(这个也是所有测试的首要条件)
2.需要对产品已经用例熟悉的测试人员来编写脚本(这样会更加高效)。
3.自动化工具能够实现异常情况的处理。
4.自动化测试应该有详细的流程和规范以及培训(这和编码一个道理,否则一个人写出来一个摸样,以后维护脚本需要花更多的时间)。
而这些条件恰恰是我现在的公司不具备的。
先写这么多,以后继续补充。 |
|