1.6.1 自动化测试的特点

http://book.51cto.com  2010-10-14 16:08  李龙  机械工业出版社   我要评论(0)
1.6 自动化测试概述
1.6.1 自动化测试的特点
自动化的概念是人们在工业生产的过程中,为了提高工作效率,不断地对操作方法、技术或者工具进行改进,以减少人的人工劳动,节省时间和成本。自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步地执行测试,将得到的实际结果与期望结果进行比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。
自动化测试具有以下优点:
能执行更多、更频繁的测试,使某些测试任务的执行比手动方式更高效,可以更快地将软件推向市场。
能执行一些采用手动测试比较困难或不可能进行的测试。
能更好地利用资源,可以利用晚上或周末空闲的设备执行自动化测试。
将任务自动化,让测试人员投入更多的精力设计出更多更好的测试用例,提高测试准确性和测试人员的积极性。
自动测试具有一致性和可重复性的特点,而且测试更客观,提高了软件的信任度。
自动化测试的成本包括自动测试开发成本、自动测试运行成本、自动测试维护成本和其他相关任务带来的成本,以及软件的修改带来的测试脚本部分或全部修改所增加的测试维护的开销。
自动化测试具有以下缺点:
1)不能完全代替人工测试。我们不可能自动化所有的测试,如,测试只是偶尔执行,或待测系统经常变动、不稳定,测试需要大量的人工参与时,就不适宜采用自动化测试。自动化测试只能保证功能的基本流程(如手机信息管理系统中的管理员添加模块)和功能点的正常工作,一些人性化工作(如界面测试)是无法用测试工具进行测试的。
自动化测试在以下方面具有局限性:
自动化测试工具本身不具备思维能力,只能按照人?嘀频闹噶钪鹦胁馐浴6?斯げ馐允辈馐灾葱姓呖梢栽诓馐灾信卸喜馐允涑鍪欠裾?罚?⒏慕?馐裕?箍梢源?硪馔馐录??
自动化测试对软件质量的依赖性较大,在确保软件质量的前提下,实施自动化测试才有意义。如Web测试中界面不稳定的问题就有可能导致测试失败。
如果测试人员不熟悉某些测试工具,测试工作的进度就有可能受到影响。自动化测试在刚开始执行时,工作效率并不一定高于手动测试,只有当整个自动化测试系统成熟,且测试工程师熟练掌握测试工具后,工作效率才会随着测试执行次数的增加而提高。
2)不能立即降低测试投入,提高测试效率。自动化测试的成本问题可能高于人工测试,因为工具的购买及维护的开支很大。同样,测试环境的维护和搭建同人工测试一样也需要开支。
3)不能保证100%的测试覆盖率。
4)需要更长的时间去分析和隔离所发现的缺陷。
自动化测试是软件行业测试技术,Bret  Pettichord 在《自动化测试的7个步骤》中说道:“我们对自动化测试充满了希望,然而,自动化测试却经常带给我们沮丧和失望。虽然自动化测试可以把我们从困难的环境中解放出来,但是在实施自动化测试解决问题的同时,又带来同样多的问题。”自动化测试节省人力和时间,得到的数据更精确,而且操作的可重复性和Bug 的可重现性更强,而软件行业的测试有节约成本、提高效率的需求,所以自动化测试需要考虑到成本的问题。理解自动化测试要从自动化测试的前提和成本上考虑。
(1)自动化测试的前提
实施自动化测试之前需要对软件开发过程进行分析,以观察其是否适合使用自动化测试。实施自动化测试通常需要同时满足以下条件:
所有的测试都要自动化,这是不切实际和可望而不可即的。
产品本身具有长期可维护性。
软件需求变动不频繁。项目中的某些模块相对稳定,而某些模块需求变动性很大。我们可对相对稳定的模块进行自动化测试,而对变动较大的模块采用人工测试。
项目周期足够长。
由于自动化测试需求的确定、自动化测试框架的设计、测试脚本的编写与调试均需要较长的时间来完成,如果项目的周期比较短,没有足够的时间去支持这样一个过程,那么不便采用自动化测试。
产品本身非紧迫的大项目。
产品结构相对复杂。
资源投入相对充裕。
在人工测试无法完成,需要投入大量时间与人力时也需要考虑引入自动化测试。比如,性能测试、配置测试、大数据量输入测试等。
(2)成本
需要考虑以下成本:
实现成本。
人力成本。
新技术的风险。
被自动化的功能是否需要大量的人工劳动。
有的人说:“从管理的角度来说,100% 的自动化目标只是一个从理论上可能达到的,但是实际上达到 100% 的自动化的代价是十分昂贵的。利用自动化的程度能达到30%~40%已经是非常好的了,要达到这个级别以上将增加测试相关的维护成本。”
【责任编辑: 云霞 TEL:(010)68476606】

0

收藏

51bom

492篇文章,19W+人气,0粉丝