Agile Programming and Testing

Target Audience
Expected Duration
Lesson Objectives
Course Number

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.

Target Audience
Experienced developers and software project managers who wish to become proficient in the application of agile methodologies in software development projects

At least 1 year's experience designing or developing software or managing software development projects

Expected Duration (hours)

Lesson Objectives

Agile Programming and Testing

  • 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
  • identify potential issues when implementing TDD in an agile project
  • identify the features of BDD
  • 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
  • identify approaches to test data management
  • recognize how to apply TDD to agile database development
  • identify how BDD can be applied to agile database development
  • recognize BDD and TDD approaches to agile development
  • recognize considerations when implementing an agile testing lifecycle
  • recognize considerations when implementing UI testing in agile projects
  • work with data in an agile project
  • Course Number: