51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 16343|回复: 34
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-12-29 17:46:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如何使自动化测试与手工测试达到最优的结合?


此话题由会员centurystone提供,如果你也有问题想提出来和大家一起讨论,请点击此处>>
说不定下期讨论的问题就是由你提出的哦,请快快参与吧!



获奖名单
奖项
获奖名单
奖励
答案链接
一等奖
1316016
50元当当网礼品
二等奖
five3
300论坛积分
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2009-12-29 19:28:51 | 只看该作者

回复 1# 的帖子

可以从以下方面进行考虑:
1、测试用例的定位:需要分别考虑自动化脚本同手工测试用例的定位。比如将自动化脚本定位在覆盖功能需求,而不是发现问题,而手工用例则定位在发现问题。这样,每个版本出来的时候,执行一遍自动化脚本,根据测试策略挑选手工用例即可;
2、测试版本的定位:测试版本是要保证基本功能还是提升质量。如果版本是要提升质量,建议使用手工用例,否则则可以多用自动化脚本;
3、测试团队的组成:这里需要考虑测试组人员的组成,如果测试组人员技能、人力等都可以足够支撑手工测试,则建议多选择手工测试用例,否则则可以多选择自动化脚本;
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2009-12-30 09:09:42 | 只看该作者

手工和自动化的结合要有一定的前提

首先大家要清楚为什么手工测试,和什么时候使用自动化测试
需要手工测试最重要的一点就是系统还不够稳定,需求改动量很大。
那这个时候就不可以进行自动化测试吗?当然可以,但是需要大量的脚步,这些都需要人力,物力的,简而言之,这样的自动化测试会使成本急剧上升,详细大多公司都不会这样做。
从这个方面反映,自动化测试建立在需求稳定或改动很少的情况下,系统也比较成熟
那如何将手工测试和自动化测试进行最优结合呢
其实在理想的情况下是不难的
对系统了手工测试,当系统进入了一定成熟度时,就可以自动化测试了
不过我说的是理想情况,可是我们必须面对现实,因为现实是不理想的,有各种因素导致,所以自动化测试往往不能有理想中的那么顺利,大多数还是以手工测试为主。
这对于测试人员来说是一个课题也是对整个IT产业来说也是一个有思考性的课题,我们只能做好我们的工作,在时间的流逝中等待,中国软件产业走向成熟之路
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2009-12-30 10:04:32 | 只看该作者
从目的出发,而非实现手段出发,就可以达到手动和自动的良好结合。
即,目的--〉相关条件--〉方法--〉操作实施
手动和自动的结合作为后续阶段方法和操作实施内容而言,只要从目的出发,适应相关条件就自然而然的可以达到良好的结合效果。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2009-12-30 10:06:01 | 只看该作者
现在测试中表现出来的一个通病就是,过分关注方法,工具,概念等等,而忽略了测试本身的意义。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2009-12-30 15:55:03 | 只看该作者
自动化测试还是手工测试,这个一个问题!问题的解决不是看哪种测试更好,而是哪种测试更适合你要做的工作!
    我认为采用何种测试,要看一下几个方面:
1、做那方面的测试
    测试分为单元测试、集成测试、系统功能测试、性能测试等。采用手工测试还是自动化测试主要还是看哪种方式效率更高、效果最明显。
    如在性能测试的时候,手工测试在效率和准确率等方面都无法和使用自动化工具相比。当然手工编写测试脚本或测试工具进行测试也是可以的,但有现成的自动化工具不用,而非要自己动手,那就有点资源浪费了。性能测试的重点还是在于测试结果的分析,使用自动化工具明显可以使我们得到我们想要的东西。
2、测试系统的需要
    根据系统的复杂度和设计结构进行选择。
    一个复杂的系统测试时,使用自动化测试工具有一个明显的好处,就是回归测试时会比较节省时间、且不容易有遗漏。而对于一个复杂度很低的系统使用自动化测试工具反而会降低工作效率。
    系统的设计结构也会影响到测试方式的选择,如一个以录入、查询统计为主的系统,使用自动化测试工具进行测试,工作效率一定比手工要高。而一个绘图类的工具如果使用自动化测试工具反而会降低测试的覆盖率。
    总而言之,规律性强的使用自动化测试工具比较有优势,而随机性强的还是手工测试比较好。  
