### 软件测试中的测试自动化的19个教训 #### 一、引言 随着软件行业的快速发展,软件测试已成为确保软件质量的关键环节之一。在众多的测试方法中,自动化测试因其高效性和可重复性而备受青睐。然而,自动化测试并非易事,尤其在实际项目实施过程中会遇到各种挑战与问题。本文基于Elfriede Dustin多年来的自动化测试项目经验,总结了19个重要的经验教训,旨在帮助软件测试人员更好地理解和应对自动化测试中可能遇到的问题。 #### 二、经验教训详解 1. **工具集成难度大**:在整个软件开发生命周期中使用的多种工具往往难以相互集成。这意味着测试人员需要花费额外的时间来处理不同工具之间的数据交换问题,这不仅增加了工作量,还可能导致数据不一致。 2. **信息冗余严重**:由于缺乏有效的信息管理机制,相同的信息往往被存储在多个不同的仓库中。这种做法不仅浪费存储空间,还容易导致信息更新不一致,增加维护成本。 3. **自动化测试工具驱动测试过程**:在某些情况下,选择的自动化测试工具对测试策略产生了过度的影响。例如,为了适应特定工具的功能而改变原有的测试流程或设计复杂的测试脚本,这些都可能导致测试效率降低。 4. **团队成员忙于编写自动化脚本**:在许多自动化测试项目中,团队成员经常忙于编写和维护自动化测试脚本,而不是专注于更高层次的测试设计和策略制定。这不仅限制了测试的有效性,还可能导致资源浪费。 5. **复杂测试脚本的开发**:有时候,测试人员会开发出非常复杂的测试脚本来模拟应用程序的行为。虽然这些脚本可以提高测试的准确性,但它们也往往需要更多的时间来编写和维护,而且可能会因为过于复杂而难以理解。 6. **创建自动化测试脚本繁琐**:自动化测试脚本的创建过程通常比较繁琐,需要编写大量的代码,并且可能涉及复杂的逻辑控制。这种复杂性不仅增加了开发时间,还可能导致错误和缺陷。 7. **培训时机不当**:很多时候,自动化测试工具的培训安排得过晚,以至于测试工程师在真正使用这些工具之前没有足够的时间去学习和掌握相关知识。这直接影响到测试项目的进度和质量。 8. **测试工具引入时机不当**:在系统测试阶段结束前两周才将测试工具引入测试计划中,这使得测试团队没有足够的时间熟悉和使用新的工具,从而影响了测试工作的顺利进行。 9. **测试人员抵制新工具**:面对新的测试工具,部分测试人员可能会产生抵触情绪。这种心理障碍可能源于对未知技术的恐惧或者不愿意改变现有工作方式。 10. **期望快速回报**:许多人期望通过自动化测试能够迅速看到投资回报。然而,自动化测试项目的成功需要时间和持续的努力,短期内很难达到预期的效果。 11. **第三方控件识别问题**:某些自动化测试工具在识别第三方控件时存在困难,这可能导致测试结果不准确或测试无法正常运行。 12. **缺乏测试开发指南**:在自动化测试项目中,如果没有明确的测试开发指南作为指导,很容易导致测试脚本的质量参差不齐,甚至出现不必要的错误。 13. **测试工具侵入性问题**:有些测试工具在运行时会对被测系统的运行造成干扰,但开发人员直到测试周期后期才发现这个问题。这可能导致测试结果不准确或者需要额外的工作来排除干扰因素。 14. **测试报告无用**:某些自动化测试工具生成的报告可能难以阅读或包含的信息价值不高,这使得测试人员难以从中获取有用的信息来改进测试策略。 15. **系统工程环境未定义即选工具**:在没有明确定义系统工程环境的情况下就购买自动化测试工具,可能导致所选工具与现有环境不兼容,从而影响测试效果。 16. **工具版本不一致**:在一个组织内使用多个不同版本的自动化测试工具会导致数据不一致性和维护困难。 17. **新工具升级不兼容**:当新的工具版本与现有的系统工程环境不兼容时,可能会导致测试过程出现问题。 18. **数据库扩展性差**:如果自动化测试工具的数据库设计缺乏良好的扩展性,则在测试规模扩大时可能会遇到性能瓶颈。 19. **测试工具管理功能使用不当**:不正确地使用测试工具的管理功能会导致时间浪费,如错误地配置测试环境或设置无效的测试参数等。 #### 三、结论 通过对以上19个经验教训的学习,我们可以了解到自动化测试并非一蹴而就的过程,它需要测试团队在实践中不断积累经验并调整策略。只有充分认识到这些潜在的问题,并采取有效的措施来预防或解决这些问题,才能充分发挥自动化测试的优势,提高软件测试的整体效率和质量。
99年的一篇文章,但是对于今天的自动化测试项目管理者而言,仍然具有指导意义。Elfriede Dustin在总结了多年的自动化测试项目经验后,提出了19个经验教训:
(1)在软件开发周期中使用的各种工具不能够很轻易地整合在一起。(The various tools used throughout the development lifecycle did not easily integrate)
(2)很多冗余的信息被存储在多个库中。(Duplicate information was kept in multiple repositories)
(3)被测试工具圈着鼻子走。(The automated testing tool drove the testing effort)
(4)整个测试组的每个人都在忙着编写自动化测试脚本。(Everyone on the testing staff was busy trying to automate scripts)
(5)重复开发的劳动,尝试编写一些非常复杂的测试脚本。(Elaborate test scripts were developed, duplicating the development effort)
(6)自动化测试脚本的创建往往会很麻烦,而不像工具厂商所吹嘘的那样简单易用。(Automated test script creation was cumbersome)
(7)工具的培训开展得太迟,测试工程师缺乏工具方面的知识。(Training was too late in the process , so test engineers lacked tool knowledge)
(8)测试工具在系统测试前两周才引入。(The test tool was introduced to the testing program with two weeks left for system testing)
(9)测试人员对工具有抵触情绪。(Testers resisted the tool)
(10)对自动化测试的期待值过高,期待及早得到回报。(There were expectations of early payback)
(11)工具在识别第三方控件方面存在问题。(The tool had problems recognizing third-party controls (widgets))
(12)缺乏测试脚本开发的规范性指南。(A lack of test development guidelines was noted)
(13)某些测试工具需要插入代码到被测试程序中,但是开发人员直到测试后期才被告知这个问题。(The tool was intrusive, but the development staff wasn‘t informed of this problem until late in the testing lifecycle)
- 粉丝: 0
- 资源: 7
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- STM32芯片数据手册芯片资料STM32F10x闪存编程手册(2009年6月第6版)
- STM32芯片数据手册芯片资料STM32F10xxCDE局限性列表(2009年6月第5版)
- STM32芯片数据手册芯片资料STM32F10xx8-B局限性列表(2009年2月第6版)
- GF-ISSUEDDOMESTICGRNBOND(2014-2023年).xlsx
- STM32芯片数据手册芯片资料STM32F10xx4-6局限性列表(2009年2月第2版)
- STM32芯片数据手册芯片资料STM32F103ZET6
- 宝塔面板Nginx的Lua-Waf防火墙终极改进 动态封禁IP
- 999.fend-图文.html
- STM32芯片数据手册芯片资料STM32F103x8-B增强型系列中容量产品数据手册(2009年4月)
- java.自定义异常(处理方案示例).md