今天晚上,我们头突然说,领导叫做一个示例:写一个传统的测试用例,然后再写一个敏捷的测试用例。然后一下子我也愣住了,这能在写测试用例上表达测试在传统与敏捷的区别吗?
结合InfoQ的一篇经典文章《什么是敏捷软件测试》,说一下我的看法,贴切地说是读后感。权当抛砖引玉,劳烦砖头砸得轻一点。
我觉得在写测试用例上体现不出二者的区别,敏捷测试更多的只是一种理念。
传统的测试以验证为目的,即通过详尽的开发文档以及设计测试用例,通过尽可能完备的“覆盖”去发现问题,对开发阶段的成果进行验证(是开发阶段的下一个阶段)。
敏捷测试贯穿整个开发过程,核心在于团队的沟通。开发与测试同步进行,要求建立高度可测试性,以及自动化测试。
测试在敏捷中没有独立提出,不是不重要,而是它与敏捷核心价值相通的,敏捷开发周期的各个过程中都有体现(与开发人员、客户交流,可验证的测试胜过于面面俱到的文档、响应变化)。具体如何识别在敏捷中对测试进行检查,下面引自一篇网文的介绍,我觉得很确切,我们实施的时候可以相应地进行舍取。
项目
|
检查点
|
注释
|
团队
|
- 测试工程师是否与开发工程师建立了紧密联系?
- 测试工程师是否与客户建立和紧密联系?
|
- 是否参加每日站立会议?是否与开发工程师可以展开随时的,面对面的,对等的讨论?
- 是否保持和客户的良好沟通?是否和客户一起维护良好定义的验收测试?
|
反馈
|
- 项目是否建立了合适的验收测试?
- 是否项目中每个人都能随时了解当前工作与可交付产品的距离?
- 是否建立了针对开发质量的度量标准?
- 开发工程师是否能够快速得到对提交代码的反馈?
|
- 使用Dashboard、燃尽图等方式展示当前工作与可交付产品之间的距离
- 建立单元测试覆盖率等度量指标
- 使用持续集成或频繁的构建让开发工程师快速得到提交代码的质量反馈
|
质量文化
|
- 是否建立了开发与测试工程师共享质量目标的原则?
- 团队是否注重开发质量,并在工作中尽可能保证高的开发/代码质量?
|
- 共享质量目标意味着质量责任由所有工程师共同承担
- 不仅关注最终的产出,不断对代码进行重构,保证代码质量
|
开发测试
|
- 是否进行了充分的开发测试?
- 是否设立了持续集成环境,并以持续集成的结果作为能够继续提交代码和发布的条件?
- 是否建立了足够多的自动化测试,以及在设计时关注自动化测试的要求?
|
- 开发测试应该建立一定的测试覆盖率标准,例如,在单元测试这个级别上,建立60%或80%的覆盖率要求
- 通过使用TDD、BDD等技术,保证产品和代码的可测试性
- 建立足够多的自动化测试,保证测试能够满足快速迭代的要求
|
引用文中一句:“质量文化”是基础,“团队”是敏捷软件测试得以实施的条件,“反馈”和“开发测试”则是敏捷软件测试的具体方法。
参照:《什么是敏捷软件测试》
分享到:
相关推荐
Lisa Crispin 和 Janet Gregory 是敏捷测试领域的权威专家,她们在《敏捷软件测试:测试人员与敏捷团队的实践指南》一书中详细阐述了敏捷测试的实践方法、理念以及测试人员在敏捷开发中的角色和职责。 在敏捷测试中...
### 敏捷开发与敏捷测试的核心概念及其应用 #### 敏捷测试的定义与实践 敏捷测试作为一种紧跟敏捷开发理念的测试方法论,其核心在于更高效、灵活地确保软件质量的同时,保持整个项目的快速迭代与交付能力。敏捷...
尽管敏捷测试带来了显著的优势,如提高测试效率和产品质量,但在实践中也面临一些挑战,例如需求变更的频繁、测试资源的有限性等。面对这些挑战,测试团队需采取灵活的应对策略,比如加强与开发团队的沟通,利用自动...
### 软件测试之敏捷测试--从实例详解敏捷测试的最佳方案 在当前快速变化的市场环境中,软件开发团队越来越倾向于采用敏捷方法论来提高工作效率并确保产品能够迅速响应市场变化。敏捷测试作为敏捷开发过程中的重要...
《敏捷软件测试实践指南》是清华大学出版社出版的一本专业书籍,专注于讲解敏捷测试与敏捷开发的理论和实际操作。本书旨在帮助读者理解并掌握在敏捷环境中进行高效、灵活的软件测试方法,以适应快速变化的项目需求。...
敏捷测试是软件测试的一种新的测试模式,它不同于传统的软件测试流程,对测试人员提出了新的要求,带来了新的挑战。为了更好地理解敏捷测试,我们需要了解敏捷软件开发的基础知识。 敏捷软件开发是一种软件开发模式...
同时,由于敏捷测试的迭代特性,测试用例库往往被在线管理,测试人员需要根据Use Case或User Story来设计测试,而不是像传统测试那样依赖于详细的测试用例。 敏捷测试的挑战在于需要测试人员具有快速响应变化的能力...
然而,随着敏捷理念的普及,如何将传统的质量管理模型,如CMMI(能力成熟度模型集成),与敏捷测试相结合,成为了一个重要的议题。本文将深入探讨敏捷测试与CMMI的融合,以及如何在敏捷环境中实施有效的测试和质量...
- 传统测试与敏捷测试方法的不同:传统测试通常在开发之后进行,而敏捷测试是迭代和并行于开发的。 - 测试和开发活动:在敏捷项目中,测试人员要与开发人员紧密合作,频繁进行测试和反馈。 - 项目工作产品:敏捷...
在基本的敏捷测试原则、实践和过程部分,大纲强调了敏捷测试与传统测试方法的不同,包括测试和开发活动的融合、项目工作产品的理解和测试级别。该部分还讨论了测试和配置管理的关系,以及组织对独立测试的选择。 ...
#### 四、敏捷测试与传统测试的区别 - **迭代模式**:敏捷测试采取迭代开发的方式,每一轮迭代都会产生可运行的软件版本。相比之下,传统测试往往遵循线性的瀑布模型。 - **测试管理流程**:尽管测试管理的基本原则...
敏捷测试是一种与敏捷开发方法论相适应的测试策略,强调快速反馈、迭代开发和团队协作。在敏捷环境中,测试不是孤立于开发的过程,而是与之紧密集成。它鼓励频繁的自动化测试,确保代码的质量和系统的稳定性。敏捷...
敏捷测试管理实践分享
这种测试方式与传统的“开发—集成—测试”模式不同,它提倡的是“开发—测试—集成”的模式,即在开发过程中同时进行测试,而不是等到开发完成后才开始。 敏捷测试的关键实践包括: 1. **持续集成**:开发人员...