3、公司或用户要求
   有的项目公司或用户会要求,必须使用什么样的工具进行测试,并出具相应的测试报告,这就没什么好说的了,按照要求做吧,即使这样效率不高,即使这样浪费精力,那也只有按要求做。
4、对自动化测试工具的熟悉程度
   为了自动化测试而使用测试工具,就失去了使用工具的真正意义。使用一个不熟悉的自动化测试工具还不如手工测试,因为测试的根本目的是找出程序存在的bug,而不是实现测试的自动化。使用最低的成本,到达最大的效果才是我们要做的。
5、无招胜有招
   如何达到我们的测试目的是我们工作的根本,至于何时采用自动化测试,何时采用手工测试,做什么必须要自动化测试,做什么必须要手工测试,不要拘泥形式,每个人都有自己的测试习惯和测试风格,并不是都有一定的套路,从需要出发,这样才能将自动化测试和手工测试完美结合。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2009-12-31 09:07:19 | 只看该作者
是的,如果以个人的角度来看,这些都无所谓,因为你只要拿工资就行了,其他的不必考虑,只要老板给的合适,你会很乐意这么做,但是从企业的角度来看,这无疑是增加了成本,什么都所以要钱的,请一个合格的自动化测试工程师价格不菲,何况这中情况,不是一个或者两个就可以,现在中国的it产业是以中小型企业为主,如果是微软,甲骨文那样的公司这样的成本只是九牛一毛,但是对于中小型企业来说,是高昂的,你的成就感并不是企业的需求,企业的需求永远是用最少的成本创造对大的利润,我们必须正视这一点。
所以中国的IT产业道路并不平坦,达到规范化还是有一段距离
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2009-12-31 09:11:24 | 只看该作者

正视企业需求来谈手工和自动化的结合

我们必须正视当今企业需求,才能和实际结合,不然就是空谈
是毫无意义的
及时你的是最优但是你的公司并不允许用这样的物力支持你,你的再好有什么用呢?
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2009-12-31 09:30:03 | 只看该作者

现实就是这样

企业看效益,如果他一年只赚100万还是毛利润,你认为他会像微软一样,五脏俱全吗,别说一年一百万,我们这部门的毛利润是1.8个亿,可是我们的测试工程师不到10个,自动化的2人,还都是初级的那种,根据我以前的工作经历,国内的企业在认知度上就有很大的差距,说白了就算他赚3个亿,也不会掏出100万来请像样的自动化工程师,因为他并不能直接的看到利润。不过我要攒下日本的IT企业,测试的规模和国内相比是一个天一个地,为什么他们会形成这样的规模呢,日本人傻吗,从他们做出的产品来看,是不傻的,归根结底是认知度,国内的企业要达到这样的认知度,可不是几天的事情,我们处于发展中国家都多少年了,所以大家不要心急,路还是要一步一步的走出来。
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2009-12-31 09:32:03 | 只看该作者
偶还是很有信心的
大家还是讨论下在国内的形势下怎样做到最优的结合吧
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2009-12-31 09:34:46 | 只看该作者

在手工测试之后进行自动化测试!

自动化得实施与否完全与个人能力有关!
1.如果是自动化测试专家,可能就会在开发时就进行测试脚本的开发了,软件的每一个小的字段每一个小的功能都是用自动化,这也不是不能实现的事情。当然以上这种情况应不会是大多数人的习惯做法!
2.个人的习惯,由于自己的自动化水平不是很高,每次先手工测试小的功能点或字段,在手工测试通过后,开始编写便于以后大量数据验证和回归测试的自动化测试脚本,这样可以节省很多的后期测试时间,一句话,在测试基本稳定了之后再进行自动化测试。
3.个别性能的测试,要用专门的工具在开发或者开发之后进行测试!


