博客列表
/

敏捷开发过程中的测试

敏捷开发过程中的测试

作者:柴晓燕 全部标签: 技术类 使用技巧
2020年06月11号

Choerodon的测试管理主要为用户提供敏捷化的持续测试工具,包括测试用例管理、测试计划、测试分析等,可以有效地提高软件测试的效率和质量,提高测试的灵活性和可视化水平,最终减少测试时间,让用户将主要精力放到软件功能构建上。本文将为您分享敏捷测试概念及Choerodon在敏捷开发过程中的测试实践。

什么是敏捷测试

在敏捷开发流程中,测试不再是瀑布式开发流程的其中一个环节,而是全程参与整个开发流程。开发中可以通过多种方式来保证产品的质量,无论是原则中的“频繁交付”,还是对“可工作的软件”的度量,或是敏捷开发实践中的“测试驱动开发”、“行为驱动开发”,都离不开测试的支持。 当然,敏捷测试对测试人员也提出了更高的要求,对测试人员来说是新的挑战。

敏捷测试人员的定义

专业的测试人员,必须有适应变化的能力,理解利用测试记录需求和驱动开发的思想,才能与技术人员和业务人员展开良好的协作。敏捷测试人员往往具有优秀的技术能力,知道如何与他人合作以实现自动化测试,同时也擅长探索性测试,他们了解客户在做什么,以此更好地理解客户的软件需求。

测试人员在敏捷过程的价值体现

  1. 需求讨论:测试人员可以站在客户角度上来阐述自己的观点,和产品人员、开发人员等进行充分的交流和讨论,使自己在用户体验、业务逻辑等等方面的经验充分体现出来。
  2. 开发过程:测试人员不仅扮演“用户代表”角色,而且可以及时提供更全面的质量反馈,包括代码质量、接口一致性等。测试人员不写代码,可以参与代码复审(code review),将质量问题及时提交给项目组,保证在产品构造的整个过程中质量受到足够的关注,提高质量改进的持续性和可视性。
  3. 单元测试:单元测试由开发人员做,测试人员可以推进开发人员进行单元测试,检查单元测试状态。例如确保单元测试达到75%以上覆盖率,以及帮助开发人员开发出具有良好可测试性的代码。
  4. 集成测试、端到端(end-to-end)测试、性能测试:因为在敏捷方法中,往往将一个大的系统开发分解成多个小的子系统(模块/组件),集成测试和端到端(end-to-end)测试显得更重要。其有效保证整个功能流程的完整、畅通,以及所开发的产品与其任何子系统协调良好。
  5. 回归测试:持续回归测试,保证产品的稳定性。可以采用自动化回归测试。
  6. 对缺陷进行分析:总结出一些规律,帮助开发人员建立良好的习惯,改进代码的质量。例如标记出反复出现的bug,以便于开发总结原因。
  7. 缺陷优先级:与开发沟通上有直接交流、灵活应对变化,质量控制,什么bug是重要的,什么是可以后期去做,分清bug优先级。

    Choerodon在敏捷迭代中的测试流程

1. 需求分析:依据需求文档提取测试点

通过分析需求描述中的输入、输出、处理、限制、约束等,给出对应的验证内容,并分析各个功能模块之间的业务顺序,和各个功能之间的传递信息和数据,对存在功能交互的功能项,给出对应的验证内容(功能交互测试)。同时需要考虑到需求的完整性,要充分覆盖软件需求的各种特征,包含隐形需求的验证,比如界面的验证,账号唯一性验证(界面、易用性、兼容性、安全性、性能压力)。

2. 编写测试计划和测试用例

为项目需求而编制的一组测试步骤,测试数据以及预期结果,以便测试某个程序是否满足客户需求,测试用例需关联到对应的issue或者story,测试计划的内容包含迭代内的全部开发任务。

3. 用例评审:确认用例是否覆盖到各个场景,以及用例是否符合需求

用例评审主要是产品、开发和测试人员,针对测试用例能否用于项目的测试而做的工作。主要是为了减少测试人员执行阶段做无效工作(提交无效问题等),以避免三方需求理解不一致。评审按用例的优先级,功能的复杂程度进行;先对优先级高,功能复杂,疑问多的用例进行评审,再评审功能简单,优先级低的功能点。评审过程中尽量做到思路清晰,用最简洁的语言阐述每一个功能点。对于评审过程中,超过5分钟无法确定结果的问题,可以记录下来,作为会后讨论跟进的重点。

4. 测试执行;

测试执行是执行所有或部分选定的测试用例,并对结果进行分析的过程。测试执行活动是整个测试过程的核心环节,所有测试分析、测试设计、测试计划的结果将在测试执行中得到最终的检验。

5. 转化测试后的bug

将执行完的有bug的测试用例关联敏捷协作中的缺陷。在敏捷协作中一个缺陷可以快速定位到测试用例,帮助开发者快速获取测试结果,实现测试闭环。

6. 回归bug测试

通过敏捷中的迭代规划,制定团队的回归方案,积极跟开发人员沟通问题原因、修复的方案和影响。整体的回归bug测试进度计划中需要包含所有回归测试和自动化回归测试时间,同时预估好每天的工作量,与实际完成的工作量进行对比,尽早知道测试进度是正常还是延期,提早控制好风险,从而达到团队能更好地交付价值的目的。

总结

以上我们回顾了Choerodon猪齿鱼敏捷测试在整个项目开发中的基本流程,详细介绍了各阶段存在的主要测试活动。总的来说,敏捷测试的最终目的是持续交付,快速交付可靠的产品。敏捷过程的测试,除了对测试能力的要求之外,还要求测试人员在团队的协作能力更高。此外,随着迭代的不断增加,对自动化测试的能力也有较高要求。

希望本文有助于正在使用敏捷模式或者打算使用敏捷模式的团队更好得理解敏捷测试。

关于猪齿鱼

Choerodon 猪齿鱼作为开源多云应用敏捷全链路技术平台,是基于开源技术Kubernetes,Istio,knative,Gitlab,Spring Cloud来实现本地和云端环境的集成,实现企业多云/混合云应用环境的一致性。平台通过提供精益敏捷、持续交付、容器环境、微服务、DevOps等能力来帮助组织团队来完成软件的生命周期管理,从而更快、更频繁地交付更稳定的软件。

更加详细的内容,请参阅Release Notes和官网。 大家也可以通过以下社区途径了解猪齿鱼的最新动态、产品特性,以及参与社区贡献:

欢迎加入Choerodon猪齿鱼社区,共同为企业数字化服务打造一个开放的生态平台。

本篇文章出自Choerodon猪齿鱼社区柴晓燕。

作者:柴晓燕

出处:Choerodon

欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。