Description
Agile software development is an iterative, incremental approach to developing and releasing software. Agile principles include commitment to timely and ongoing software deliveries, changing requirements, simplicity in approach, and sustainable development cycles. The Agile method also promotes self-organizing, self-empowered, self-monitoring teams and individuals who work collaboratively with face-to-face communication. Agile development practices include frequent releases, ongoing testing, customer and stakeholder participation throughout the development process, co-ownership of code, and pair-programming. In this course you will be introduced to agile team practices including pair-programming and co-ownership of code. You will also become familiar with agile programming practices including test-driven development, and behavior-driven development and you will become familiar with agile testing activities in relation to software components, user interfaces, and data.

Objective

Overview of Agile Programming

identify tips for implementing pair programming

identify tips for implementing collective ownership of code

recognize factors to consider when implementing agile practices

identify the features of agile practices used in software development

Implementing TDD and BDD in an Agile Project

identify potential issues when implementing TDD in an agile project

identify the features of BDD

Agile Testing Strategies

recognize the features of agile testing practices

identify the elements of an agile GUI testing process

identify how test cases and oracles can be developed for agile GUI tests