Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Agile .NET Development with BDD and Continuous Integration

1,314 views

Published on

Agile .NET Development with BDD and Continuous Integration

Áp dụng CI là một phần không thể thiếu nếu bạn mong muốn nâng cao năng suất và giảm thiểu lỗi lầm khi phát triển cũng như deploy sản phẩm qua việc sử dụng các practices và tools để tự động hóa các khâu

Bài trình bày của anh Trương Anh Quân tại Meetup của Ha Noi .NET Group.

Chi tiết vui lòng xem tại: http://tungnt.net

Published in: Technology
  • Be the first to comment

Agile .NET Development with BDD and Continuous Integration

  1. 1. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group Hanoi .NET Group – Meetup #6
  2. 2. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group Introduction to BDD – Behavior Driven Development Introduction to Specification by Example Introduction to CI – Continuous Integration Practices of Continuous Integration Tools to Use Demos What’s Next Q&A
  3. 3. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group Behavior-driven development (BDD) is a software development process that emerged from test-driven development (TDD). While in TDD the focus is on writing tests that single out units of the application, BDD is focused on writing tests on the behavior of the application.
  4. 4. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group BDD style testing framework xBehave Writing user level stories in a form comprehensible by anyone. Typically use a story defined in a DSL close to English and then map this story to a test written in code by the developers. Well-known example: SpecFlow, NBehave xSpec Writing tests in code using an approach that favors testing behavior and functionality by developers . Usually closer to unit tests in both appearance and granularity but feature some differences. Well-known example: Nspec, StoryQ
  5. 5. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group #BDD in a tweet: Using examples at multiple levels to create a shared understanding and surface uncertainly to deliver software that matters Dan North @tastapod
  6. 6. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group #BDD in a tweet: Using examples at multiple levels to create a shared understanding and surface uncertainly to deliver software that matters Dan North @tastapod
  7. 7. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group #BDD in a tweet: Using examples at multiple levels to create a shared understanding and surface uncertainly to deliver software that matters Dan North @tastapod
  8. 8. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group #BDD in a tweet: Using examples at multiple levels to create a shared understanding and surface uncertainly to deliver software that matters Dan North @tastapod
  9. 9. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group Wikipedia Specification by example (SBE) is a collaborative approach to defining requirements and business-oriented functional tests for software products based on capturing and illustrating requirements using realistic examples instead of abstract statements
  10. 10. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
  11. 11. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
  12. 12. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly (Source: http://www.martinfowler.com/articles/continuousIntegration.html)
  13. 13. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
  14. 14. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
  15. 15. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group Build Quality Management Development Continuous Integration 1 - Maintain a Single Source Repository 4 - Everyone Commits To the Mainline Every Day 5 - Every Commit Should Build the Mainline on an Integration Machine 2 - Automate the Build 3 - Make Your Build Self-Testing 6 - Fix Broken Builds Immediately 7 - Keep the Build Fast 8 - Test in a Clone of the Production Environment 9 - Make it Easy for Anyone to Get the Latest Executable 10 - Everyone can see what’s happening (Source: http://www.martinfowler.com/articles/continuousIntegration.html)
  16. 16. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency
  17. 17. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group Git Workflow (Source: A successful Git branching model – Vincent Driessen)
  18. 18. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group Jenkins CI Jenkins is an open source continuous integration tool written in Java. The project was forked from Hudson after a dispute with Oracle.
  19. 19. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
  20. 20. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group SonarQube SonarQube is an open source quality management platform, dedicated to continuously analyze and measure source code quality.
  21. 21. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group (Source: http://nemo.sonarqube.org/)
  22. 22. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group Continuous Integration and Delivery
  23. 23. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group Continuous Integration and Delivery with Docker
  24. 24. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
  25. 25. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group
  26. 26. Agile .NET Development with BDD and Continuous IntegrationHanoi .NET Group

×