51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

12
返回列表 发新帖
楼主: 默默巫
打印 上一主题 下一主题

如何使自动化测试与手工测试达到最优的结合?(09-12-29)(获奖名单已公布)

[复制链接]

该用户从未签到

21#
发表于 2010-1-5 12:35:04 | 只看该作者
自动化这个概念太广了,不知道楼主专指功能自动化测试,还是泛指自动化测试
回复 支持 反对

使用道具 举报

该用户从未签到

22#
发表于 2010-1-5 14:09:31 | 只看该作者
ding
回复 支持 反对

使用道具 举报

该用户从未签到

23#
发表于 2010-1-5 15:14:23 | 只看该作者
MARK
回复 支持 反对

使用道具 举报

该用户从未签到

24#
发表于 2010-1-6 10:30:20 | 只看该作者
呵呵 新人学习~
坚决**22#用刺眼字体颜色
回复 支持 反对

使用道具 举报

该用户从未签到

25#
发表于 2010-1-6 11:22:29 | 只看该作者
呵呵,如果研发的为自己的面包发愁也许会
回复 支持 反对

使用道具 举报

该用户从未签到

26#
发表于 2010-1-6 18:46:34 | 只看该作者
大家好多都是在说自动化和手动测试分工的问题,总是在谁测哪部分,谁更适合测试哪部分种纠缠,这只是二者结合的一部分,一个小部分,当这个问题解决了之后,还会有更多的问题困扰我们。以下,我们将一一道来。
我们现将自动测试粗略的分为如下几个阶段,并讨论在各阶段,经常出现的矛盾及误会,该如何配合:
1.整体的测试策略
最重要的问题就是哪些Case要做自动化?也就是大家常说的分工问题。可以从以下几个方面考量:
  a).根据自己Team的实际情况,来选择自动化的程度,如:自动化人充足,或者技术高,就可以多选一些Case;如果自动化刚起步,就可以选择一些简单的,重复的Case实现。
  b).老板或客户的要求.现实中,自动化的比例也多数会被领导要求,搞一些形象工程,强制某些模块或者什么的自动化比例多少,我们必须硬着头皮做的。
  c).传统的Case分割。比如,重复的,稳定的,等等Case适合做的,我们就拿来做。之所以把这项放在最后,想说明的就是虽然这个是评判Case是否自动化的最根本标准,但是面对a)和b)状况的时候,我们只能在一定范围内应用c)的策略。
总之,根据各公司的策略可以分出要哪些自动化。这时看似和自动手动测试无关,是highlevel的事情,但是,如果各方的test leader有远见的话,在后续的执行力上是有很大差异的。
2.测试脚本生成
当测试策略订定,下面面对的就是自动化脚本生成了
大多数的状况下,写自动化Case的范本,是基于手动测试的测试用例,很少有直接对需求人员的,这对自动化开发人员了解需求和手动测试用例都是很大的考验。结果,问题出来了:
   a).编写自动化脚本的人,往往会对业务逻辑不太熟悉,这个时候就需要和手动测试人员沟通,而在沟通的时候,势必会影响手动测试的正常进行,部分手动人员则不配合或消极配合。
   b).在沟通的过程中,手动测试的人员往往无法设想到自动化的情境,认为某个功能实现自动化很容易或者很不容易,自动化人员则又认为手动人员什么也不懂,无法沟通.
以上的问题都是我们切身经历过的,针对这样的状况,我的建议是:在平常的时候,手动测试的人员要了解一下本公司主流的自动测试工具及流程,对自己能力也是一种提升。自动测试人员也要多去了解业务逻辑和一些手动测试的技能,而不是单纯的坐为一个开发者。总之,这个阶段一旦出现问题,就不是一时半会可以解决的,而且相当影响双方的士气。
3.测试比对
当测试脚本写好后,如何判断这个脚本是可以替代手工测试的?这个决定着手动测试对自动脚本的信任度的问题,更决定着一个自动脚本好坏的时候。衡量自动化好坏有两个标准:
1).测试Pass的,则确实是Pass的
2).测试为Fail的,则即为Bug.
    如果这二者都可以达到,那就是个完美的Project了。不过,当前能做到这些的有几个呢?我们还没有找到真理,我们在通向真理的路上......
    针对第一个,我认为通过努力,是可以实现的。如果测试步骤,数据和检查点都是和手动测试人员确认过的,并且我们在写脚本的时候也有很细致的出入口判断,这个标准是很容易攻破的。但是说起来容易,做起来难,每个人设计Case的思路和步骤都是不一样的,同样的Case, 让不同的人操作,都可能有不同的结果,又如何保证一个机器的操作呢?这里最强调的就是检查点,有时人眼测到这个界面,可以看到有Error message或者其他,就会认为有问题,但是脚本只看设定的那几个点,如果那几个点都是没有问题的,脚本则会视为成功。所以,在沟通checkpoint时,手动人员要尽量详细说一下哪几个点或者容易出错的地方,否则漏了就是漏了,有些时候,有些检查点是人下意识就去检查了,他并没有意识到这是个checkpoint,就很可能造成遗漏。
    针对第二个,业界也是不可避免的。不过自动化人员可以通过某些技术手段,使得自己的脚本更健壮一些。也希望手动测试的GGMM们体谅这一点,自动的东西,有些时候会有一些诡异的事情发生,科学所无法解释的,只要这样的问题控制在一定比例,就还可以接受的,不要因为这一点点的瑕疵,而否定所有自动化的成果,这样我们会很伤心的。。。
