Open In App

Difference between TDD vs AMDD in Software Engineering

Last Updated : 22 Jan, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

Prerequisite : Agile Software Development and Agile Software Process and it’s Principles

1. Test Driven Development (TDD) :
Test Driven Development (TDD) is a software development technique which develops the test cases before the software is fully developed and make necessary updates based on test results. Means here some tests are written and the system is build accordingly when it passes the test cases. And the test cases are designed based on various circumstances and reaction of the system.

Benefits of TDD :

  • It gives a clarification that what we want from the respective code.
  • It creates a detailed specification.
  • It reduces time spent on rework.
  • It helps in quick identification of errors and problems.
  • It creates SOLID code and supports a clean interface.

2. Agile Model Driven Development (AMDD) :
Agile Model Driven Development (AMDD) is an Agile version of Model Driven Architecture (MDA) or Model Driven Development (MDD) where extensive models are created before source code is written. It does not create a bigger version of the model rather it creates agile versions of the model which enhance the outcome of software development.

Benefits of AMDD :

  • It helps in rapid development of the software application.
  • It gives a clarification that what we want from the respective code.
  • It allows regular adaptation to changing circumstances.
  • It gives continuous attention to technical excellence.

Difference between TDD vs AMDD :

S.NO.

TDD

AMDD

01. TDD refers to Test Driven Development. AMDD refers to Agile Model Driven Development.
02. TDD is a software development technique which develops the test cases before the software is fully developed and make necessary updates based on test results. AMDD is an Agile version of MDA (Model Driven Architecture) or Model Driven Development (MDD) where extensive models are designed before source code is written.
03. This technique focuses more on the implementation of a feature. This technique focuses more on the implementation of functionality.
04. It shortens the programming feedback loop. It shortens modeling feedback loop.
05. It does not address the agile scaling issues. It addresses the Agile scaling issues.
06. It promotes the development of high-quality code. It promotes high-quality communication with stakeholders and developers.
07. It provides detailed specification. It is better for thinking through bigger issues.
08. Participants are programmers. Participants are stakeholders, and data professionals, business analysts.
09. It is non visually oriented. It is visually oriented.
10. TDD has a limited scope than AMDD. AMDD has a larger scope than TDD.

 


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads