自动化测试实施之组织情况分析

在实施自动化测试之前,应该首先弄明白为什么需要实施自动化测试,自动化测试会给自己组织带来什么利益,如果不实施自动化测试会存在什么不利之处。也许是因为当前组织中软件测试或质量保证工作遇到了瓶颈,无法适应组织的软件产品发布频率。如果实施自动化测试,目前的研发团队是否为实施自动化测试准备好了相应的条件。

组织情况分析
图1 组织情况分析

如果您的组织里面目前的问题是在回归测试中人工执行测试案例占用的时间太长,那么实施自动化测试不失为好的想法,自动化测试可以提高测试执行效率,消除或缓解手工测试案例执行效率慢的问题。但是如果您的问题是测试工作或质量保证工作在项目流程中介入太晚,直到项目进入编码调试阶段或着研发团队发布出待测试版本,才能开展测试工作;不管导致测试工作开展太晚的原因是软件需求变化太频繁,或者是开发团队和测试团队沟通协调存在障碍,在这种情况下,自动化测试将很难达到您预期的效果和收益。

因此在正式开始实施自动化测试之前,应该先对自己组织遇到的问题进行分析和评估,看看自动化测试是否会解决问题并能实现组织预期的目标和收益。不了解自己组织软件研发所面临的问题,仅仅是推进软件测试自动化可能不能改善现状,每个利益干系人基于他们所处的位置,可能对于软件研发过程管理都有自己想法和期望。如果软件研发管理的目标不统一,自动化测试也将变得毫无作为。

作者想要提醒的是,软件测试自动化仅仅是开发高质量软件所需很多工作的一小部分。要想软件自动化测试达到理想的效果,首先应该对软件研发质量有一个整体的规划,有一个适合本组织特点的软件研发过程,有一个明确的软件质量目标,然后规划自动化测试的质量目标。对全员进行质量管理和软件测试培训,实施内建质量管理。

自动化测试组合方案

图2 自动化测试组合拳

在实施自动化测试的项目中应该尽早识别可以优化的自动化测试流程。在流程优化方面可以考虑的方面包括团队结构、沟通机制和开发方法。调研数据表明,很多公司研发团队已经开始使用敏捷方法,也有些公司研发团队使用敏捷和瀑布的混合模型。

无论组织中是否采用了全流程的DevOps,或是使用传统的瀑布模型开发,提高沟通效率是提升自动化测试质量效率的第一步。组建小型、跨职能的研发团队是一个提高沟通效率的很好的方法。小型跨职能研发团队可以由业务人员、开发人员、QA人员等组成,并且尽可能的在一起工作,保障密切沟通和交流效率,同时确保软件产品满足用户需求,对用户的价值最大化。

跨职能小组
图3 跨职能小组

我们经常见到在一些组织中QA团队分成了多个小组,每个小组负责一部分特性或功能测试,但整个QA团队没有任何测试管理策略,这就导致了很多问题。其一,不同测试小组测试设计和方法混乱,例如同一个功能的测试在一个测试小组可能是5条测试案例,而在其它小组可能是50条测试案例;其二,导致测试分工的重复或遗漏,在某些情况下甚至出现不同测试小组做了同样的测试工作;其三,测试过程缺少文档化,需求分析或用户故事讨论结果,研发过程的沟通结果,测试任务分工等等缺少文字记录和管理。所有以上这些都不利于自动化测试的成功实施。

特别想要强调的是沟通,对于研发项目的成功真的很重要。首先,研发出正确的产品是研发项目是否成功的最重要标准。如果想要研发出正确的软件产品,就必须通过沟通把产品经理和利益相关方对于研发产品的需求充分真实的表达出来,研发团队要真正理解产品经理和利益相关者对软件产品的诉求。研发人员需要通过沟通机制充分理解软件产品的愿景、想法、产品特性和用户故事,测试人员需要通过沟通机制弄清软件产品的验收条件,然后制定测试方案。只有通过充分的沟通,研发团队才能找出真正的研发风险,并制定合理的应对方案。

GitBook 研发项目自动化测试成功的10项必备技能

敏捷自动化测试公众号:

猜你喜欢

转载自blog.csdn.net/winteroak/article/details/81175436
今日推荐