Advanced Debugging
About AdvDbg Consult Train Services Products Tools Community Contact  
欢迎光临 高端调试 登录 | 注册 | FAQ
 
  ACPI调试
Linux内核调试
Windows内核调试
 
  调试战役
调试原理
新工具观察
 
  Linux
Windows Vista
Windows
 
  Linux驱动
WDF
WDM
 
  PCI Express
PCI/PCI-X
USB
无线通信协议
 
  64位CPU
ARM
IA-32
  CPU Info Center
 
  ACPI标准
系统认证
Desktop
服务器
 
  Embedded Linux
嵌入式开发工具
VxWorks
WinCE
嵌入式Windows
 
  易内核
  小朱书店
  老雷的微博
  《软件调试》
  《格蠹汇编》
沪ICP备11027180号

BUG也精彩

帖子发起人: 削个椰子皮   发起时间: 2016-09-26 15:12 下午   回复: 0

Print Search
帖子排序:    
   2016-09-26, 15:12 下午
Coness 离线,最后访问时间: 2016-11-30 9:28:03 削个椰子皮

发帖数前25位
注册: 2016-01-14
发 贴: 33
不同技能的测试工程师是如何正确的进行自动化测试
Reply Quote

很多人理解的自动化就是把手工测试case用脚本和工具转变成自动化测试。也就是说把手工测试的每一个步骤用脚本来模拟,从而执行testcase。那么自动化的所有问题就归结于,如何用工具和脚本来转化手工操作步骤了。还有很多非常senior的,但是不会coding的手工测试工程师强调case的design能力是如何如何重要,自动化相对来说不是那么重要。

我这里可以肯定的说,没有好的编程功底,你也不可能设计出非常好的testcase,自动化的开发也不应该是仅仅把手工操作用脚本来模拟,而是应该大幅度的改变testcase,使得能够用最好的方式来进行自动化。那些手工测试人员所谓的设计case的重要性,和他们设计case的高水平,实际上只是在他们的知识范围之内产生的观点。下边我用一个小例子来说明,编程能力在自动化过程中起的作用到底有多大。基本上来讲,有多强的开发水平,就有多强的自动化设计,实现水平。自动化开发和产品的开发实际上都是一样的,都是有需求,你来实现。当然,不同水平的人,实现起来的效果是千差万别的。这也就是为什么开发有高手,有低手,自动化测试的开发也同样有低手,有高手。自动化测试水平没有上限,你要学会发挥自己的无穷潜力。

不多说了,现在说一下我们要自动化什么问题。我们有两个计算机帐号,A和B。我们需要用B帐号进行系统的设置,也就是测试的准备工作,然后用A帐号来进行测试。下边来说一下不同水平的人是如何进行自动化的。

  1. 手工测试人员

 Log on B

 Configure

 Log out

 Log on A

 Test

  2. 初级自动化人员(直接把手工case转成自动化)



Set autologon B

  Set autorun

  Record test status: 0

  Logout

  Check status

  if(status==0)

  {

  Configure

  Set autologon A

  Record test status:1

  Logout

  }

  if(status==1)

  {

  Test

  }

  这个级别的人,需要懂得脚本编程,需要懂得系统设置,autologon andautorun。

  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

  从以上的例子可以看到,针对同一个testcase,不同的测试人员,从手工到高级自动化,由于自己知识面的原因,会设计出非常不同的case出来。越高级的自动化越灵活,稳定,可靠,也更需要掌握更多的开发和内核的知识。因此,我们看到很多人在强烈的否定自动化,你先看看他到底在哪个层次中。越下边层次的自动化人员,由于技术的原因,碰到的问题会越多,能解决的问题却越少,因此对自动化的抱怨也就越大了。这些都是可以理解的,不过以此来否定自动化,我觉得还是不太应该。由于自己技术还不过关所以我一直在用Testbird做APP测试,TestBird是一个专业的手游和app测试平台,全球手游及移动应用测试专家,它的功能包括真机兼容性测试 ,真人体验测试,真人压力测试,云手机远程调试。非常好用,推荐给大家。


IP 地址: 已记录   报告
高端调试 » 没有银弹 » BUG也精彩 » 不同技能的测试工程师是如何正确的进行自动化测试

 
Legal Notice Privacy Statement Corporate Governance Corporate Governance
(C)2004-2013 ADVDBG.ORG All Rights Reserved.