● Check status
if(status==0)
{
Configure
Set autologon A
Record test status:1
Logout
}
if(status==1)
{
Test
}
这个级别的人,需要懂得脚本编程,需要懂得系统设置,autologon and autorun。
3. 有一定经验的自动化人员(改变手工测试case以利于自动化的更简单,可靠的实现)
● 不需要log out and log on
● 利用Windows命令Runas
● 用高级语言调用Runas
● 利用重定向来输入Password
这个级别的人,需要懂得高级语言,重定向,Windows系统命令Runas
4. 中级自动化人员(具有更丰富的开发经验,可以用程序代替UI和系统命令)
● 不需要Runas命令
● 利用.NET的Process对象
● 用B的身份生成一个Process来进行配置工作
这个级别的人,要比较熟悉高级语言,比较熟悉高级语言的类库,懂得操作系统的内核基本概念
5. 高级自动化人员(精通高级语言,精通操作系统内核)
● 不需要多生成一个进程
● 用本线程impersonate用户B
● 利用.NET WindowsIdentity 对象
● 必须要调用Windows API,LogonUser
这个级别的人,要精通C/C++和Java,C#等高级语言,精通Windows内核的知识和Windows API
从以上的例子可以看到,针对同一个test case,不同的测试人员,从手工到高级自动化,由于自己知识面的原因,会设计出非常不同的case出来。越高级的自动化越灵活,稳定,可靠,也更需要掌握更多的开发和内核的知识。因此,我们看到很多人在强烈的否定自动化,你先看看他到底在哪个层次中。越下边层次的自动化人员,由于技术的原因,碰到的问题会越多,能解决的问题却越少,因此对自动化的抱怨也就越大了。这些都是可以理解的,不过以此来否定自动化,我觉得还是不太应该,毕竟自己技术还不过关。
文章来源于领测软件测试网 https://www.ltesting.net/