51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 6801|回复: 9
打印 上一主题 下一主题

[讨论] 手工测试与自动化测试的优缺点

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-10-18 10:14:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手工测试与自动化测试的优缺点

      测试工作无论是手工测试还是自动化测试都是软件质量保障的一个途径。如何更好的使两者相互结合也是我们现在所要讨论的话题。我们何时应用手工测试又何时应用自动化测试呢?
      对于一些基本的、逻辑性不强的操作,可以使用自动化测试工具。应该说,现在在性能测试、压力测试等方面,自动化测试有其不可替代的优势。它可以用简单的脚本,实现大量的重复的操作。从而通过对测试结果的分析,得出结论,这样不仅节省了大量的人力和物力,而且使测试的结果更准确。对于一些逻辑性很强的操作,如果自动化测试不是很健全的话,不建议使用。因为这需要比较复杂的脚本语言,不可避免的增加了由于测试脚本的缺陷所造成测试结果错误的误差。这时就需要手动测试了。
      手工测试也存在这一些缺陷,手工测试者最常做的就是重复的手工回归测试,不但代价昂贵,而且容易出错。自动化测试可以减少但不能消除这种工作的工作量。测试者可以有更多的时间去从事更有趣的测试,例如在应用程序在复杂的场景下的不同处理等,尽管测试就是要花费更长的时间找到错误,但比不意味着因此而要付出更高的代价。所以选择正确的测试方法是尤为重要的。
      我在某位博客上归结了自动化测试的优缺点:
自动化测试的优点:
1、对程序的回归测试更方便。这可能是自动化测试最主要的任务,特别是在程序修改比较频繁时,效果是非常明显的。由于回归测试的动作和用例是完全设计好的,测试期望的结果也是完全可以预料的,将回归测试自动运行,可以极大提高测试效率,缩短回归测试时间。
2、可以运行更多更繁琐的测试。自动化的一个明显的好处是可以在较少的时间内运行更多的测试。
3、可以执行一些手工测试困难或不可能进行的测试。比如,对于大量用户的测试,不可能同时让足够多的测试人员同时进行测试,但是却可以通过自动化测试模拟同时有许多用户,从而达到测试的目的。
4、更好地利用资源。将繁琐的任务自动化,可以提高准确性和测试人员的积极性,将测试技术人员解脱出来投入更多精力设计更好的测试用例。有些测试不适合于自动测试,仅适合于手工测试,将可自动测试的测试自动化后,可以让测试人员专注于手工测试部分,提高手工测试的效率。
5、测试具有一致性和可重复性。由于测试是自动执行的,每次测试的结果和执行的内容的一致性是可以得到保障的,从而达到测试的可重复的效果。
6、测试的复用性。由于自动测试通常采用脚本技术,这样就有可能只需要做少量的甚至不做修改,实现在不同的测试过程中使用相同的用例。
7、增加软件信任度。由于测试是自动执行的,所以不存在执行过程中的疏忽和错误,完全取决于测试的设计质量。一旦软件通过了强有力的自动测试后,软件的信任度自然会增加。
自动化测试的缺点:
1、不能取代手工测试
2、手工测试比自动测试发现的缺陷更多
3、对测试质量的依赖性极大
4、测试自动化不能提高有效性
5、测试自动化可能会制约软件开发。由于自动测试比手动测试更脆弱,所以维护会受到限制,从而制约软件的开发。
7、工具本身并无想像力
综上所述,可以归结自动化完成不了的,手工测试都能弥补,两者有效的结合是测试质量保证的关键。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-10-18 10:55:22 | 只看该作者
手工测试
传统的测试方法
由测试人员手工编写测试用例
缺点在于测试工作量大,重复多,回归测试难以实现
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2006-10-18 10:55:38 | 只看该作者
自动测试
利用软件测试工具自动实现全部或部分测试工作:管理、设计、执行和报告
自动测试节省大量的测试开销,并能够完成一些手工测试无法实现的测试
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2006-10-18 10:56:27 | 只看该作者
适合自动化的测试操作
测试用例的生成(包括测试输入,标准输出,测试操作指令等)
测试的执行与控制(包括单机与网络多机分布运行;夜间及假日运行)
测试对象、范围、版本等的控制
测试结果与预期输出的对比
不吻合的测试结果的分析、记录、分类、和通报
测试的统计,报表的产生
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2006-10-18 10:57:06 | 只看该作者
手工完成测试的全部过程无法保证测试的科学性与严密性:
修改的缺陷越多,回归测试越困难
没有人能向决策层提供精确的数据以度量当前的工作进度及工作效率
反复测试带来的倦怠情绪及其他人为因素使得测试标准前后不一
测试花费的时间越长,测试的严格性也就越低
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2006-10-18 10:57:17 | 只看该作者
自动测试将测试人员从反复、烦杂的测试执行中解放出来,用更多的时间进行测试设计和结果分析
软件测试不可能完全自动化
不能完成所有手工测试任务
无创造性且灵活性差,不能改进测试的有效性
过程中可能会遇到许多意想不到的问题,特别是当软件不稳定时
测试脚本的维护高
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2006-10-18 11:09:55 | 只看该作者
呵呵  斑竹正解    又加深了一层认识sdlkfj2
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2006-10-27 20:49:45 | 只看该作者
sdlkfj2  自动化测试不能取代手工测试!
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-5-13 13:02:02 | 只看该作者

回复 #1 lijiyan 的帖子

正是我需要的资料,sdlkfj3
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2007-5-13 13:54:53 | 只看该作者
机器还没有智能到那个地步
前景是好的

自动化对测试环境的要求非常高,并且很可能出错是脚本,而不是你测试的程序,需要极大的人力和物力投入,中小型企业要量力而行
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-16 20:48 , Processed in 0.087828 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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