《论手工测试与自动化测试的优缺点》由会员分享,可在线阅读,更多相关《论手工测试与自动化测试的优缺点(9页珍藏版)》请在金锄头文库上搜索。
1、论手工测试与自动化测试的优缺点摘要近年来,软件自动化测试取得了长足的发展,逐步得到应用与普 及,包括服务和外包软件企业在内的各个软件企业纷纷“上马”自动 化测试项目。自动化功能、性能测试工具和测试管理系统在各自的软 件测试领域发挥着越来越出色的作用,成为软件测试过程中不可缺少 的一个重要组成部分,是每个测试团队需要认真选择和合理应用的一 项重要内容。软件自动化测试是软件测试的发展方向。但是,在目前诸多软件 测试的环境下,如果盲目的追求自动化测试,则可能导致软件测试失 败,所以软件测试应权衡工测试和软件测试的利弊。关键字:手工测试、自动化测试、区别、发展手工测试与自动测试是很多人员争相讨论的两种
2、方法,有人喜欢 手工测试,也有人倾向自动化测试。手动测试,顾名思义就是人为的 手动的测试,而自动化测试则是利用工具来测试。大家都知道,软件测试的一个显著特性,那就是重复。而重复就 容易让人产生厌烦,尤其是大量的工作量,因此人工测试容易出错, 而且效率不高。自动化测试则能很好的解决这个问题,自动化测试工 具能弥补手工测试的精确性,并且效率也要高得多。当前,很多企业或管理者期望借助软件测试自动化作为催化剂, 提高效率、提高质量,同时,节省开支。甚至有些企业希望实施自动化测试后,就能够给企业带来效益。在此,可以肯定的是自动化测试已经在很多领域成功实施,也有 很多成功案例给了企业希望,并且这些企业成功
3、实施自动化测试后, 确实节省了相当可观的费用。而不幸的是,也有很多失败的案例,即 使在看到光鲜的成功案例背后,也有失望与失败的过程。身边也有很 多企业不止一次尝到了自动化测试失败的滋味。花巨资购买自动化软 件,被搁置,努力化为了泡影。失败的结果不仅仅造成了人力、物力 的损失,更是直接给公司带来了经济上的损失。测试自动化实施前期需要考虑很多因素,人力、物力、财力都是 需要认真考虑与规划的。自动化测试在整个测试周期中何时开展,哪 些测试工作可以由自动化测试替代,这些都需要在开始部署自动化测 试前,认真的思考。影响自动化测试效率的因素,不单单是大家看到 可量化的测试工作,还有许多无形的因素影响着自动
4、化测试,如测试 组织的部署等。因此,在真正实施前一定要认真规划和考虑自动化测 试实施方案。自动化测试的实施过程,完全不同于手动测试。自动化测试用例 与手工测试用例也大不相同。自动化测试实施过程中,需要不断的开 发与维护脚本,因此对测试人员能力有很高的要求。自动化测试实施前,需要认真分析与规划测试方案,计算自动化 测试的成本。自动化测试成本包括以下几方面:软件成本:自动化软件产品购买的费用;培训成本:自动化测试工程师培训费用; 人力成本:自动化测试用例和测试脚本的编写的人力成本。只有合理的规划自动化成本,站在全局角度考虑自动化的成本与 收益,方可增加自动化方案成功实施的可能性。但是自动化测试是途
5、径,不是目的。手工测试和自动化测试都只是测试的方法而已,使用哪一种方法不仅要看软件测试人员的能力,还要看项目规模,客户需求,公司能所谓高手,乃是能屈能伸,要很好拿捏使用自动化与否,用多大 量这个度。自动化测试是不是测试人员发展的顶峰,或者说什么是顶 峰,我也说不好。话说来到正题上来。所谓技术含量,这个本来就很难界定。从单 纯的“技术”角度上来讲,手工测试确实是没什么“技术含量”的, 脑力劳动加体力劳动,没看到技术的影子在里面。想必支持正方观点的人大多是做测试的人,因为自尊心或者其他 的原因,会把技术含量定义成更广泛的面能力。所以支持正方观 点的人是在说手工测试也是需要能力的,因为对测试悟得越透
6、,经验 越多,测试也就会做得越好,取得成效越好,从这个角度上讲,测试 是很需要能力的,这种能力我们也可以理解成“技术含量 ”,这样, 手工测试要做好自然也是需要技术含量的。再来揣测一下支持反方观点的人可能的想法。除了上面提到的 “技术含量”理解上的偏差可能导致反方意见之外,还有一种可能是 反方认为手工测试好入门,所以很简单,所以哪儿来的“技术含量”。 这其实是对于技术的误解,不是说一个东西很好学会它就简单。试想 所有人生下来都会吃,可是能做到美食家的有几个,这里吃也显得是 一种技术含量;大部分人生下来就会叫出声音,可是歌唱的是比谁唱 得好;手工测试入门是简单,看起来不就是点点么,但是要点出门道
7、, 还是很考验能力的。总结一下,我的观点是手工测试肯定有技术含量,自动化测试也有 技术含量,但是怎么拿捏好手工测试和自动化测试的度也很有技术含 量。废话一句:真正的技术含量体现在你能做成什么样,而不是别人 说她有它就有,说它没有它就没有的。自动化测试的优点是能够很快、很广泛地查找缺陷,同时可以 做很多重复性的工作,在回归测试阶段,我们可以利用 QuickTestProfessional 自动化功能测试工具进行,而无须大量的软件测试人员手动的再次执 行测试用例,极大的提高了工作效率。有时候我们常常需要做一种压 力测试,需要几万甚至几十万个用户同时访问某个站点,以保证网站 的服务器不会出现死机或崩
8、溃的现象。一般来说,要几万人同时打开 一个网不现实的,就算能够找到那么多的测试者,成本也很高。但是, 利用测试工具,比如LoadRunner,就可以非常容易地做到,并且测 试工具还可以自动判断浏览结果是否正确。自动化测试的缺点也很明显,它们只能检查一些比较主要的问 题,如崩溃、死机,但是却无法发现一些一般的日常错误,这些错误 通过人眼很容易找到,但机器却往往找不到。另外,在自动测试中编 写测试脚本工作量也很大,有时候该工作量甚至超过了手动测试的时 间。而手工测试不可被替代的地方则包括这几点:测试用例的设计(测 试人员的经验和对错误的猜测能力是工具不可替代的);界面和用户 体验测试(人类的审美和
9、心理体验是工具不可替代的);正确性的检 查(人们对是非的判断和逻辑推理能力是工具不具备的)所以说,虽然自动化测试和手工测试都具有缺陷,但是都是很重 要的,都不能被取代,因为人是具有很强智能判断能力的动物,而工 具是相对机械、缺乏思维的东西。手工测试是最没有技术含量的,也 是最具有技术含量的,关键在测试的主体“人”,也就是说测试 人员的深度决定了测试的深度。深度体现在经验,行业知识,测试技 术等等方面。自动化测试很流行,但就目前来看,各个行业效果不一, 有好有坏,原因在于业务的复杂度对于脚本的开发维护非常困难。所 以现阶段的情况是:手工测试为主,自动化测试为辅。我相信以后很 长一段时间还是如此。
10、但我始终相信随着技术的进步测试会更加的自 动化,人性化。犹如手机一样我们终将脱离键盘,只需在屏幕上点击 测试就行了。因此,手工测试和自动化测试联合使用才能更完美的测试软件。 如果需要对此测试重复的内容的时候,就利用自动化测试工具来完成 测试,而一两次的测试,利用手工测试高效的多。另外当要用的测试 用例或者某些不能用自动化测试工具的时候,也只能用手工测试。比 如,用 QTP 测试飞机订票系统的时候,需要用到用自动化测试工具来 测试脚本,手工录制和编写脚本,二者缺一不可。手动用 QTP 录制脚本过程(图一到图十)图一:图二:图三:II1Ai訂 rds1 InJcmdUaYFWNdAiirJJ lm
11、Dart-cJ rtgfit舟 From口二 S-图四:5tFinghlE 亍 er 星 onT!TEdn-DFJIVdHl:l-l!-审-la;一一炖一oiTa 3az函扌iD !?!Birkh-hrn壬 Craert -kn-auryaffH*c &. Run sup 谀 .!;.*#二Interllillzpx value: Insert ftesnqIn 開 rtffN sfrp 壽 er BbekInsert 暉mppaMAgns Pawwwrk T- ixoa -w-i .54*8 ass. 5U5* 3s?i5 ns&Fh 号 国农Awm-囚呀口 a:Lai EXH- dp*lf
12、Na-TatwTnrt/Remxi?EnadEnEcrTBTaJKD 吕 rR=n 53 - 口 elxlb D3sn-F-Eun s SEPCut &s El霑 pis*in 1 1 T1oEhMkpoii .VKOLiTs*-込Blansrtglpfwtt-竝eB u Dsuu-vu Truei 目ll.:一 T戶吓 M - r:心 is5OT 3 打l-R ;l旬 ss nd 4M232 in 罢 一 一 京图八:图九:Iteration- PassedObdciDgIUiFBnBunF sITiuLcgmDona站2_TD逼出竝证PlifllSiiiO kecord Run 肚叩叱已卢
13、奇Test*图十:Actinn iterstinn 5 Summary:测试脚本:Dialog(Login).WinEdit(Agent Name:).Type MDialog(Login).WinEdit(Agent Name:).Set MercuryDialog(Login).WinEdit(Password:).Type MDialog(Login).WinEdit(Password:).SetSecure 4da14eea230673a188a059df3 60a208f53f741b0Dialog(Login).WinEdit(Password:).Type micReturnWi
14、ndow(Flight Reservation).WinObject(Date of Flight:).Type 101011Window(Flight Reservation).WinComboBox(Fly From:).Select LondonWindow(Flight Reservation).WinComboBox(Fly To:).Select ParisWindow(Flight Reservation).WinButton(FLIGHT).ClickWindow(Flight Reservation).Dialog(Flights Table).WinList(From).S
15、elect 12 582 LON 08:00 AM PAR 10:00 AM AF $164.00Window(Flight Reservation).Dialog(Flights Table).WinButton(OK).Check Ch eckPoint(OK)Window(Flight Reservation).Dialog(Flights Table).WinButton(OK).ClickWindow(Flight Reservation).WinEdit(Customer Name:).Set zhangWindow(Flight Reservation).WinButton(Insert).ClickWindow(Flight