以上是我的一些看法!
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2009-12-31 13:06:35 | 只看该作者
确实,现在在国内IT行业,测试的理论值和实际投入的差距太大了
我是一名国内典型小型IT公司员工,由于新公司,从我组建测试部门到现在已经一年多了,可是公司对测试的资源投入还是相当有限,而且老板口头讲注重质量,但是实际开发中将开发的时间压得相当有限,基本开发完整项目提交的时间就是要客户上线的时间了。
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2009-12-31 13:31:11 | 只看该作者
谢谢支持
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2010-1-4 14:16:01 | 只看该作者
原帖由 jimmyseraph 于 2009-12-30 16:06 发表
这一点我持反对意见。
为什么一定要在系统稳定的情况下才用自动化测试呢?这种传统思维祸害不小。
反问一句,在系统还不稳定,需求改动量很大的情况下,要不要写代码?是不是我们停留在需求分析和设计阶段,等需求 ...


虽然我也同意这样的观点,但是基于某些情况,系统不稳定的状况下是无法开展自动化测试的,例如:需要使用工具进行脚本的录制。在代码和界面都没有稳定的情况下,提早开展自动化测试只会提高后期的维护脚本的成本。
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2010-1-4 14:18:30 | 只看该作者

在手工Regression Test后进行自动化测试

虽然说在手工测试后开展自动化测试,但是对于自动化测试的准备工作则需要与手工测试进行同步的展开。例如计划的执行,场景的分析等。
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2010-1-4 14:50:57 | 只看该作者
原帖由 jimmyseraph 于 2009-12-30 16:06 发表
这一点我持反对意见。
为什么一定要在系统稳定的情况下才用自动化测试呢?这种传统思维祸害不小。
反问一句,在系统还不稳定,需求改动量很大的情况下,要不要写代码?是不是我们停留在需求分析和设计阶段,等需求 ...

我是觉得3楼的和7楼的好像不是在说同一个问题。3楼和7楼说的都有道理,应该是一个结合。
自动化如果要做,肯定越早投入越好(7楼的观点),之前我们公司有做一个大型重构项目,自动化的脚本和开发程序基本是一前一后的,就是说开发实现一个模块就要提交一个模块的说明出来给自动化小组,自动化小组紧接着马上开展自动化脚本的编写。
但是写好的自动化脚本在什么时候去用最合适?肯定是在系统稳定的时候去用比较合适啊。(3楼的观点)
另外,狂顶一下6#的,说的相当好!!

[ 本帖最后由 shaofei19820625 于 2010-1-4 14:52 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2010-1-4 17:10:55 | 只看该作者
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2010-1-4 17:42:37 | 只看该作者
1。评估哪些能自动化哪些不能
2。评估哪些值得自动化哪些不值
3。评估有多少资源来做自动化在有效的时间内
4。 完美结合需要一平台进行支撑
回复 支持 反对

使用道具 举报

该用户从未签到

19#
发表于 2010-1-4 22:57:48 | 只看该作者
很简单,从自动化和手工的需求入手。
手工测试目的在于能够更好的覆盖需求,更快的找出bug。
自动化测试目的更多的在于回归,这基本上也是自动化测试多数情况下存在的价值。
从需求上不难看出,粗略的讲自动化测试的输入就是手工测试的输出。
所以我认为比较合理的安排方法就是手工与自动化并行。
1、在手工测试刚开始分析需求,设计案例的时候,自动化测试进行独立的自动化测试环境的搭建,以及对被测系统在自动化中可能遇到的问题进行分析、试验并解决。(例如被测系统的开发语言能否与选用的自动化工具兼容;自动化过程中是否存在外设,是否需要仿真等等)。
2、在以上测试初步过程完成后,手工测试开始进入了测试执行阶段,而这时自动化测试就可以将自动化案例进行自动化了。
我觉得大概其应该是这样的。
回复 支持 反对

使用道具 举报

该用户从未签到

20#
发表于 2010-1-5 11:06:17 | 只看该作者
大家多多发言
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-23 05:42 , Processed in 0.076286 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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