713软件测试自动化的引入时机 x自动化测试之所以能在很多大公司实施起来,就是有它适合自动化测试的特 点和高的投资回报率。清晰、合理的判断哪些测试可以采用自动化是提高测 试效率和质量的关键。 x1.产品型项目 产品型的项目,每个项目只改进少量的功能,但每个项目必须反反复复的测 试那些没有改动过的功能。这部分测试完全可以让自动化测试来承担,同时 2.增量式开发、持续集成项目 x/由于这种开发模式是频繁的发布新版本进行测试,也就需要频繁的自动化测 试,以便把人从中解脱出来测试新的功能。 3.能够自动编译、自动发布的系统 要能够完全实现自动化测试,必须具有能够自动化编译,自动化发布系统进 行测试的功能。当然,不能达到这个要求也可以在手工千预的情况下进行自 动化测试。 4.回归测试 回归测试是自动化测试的强项 能够很好的验证你是否引入了新的缺陷, 老的缺陷是否修改过来了。在某种程度上可以把自动化测试工具叫做回归测 试工具 x5.多次重复、机械性动作,将烦琐的任务转化为自动化测试 x自动化测试最适用于多次重复、机械性动作,这样的测试对它来说从不会失 败。比如要向系统输入大量的相似数据来测试压力和报表。 第七章软件自动化测试
7.1.3软件测试自动化的引入时机 自动化测试之所以能在很多大公司实施起来,就是有它适合自动化测试的特 点和高的投资回报率。清晰、合理的判断哪些测试可以采用自动化是提高测 试效率和质量的关键。 1.产品型项目 产品型的项目,每个项目只改进少量的功能,但每个项目必须反反复复的测 试那些没有改动过的功能。这部分测试完全可以让自动化测试来承担,同时 可以把新加入的功能的测试也慢慢地加入到自动化测试当中。 2.增量式开发、持续集成项目 由于这种开发模式是频繁的发布新版本进行测试,也就需要频繁的自动化测 试,以便把人从中解脱出来测试新的功能。 3.能够自动编译、自动发布的系统 要能够完全实现自动化测试,必须具有能够自动化编译,自动化发布系统进 行测试的功能。当然,不能达到这个要求也可以在手工干预的情况下进行自 动化测试。 4.回归测试 回归测试是自动化测试的强项,它能够很好的验证你是否引入了新的缺陷, 老的缺陷是否修改过来了。在某种程度上可以把自动化测试工具叫做回归测 试工具。 5.多次重复、机械性动作,将烦琐的任务转化为自动化测试 自动化测试最适用于多次重复、机械性动作,这样的测试对它来说从不会失 败。比如要向系统输入大量的相似数据来测试压力和报表。 第七章 软件自动化测试
713软件测试自动化的引入时机 x6.需要频繁运行测试 κ在一个项目中需要频繁的运行测试,测试周期按日算,就能最大限度的利用 测试脚本,提高工作效率 x7.能够充分利用休息时间 x测试的执行与挖制包括单机行和网络机分布式的运行,在草假日的运 在进行自动化测试前,首先要建立一个对软件测试自动化的认识观软件测试 工具能提高测试效率,覆盖率和可靠性等,自动化测试虽然具有很多优点 代替手工测试,它们各有各自的特点,其测试对象和测试范围都不一样:在系 统功能逻辑测试验收测试,适用性测试,涉及物理交互性测试时,多采用黑 盒测试的手工测试方法单元测试,集成测试,系统负载测试,性能测试稳定 性测试,可靠性测试等比较适合采用自动化测试。那种不稳定软件的测试 开发周期很短的软件,一次性的软件等不适合自动化测试。工具本身并没有 想象力和灵活性,根据报道,自动化测试只能发现15%的缺陷,而手工测试 可以发现85%的缺陷。自动化测试工具在进行功能测试时,其准确的含义是 回归测试工具,这时工具不能发现更多的新问题,但可以保证对已经测试过 部分的准确性和客观性。多数情况下,手工测试和自动化测试应该相结合,以 最有效的方法来完成测试任务。 第七章软件自动化测试
7.1.3软件测试自动化的引入时机 6.需要频繁运行测试 在一个项目中需要频繁的运行测试,测试周期按日算,就能最大限度的利用 测试脚本,提高工作效率。 7.能够充分利用休息时间 测试的执行与控制,包括单机运行和网络多机分布式的运行,在节假日的运 行,测试个案调用控制,测试对象,测试范围与测试版本的控制等。 在进行自动化测试前,首先要建立一个对软件测试自动化的认识观.软件测试 工具能提高测试效率,覆盖率和可靠性等,自动化测试虽然具有很多优点, 但它只是测试工作的一部分,是对手工测试的一种补充。自动化测试绝不能 代替手工测试,它们各有各自的特点,其测试对象和测试范围都不一样:在系 统功能逻辑测试,验收测试,适用性测试,涉及物理交互性测试时,多采用黑 盒测试的手工测试方法单元测试,集成测试,系统负载测试,性能测试,稳定 性测试,可靠性测试等比较适合采用自动化测试。那种不稳定软件的测试, 开发周期很短的软件,一次性的软件等不适合自动化测试。工具本身并没有 想象力和灵活性,根据报道,自动化测试只能发现15%的缺陷,而手工测试 可以发现85%的缺陷。自动化测试工具在进行功能测试时,其准确的含义是 回归测试工具,这时工具不能发现更多的新问题,但可以保证对已经测试过 部分的准确性和客观性。多数情况下,手工测试和自动化测试应该相结合,以 最有效的方法来完成测试任务。 第七章 软件自动化测试
714国内软件自动化测试实施现状分析 x当前国内软件企业实施或有意向实施测试自动化时面临的 主要问题有如下几点: 1.认为自动化测试是个遥不可及的事情,很多小公司人 员、资金、资源都不足,不必实施。热血沸腾的实施测试 自动化,购买了工具,推行了新的测试流程;但是时间不 长测试流程又回到原来的模式 x2.公司实施了自动化测试;然而开发与测试之间,甚至 与项目经理之间矛盾重重,出了事情不知如何追究责任 虽然还在勉强维持的自动化测试,但实施的成本比手工测 试增加了,工作量比从前更大了,从而造成项目团队人员 对自动化测试的怀疑 3:自动化测试实施相对比较成功,但或多或少还有些问 题,比如工具选择不准确,培训不到位,文档不完备,人 分配不合理,脚本可维护度不高等,造成一种表面上的 贝 自动化测试流程,是一幅空架子。 第七章软件自动化测试
7.1.4国内软件自动化测试实施现状分析 当前国内软件企业实施或有意向实施测试自动化时面临的 主要问题有如下几点: 1.认为自动化测试是个遥不可及的事情,很多小公司人 员、资金、资源都不足,不必实施。热血沸腾的实施测试 自动化,购买了工具,推行了新的测试流程;但是时间不 长测试流程又回到原来的模式。 2.公司实施了自动化测试;然而开发与测试之间,甚至 与项目经理之间矛盾重重,出了事情不知如何追究责任; 虽然还在勉强维持的自动化测试,但实施的成本比手工测 试增加了,工作量比从前更大了,从而造成项目团队人员 对自动化测试的怀疑 3.自动化测试实施相对比较成功,但或多或少还有些问 题,比如工具选择不准确,培训不到位,文档不完备,人 员分配不合理,脚本可维护度不高等,造成一种表面上的 自动化测试流程,是一幅空架子。 第七章 软件自动化测试
714国内软件自动化测试实施现状分析 κ产生这些问题主要目前国内的软件公司,很多还是处于获 取资本的原始积累阶段,我们不能说公司完全不重视测试 而是测试整体行业都没有被重视起来。公司高层有更需要 重视的环节,例如寻找客户签订单,或者开发,这些是直 接关系公司存亡的命脉性东西。更意识不到软件测试自动 化的重要性;所谓凡事预则立,不预则废。一个软件企业 实施测试自动化,绝对不是一蹴而就的,它不仅涉及测试 工作本身流程上、组织结构上的调整与改进,甚至也包括 需求、设计、开发、维护及配置管理等其他方面的配合。 软件开发是团队工作,在这一领域要尤其注重以人为本 所以人员之间的配合、测试组织结构的设置非常重要,每 个角色一定要将自己的责任完全担负起来,这也是减少和 解决前述团队矛盾的必要手段。这对开展自动化测试的监 督和评估相当重要,也包括对工作产品的检查和人员的考 核 定要将自动化测试全面深入的贯彻到测试工作中, 不能敷衍了事,不能做表面工作。 第七章软件自动化测试
7.1.4国内软件自动化测试实施现状分析 产生这些问题主要目前国内的软件公司,很多还是处于获 取资本的原始积累阶段,我们不能说公司完全不重视测试, 而是测试整体行业都没有被重视起来。公司高层有更需要 重视的环节,例如寻找客户签订单,或者开发,这些是直 接关系公司存亡的命脉性东西。更意识不到软件测试自动 化的重要性;所谓凡事预则立,不预则废。一个软件企业 实施测试自动化,绝对不是一蹴而就的,它不仅涉及测试 工作本身流程上、组织结构上的调整与改进,甚至也包括 需求、设计、开发、维护及配置管理等其他方面的配合。 软件开发是团队工作,在这一领域要尤其注重以人为本; 所以人员之间的配合、测试组织结构的设置非常重要,每 个角色一定要将自己的责任完全担负起来,这也是减少和 解决前述团队矛盾的必要手段。这对开展自动化测试的监 督和评估相当重要,也包括对工作产品的检查和人员的考 核。一定要将自动化测试全面深入的贯彻到测试工作中, 不能敷衍了事,不能做表面工作。 第七章 软件自动化测试
715软件测试自动化的引入条件 x1.对软件测试自动化的正确认识 κ自动化测试能大大降低手工测试工作,但决不能完全取代手工测试 完全的自动化测 x试只是一个理论上的目标,实际上想要达到100%的自动化测试,不 仅代价相当昂贵,而且操作上也是几乎不可能实现。一般来说,一个 40-60%的利用自动化的程度已经是非常好的了,达到这个级别以上 将过大的增加测试相关的维护成本。 κ测试自动化的引入有一定的标准,要经过综合的评估,绝对不能理解 成是测试工具简单 的录制与回放过程 (1)自动化测试能提高测试效率,快速定位测试软件各版本中的功 与 试工具不是人脑,要求测试设计者将测试中各种分支路径的校验点进 行定制 有定制完整,即便事实上出错的地方,测试工具也不会发 觉。因此,制订全面、系统的测试设计工作是相当重要的 第七章软件自动化测试
7.1.5软件测试自动化的引入条件 1.对软件测试自动化的正确认识 自动化测试能大大降低手工测试工作,但决不能完全取代手工测试。 完全的自动化测 试只是一个理论上的目标,实际上想要达到100% 的自动化测试,不 仅代价相当昂贵,而且操作上也是几乎不可能实现。一般来说,一个 40--60% 的利用自动化的程度已经是非常好的了,达到这个级别以上 将过大的增加测试相关的维护成本。 测试自动化的引入有一定的标准,要经过综合的评估,绝对不能理解 成是测试工具简单 的录制与回放过程。 (1)自动化测试能提高测试效率,快速定位测试软件各版本中的功 能与性能缺陷,但不会创造性的发现测试脚本里没有设计的缺陷。测 试工具不是人脑,要求测试设计者将测试中各种分支路径的校验点进 行定制;没有定制完整,即便事实上出错的地方,测试工具也不会发 觉。因此,制订全面、系统的测试设计工作是相当重要的。 第七章 软件自动化测试