敏捷开发过程中的测试开发

2012-07-08  顾清 

原创文章,转载请注明出处
Agile,由于其优越的开发效率,快速的需求变更响应速度,越来越符合当心软件产品的发展需求,因此被越来越多的软件团队采用。
敏捷开发,可以有效提高团队沟通效率,快速响应产品需求变更,缩短产品开发周期,减少软件产品成本,进而提高团队效率,降低项目风险,提高市场竞争力。但是,敏捷同样是一把双刃剑,快速、频繁的需求变更,紧凑的开发节奏,少量的文档,使得敏捷开发对于团队能力要求得更高,同时开发过程中的大量资料,大量数据均需要及时记录与处理,然而适合敏捷开发过程的工具又少之又少,尤其是适合自己团队的,更是几乎没有。
因此,测试开发,小到数据存储,数据处理工具,大到自动化测试框架,在敏捷开发中占据较为重要的地位。
1.自动化工具
自动化测试是当前测试的趋势所向,市场上的商业、开源自动化工具由于通用性,因此并不一定可以完美适合特定团队,对于长期、大型项目,根据特定项目定制开发自动化框架、工具才能最大化的发挥自动化测试的强项:
回归测试,smoke测试,每日构建测试。
2.敏捷管理工具
敏捷开发过程中会生成大量的backlog、use story数据,传统方式需要花费较多的人力来记录这些数据,以及进度,然而这样又会占去较多的资源,拖慢项目的进度,有悖敏捷的宗旨。此时,测试开发的重要性就能完美的体现出来,良好完备的管理、数据处理工具可以很好的解决这些问题,自动化的生成、管理backlog、use story,定时/实时生成项目进度,bug数据,bug趋势,测试进度等等数据,自动生成项目报告,节省资源的同时,还能及时反映项目进度,有效控制项目风险。
3.绩效数据
针对每个use story,每个sprint,记录存储相关数据,自动根据项目、周期生成各项metric报告,及时发现需要提高的环节,有效提高项目开发效率。良好的工具避免了大量繁琐费时又极易错误的计算统计工作。
4.测试工具
软件测试环节中,经常会遇到各种不方便测试的case等等,是跳过不测试?还是简单测试?
模拟环境的开发,测试工具的开发,可以将不能测试的case变成可以测试,将不适合人工分析测试的步骤自动得到相关结果,同时将复杂易错的步骤,通过工具来自动完成,避免漏测,避免bug逃逸。
敏捷,需要的是较高的沟通能力,较高的个人素质。敏捷中的测试开发,在需要个人能力的同时,更需要的是团队责任感、敏锐的需求发现能力、以及持续改进的精神。
430°/4292 人阅读/1 条评论 发表评论

登录 后发表评论