你是一个优秀的敏捷测试员吗?
自来卷儿2018.10.24
敏捷环境中的测试方法是不同于一般传统的测试方法的。敏捷是一个迭代的交付模型,它需要团队成员之间的持续协作,且能够迅速反馈输出,并进行自我管理。
敏捷环境中的测试中,经常会遇到一些挑战,比如程序内容的缺失、优先级的变换以及测试时间较少等问题,但是如果能保持正确的方法和心态,敏捷团队中的测试人员将会发挥巨大的价值,来帮助团队一直保持高质量的软件交付水平。

那么,在敏捷团队中,一名优秀的敏捷测试员都具有哪些特征呢?

1、能够区分测试和质量保证之间的关系
一个好的敏捷测试人员应明确他的工作不只在于执行测试脚本、报告缺陷和发行版本。测试只是保证质量实践中的一部分。

测试不再是敏捷软件交付的一个阶段,而是一个连续的过程,用来连接每个sprint前期,中期和后期。在敏捷团队中,每个人都要对软件的质量负责,且应在测试之前就能保证工作的质量,而不是事后再完成这项工作。
如果团队中其他测试人员的工作都没有涉及质量保证的话,那么此时,这个重担就落在了测试人员的身上。此时测试人员的工作,就是提醒团队应用良好的实践来构建高质量的软件。

2、能够掌握技术知识与测试自动化的之间关系
测试自动化对于敏捷项目能否成功是极为重要的,因为自动化测试能够向开发团队提供快速可靠的输出反馈。不同级别的测试可以以不同的目的进行自动化。

优秀的敏捷测试人员具有以下良好的技术知识:
1)确定每一项测试分别在哪个层自动化。
2)选择正确的工具来帮助实现测试。
3)帮助开发人员编写自动化测试,并分析自动化测试的结果。
4)创建不同的自动化套件,如烟雾包、完整的回归包、端到端回归包等。
5)利用最小化自动化测试的执行时间,快速获得反馈结果。
6)连续执行测试。
7)为业务提供有价值的指标。
8)利用不同测试工具来帮助进行手工测试。
敏捷测试人员也知道,不论自动化测试发展得多好,并不代表着可以通过自动化测试发现所有的bug,测试者仍需大量的探索性测试来补充测试自动化。
为了从测试自动化中获得最优结果,测试者应遵循最佳实践方案。

3、能够确保系统提供持续的反馈
敏捷开发最大的好处是能够快速解决交付问题。为了提高工作效率,需要每个版本代程序都能够快速反馈结果。
测试人员应能够在短时间内明确,最新的代码是否会出现错误。因此,敏捷测试的目标之一就是快速提供有关应用程序反馈结果的信息。
如果系统可以提供持续的反馈,使反馈循环快速,测试者就可以马上发现并解决问题,然后继续下一步操作。但如果反馈循环被延迟,问题没有及时被发现,那么将意味着这部分工作会变得更加困难和耗时。

以下是几种常见的反馈形式:
硬件设备厂商不断更新换代,但大量不同代际的设备还在使用中。设备厂商以销售为导向,没有强大的动机去优化旧设备上的应用,但测试团队需要针对不同手机的差异化以提升用户体验。体验优化将取代性能测试。
结对编程
代码评审
单元测试
自动化集成测试
自动化验收测试
自动化回归测试
探索性测试
当然,敏捷测试人员也应该确保在每个级别上编写并执行适当有效的测试。

4、精通敏捷方法
优秀的敏捷测试人员应能够理解并掌握敏捷,且在日常任务中贯彻其原则。敏捷测试人员是交付团队的一部分,他们必须明确测试与开发阶段不分家,且测试是开发中的一部分。
优秀的敏捷测试人员应清楚,变化是不可避免的,而且发生频率极高。有时可能会在最后一分钟还需进行bug的紧急修复。

5、能顾掌握领域知识
为了能够发现bug、执行一个成功有效的探索性测试,敏捷测试人员需要对其领域内的应用程序有很好的理解和掌握。
好的敏捷测试人员需要花大量的时间学习专业的知识,理解架构图并帮助设计出有意义的业务案例场景。
领域知识在敏捷测试环境中是至关重要的,因为在巨大的工作压力下,一个掌握领域知识的优秀的敏捷测试人员,能够顶住压力并非常熟练地完成工作。也因此他们可以用更少的时间来设计出更好的测试,如使用像pairwise这样的技术来设计测试。
可以通过与BAs和开发人员交谈,或者阅读使用应用程序规范等文件来获得领域知识。

6、应渴望学习和进步
敏捷团队中的每个成员,都应该掌握能够构建及交付好的解决方案的所有必要技能,包括技术技能和业务技能。
敏捷团队中的团队成员是全面发展的。团队人员应知道测试的重要性,并能够在适当的情况下编写自动化测试。
同样,优秀的敏捷测试人员能够跟上不断更新的技术的脚步,学习新的技能,掌握像编码/编程、HTTP、数据库、API测试、技术测试这样的方法,以帮助他们的队友保持高的工作效率。
因此,即使是一个没有代码要求的测试人员,在敏捷团队中也始终会有一席之地。具备高技能的测试人员能够为敏捷团队创造大量的价值。也因此,拥有技术知识可以帮助他们更进一步的发展,并且会变得更加不可或缺。

结论
一个成功的敏捷团队的关键在于——驱动力,它是衡量整个团队成员的心态和态度、以及每个人的团队合作是否成功的标准。这确保了团队和团队中的每个人都能够以 “人人为我,我为人人”的精神来进行工作。
团队中的成员需要的是“我能够帮助团队做些什么”的心态,而不是“那不是我的问题”的心态。