敏捷开发,持续集成

buffalo
帖子: 1
注册时间: 周六 1月 19, 2019 2:26 am

敏捷开发,持续集成

buffalo » 周一 2月 11, 2019 2:47 am

敏捷开发,持续集成

敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

自动化测试对敏捷开发的意义非常重大,可以实现敏捷开发的持续交付/集成,不需要浪费太多测试经历在回归测试中。

自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。

持续集成是一种软件开发实践,即团队开发成员经常集成它们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。

持续交付所描述的软件开发,是从原始需求识别到最终产品部署到生产环境这个过程中,需求以小批量形式在团队的各个角色间顺畅流动,能够以较短地周期完成需求的小粒度频繁交付。频繁的交付周期带来了更迅速的对软件的反馈,并且在这个过程中,需求分析、产品的用户体验和交互 设计、开发、测试、运维等角色密切协作,相比于传统的瀑布式软件团队更少浪费。因为使用完全的自动化过程来把每个变更自动的提交到测试环境中,所以能及时的发现提交代码中的错误,确保错误不会扩散到其他人员或者团队的开发环境中,产生额外的开发成本。

持续交付是经典的敏捷软件开发方法(例如XP,scrum)的自然延伸,以往的敏捷方法并没有过多关注开发测试前后的活动,例如前期的需求分析,产品的用户体验设计,产品的部署和运行维护等。随着伴随着敏捷的很多思想和原则在前后端领域的运用和升华,以及UX、DevOps等实践的逐渐兴起,我们在持续交付这个新的大概念下看到了敏捷方法和更多实践活动的结合和更大范围的应用。

敏捷开发 -》 持续集成是前提,只有持续集成敏捷开发才有意义 -〉 没有自动化测试,持续集成不能实现 -》 自动化测试依赖 jenkins

关于敏捷开发持续集成的博客

https://www.ibm.com/developerworks/cn/j ... index.html

https://waylau.com/why-we-need-continuous-integration/

https://www.jianshu.com/p/9db976b675b2

https://blog.csdn.net/qq_16681279/artic ... s/78590317

https://www.jianshu.com/p/b2ed4d23a3a9


持续集成的投资回报率

关键词:

drwang
帖子: 4
注册时间: 周六 1月 12, 2019 1:59 am

Re: 敏捷开发,持续集成

drwang » 周四 2月 14, 2019 3:45 am

涉及图像(GUI)的自动测试,我使用过一家印度公司的https://marathontesting.com/。效果很好!