4.测试执行
自动测试脚本全部写好后,需要执行一轮测试时,这个时候又该怎么办呢?我怎么知道哪些Case是自动会跑的,又有哪些是需要手动测试的呢?
目前我们的做法是,对已有的测试管理工具进行二次开发,将已经实现自动化的Case做标记和关联。当启动一轮测试时,自动化脚本运行的同时,将会手动执行标记为没有自动化的Case 。当脚本运行完,如果有Failed case,再手动check是脚本的问题还是Bug.
看似完美的一次合作就执行完了,还有什么问题吗?往下看。。。
5.自动化报告的可读性
一般情况下,一个自动的Case会涵盖多个手动测试所谓的Case, 当一个自动Case 失败之后,如何判断是哪个手动case失败呢?定位到手动测试case之后,如何判断该 case 是脚本问题还是Bug? 这个问题如果抛给直接开发这个case的人,可能他都要分析很久,那如何让一名手动的测试人员很快的定位问题呢?这就涉及到了自动脚本运行完成后的测试报告了。
测试报告的格式和内容也需要和手动测试人员反复沟通确认的,而不是自动人员一厢情愿的写自己认为很不错的报告,其实没有人能看懂。

总之,在面对这样合作的问题时,我们多换位思考一下,无论自动手动,我们都是一个名字,叫QA,只要都这样想,无论面对什么样的环境,我们的合作都会很融洽的。

以上是我作为一个自动测试人员的看法和观点,希望有手动测试的人员也发表自己的看法,多沟通讨论
回复 支持 反对

使用道具 举报

该用户从未签到

27#
发表于 2010-1-6 20:05:42 | 只看该作者
要兼顾自动化测试和手工测试,首先要有专门的自动化测试团队来做,做手工测试的团队专门负责手工测试。术业有专攻。在项目启动阶段,就让自动化测试团队介入,他们也熟悉需求,参加评审,他们的目的是弄清楚项目的哪些地方需要做自动化测试。什么样的功能值得自动化测试投入,哪些地方页面改造不大,哪些是p1p2级主流程,哪些测试数据制造比较复杂,哪些地方回归点经常要用到。这些考虑了,再决定自动化测试应该投入什么程度。自动化测试脚本一般在功能测试稳定后,就可以进行脚本制作,对开发修复某些bug,也可以通过自动化脚本回归来测试主流程是否受到影响。同时也减轻了手工测试人员的手工局限和负担。
回复 支持 反对

使用道具 举报

该用户从未签到

28#
发表于 2010-1-6 22:08:51 | 只看该作者
最近也在做自动化的考虑。需要先清楚自动化测试的目的,节约成本?提高测试覆盖度?
如果是节约成本,一定要先规划,盘点测试用例库,区分出适合自动化的部分。
全集=自动+手动。
自动化用例识别的通用原则:频度高、稳定的Case,压力测试
回复 支持 反对

使用道具 举报

该用户从未签到

29#
发表于 2010-1-7 16:19:58 | 只看该作者
回复 支持 反对

使用道具 举报

该用户从未签到

30#
发表于 2010-1-8 10:50:10 | 只看该作者
很有意义,不过偶一直徘徊在手工测试上
回复 支持 反对

使用道具 举报

该用户从未签到

31#
发表于 2010-1-8 14:09:24 | 只看该作者
飘过~~~~~~

存在即有道理~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

32#
发表于 2010-1-11 11:28:06 | 只看该作者
都说的不错
回复 支持 反对

使用道具 举报

该用户从未签到

33#
发表于 2010-1-14 18:19:23 | 只看该作者
顶!!!!
回复 支持 反对

使用道具 举报

该用户从未签到

34#
发表于 2010-1-17 21:25:14 | 只看该作者
顶~~! 31楼简单明确~
回复 支持 反对

使用道具 举报

该用户从未签到

35#
发表于 2010-2-20 00:16:25 | 只看该作者
觉得有的同学是偏移了主题。这个问题的主题是,如何使自动测试与自动测试达到最优组合?
首先,应当理解什么是自动化测试,什么是手工测试。优缺点是什么?
其次,应该考虑项目目前的实际情况(人力、设备、自动化工具、测试工程师的技能水平)以及长远的发展方向。
我认为得搞清楚这两方面的内容,才能在实际的项目中把自动化测试和手工测试的“性能”放大到最大值。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-5-2 23:29 , Processed in 0.073649 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表