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
 
  格蠹调试套件(GDK)
  格蠹学院
  小朱书店
  老雷的微博
  《软件调试》
  《格蠹汇编》
  《软件调试(第二版)》
沪ICP备11027180号-1

BUG也精彩

帖子发起人: 削个椰子皮   发起时间: 2016-10-17 10:17 上午   回复: 0

Print Search
帖子排序:    
   2016-10-17, 10:17 上午
Coness 离线,最后访问时间: 2016/11/30 9:28:03 削个椰子皮

发帖数前25位
注册: 2016-01-14
发 贴: 33
在做自动化测试之前你需要知道的
Reply Quote

什么项目适合做自动化测试?

假如你已经决定要学习自动化测试了,如何学习是要面临的下一个问题?这个问题以被测试产品为出发点进行分析,假如你所学的技术不能得到应用(验证),将会使你的学习过程寸步难行。

首先考考虑产品是否适合做自动化测试。这方法比较普遍的共识是从三个方面进行权衡。

软件需求变动不频繁

测试脚本的稳定性决定了自动化测试的维护成本。如果软件需求变动过于频繁,测试人员需要根据变动的需求来更新测试用例以及相关的测试脚本,而脚本的维护本身就是一个代码开发的过程,需要修改、调试,必要的时候还要修改自动化测试的框架,如果所花费的成本不低于利用其节省的测试成本,那么自动化测试便是失败的。

项目中的某些模块相对稳定,而某些模块需求变动性很大。我们便可对相对稳定的模块进行自动化测试,而变动较大的仍是用手工测试。

项目周期较长

由于自动化测试需求的确定、自动化测试框架的设计、测试脚本的编写与调试均需要相当长的时间来完成。这样的过程本身就是一个测试软件的开发过程,需要较长的时间来完成。如果项目的周期比较短,没有足够的时间去支持这样一个过程,那么自动化测试便成为笑谈。

自动化测试脚本可重复使用

自动化测试脚本的重复使用要从三个方面来考量,一方面所测试的项目之间是否很大的差异性(如C/S 系统和 B/S 系统的差异 );所选择的测试工具是否适应这种差异;最后,测试人员是否有能力开发出适应这种差异的自动化测试框架。

选择什么工具进行自动化测试?

假如你已经确认了XX项目适合做自动化测试,那么接下来你要做的就是选测试工具了。

首先要先确认你所测试的产品是桌面程序(C/S)还是web应用(B/S)。

桌面程序的工具有:QTPAutoRunner

web应用的工具有:QTPAutoRunnerRobot Frameworkwatirselenium

由于B/S架构的诸多优势,早几年前大量C/S架构的应用转为B/S结构。从而也推动了web开发与测试技术的发展。假如,被测试有产品是C/S架构的,那么推荐QTPQTPUI自动化测试领域占到了一半的试用率。所以,足以说明QTP在自动化领域强大,易用性等。学习主流的工具也可以使你获得更多的机会。市面上关于QTP的书籍也非常丰富。当然,要想学好QTP,你必须要掌握VBS脚本语言。

如果,被测产品是B/S结构,那么推荐selenium,为什么不是QTP或其它工具?因为seleniumB/S应用支持很好,更重要的一点,它支持多语言的开发,真正的试用selenium,你所要掌握的不仅仅是一个工具而已,你还需要学习一门语言。我为什么要选择selenium?还要学一门语言,这无疑增加了我的学习成本。增加成本的同时,也增加的你的竞争力,而且,在这个过程中你不单单只是学会了一个自动化工具而已,你完全可以使用所学的语言去做更多的事情。

好吧!假如你决定试用selenium了之后,你又面临了一个新的问题,选择一门语言。selenium是支持javapythonrubyphpC#JavaScript

从语言易学性来讲,首选rubypython

从语言应用广度来讲,首选javaC#php

从语言相关测试技术成度(及资料)来讲:ruby,python,java

或者你可以考虑整个技术团队主流用什么语言,然后选择相应的语言。

。。。。。。。。。。。。。。。。

经过一段时间的学习,你可以游刃有余的模拟手工测试来操作页面上的各种元素了。接着你需要做的就是把这些“用例”组织起来,统一来跑。

那么你需要做的就是学习并使用单元测试框架,单元测试框架本身就解决了用例的组织与运行。

当你写了一些“测试用例”之后,你会发现用例中有大量重复的操作,能不能写到一个单独的文件中,需要的时候调用这些操作?当然可以,运用你的编程能力来实现这一点将非常简单。然后,你又发现每个用例中都有一些数据,这些数据也是一样的,但如果变化了修改起来非常麻烦,你也可以把他写到一个单独的文件中进行读取。

接着你又遇到了新的疑问,我写的脚本(用例)都是流水式的,我怎么知道用例运行失败还是成功。那么就需要在脚本中加一些验证与断言。

接着你又有了更多的想法,单元测试框架的log太简陋了,能不能生成一张漂亮的测试报告出来。我能不能定时的来跑这个脚本。能不能把每一次跑脚本的测试结果直接发到我的邮箱。能不能 ......

为解决这些问题,你不得不学习更多的编程技术,然后你的“测试结构”会功能越来越强大,越来越灵活。产生了一定的通用性和移植性。一个有模有样的自动化测试框架诞生了。

 假如,有一天你不再做UI的自动化测试了,你会发现你去做单元测试或接口测试基本没什么难度。开发个测试工具之类的也不在话下!

另外:自动化测试平台TestBird,最初从手游测试开始起步,在手游圈积累起很高的知名度,目前也已向APP测试领域进军,同时TestBird也加入了智能硬件的测试领域。不仅如此,TestBird还建立了云手机、云测试和云分析三大测试平台,通过自助App功能测试、远程真机调试、真机兼容性测试、真人体验测试、 真人压力测试和崩溃分析等产品,为移动应用提供从研发到上线再到运营的一站式质量管理服务,帮助移动应用企业建立完善的质量管理体系,全面提高移动应用的DAU、留存率以及付费情况。

 


IP 地址: 已记录   报告
高端调试 » 没有银弹 » BUG也精彩 » 在做自动化测试之前你需要知道的

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