Pregunta

Si desea mover su proceso de desarrollo de Desarrollo basado en pruebas a Desarrollo basado en comportamiento ¿qué camino tomarías o recomendarías?

¿Cuáles son los posibles desafíos que podrías enfrentar? Mover el proceso de desarrollo será una gran tarea en sí misma a medida que cambie el paradigma, se produzca un cambio en el proceso de pensamiento y las perspectivas de los cambios en la ejecución del proyecto.

¿Alguien tuvo una experiencia real para hacer que este cambio ocurriera sin problemas (hmm ... puede que no sea tan fácil)?

¿O alguien que intenta hacer este cambio?

Entiendo que esto puede no aplicarse a todos y cada uno. Pero, ¿cuál sería el paso lógico en caso de que alguien necesite avanzar hacia esto?

Solo tengo información básica sobre BDD de la siguiente publicación SO. Diferencia primaria entre TDD y BDD

Los puntos clave que estoy buscando son:

  • ¿Qué tipo de capacitación para desarrolladores se necesita?
  • ¿Hay algún cambio significativo en el proceso SDLC?
  • ¿Cuáles son las herramientas BDD que recomienda (.net)?
  • Buenos recursos de BDD (.net)

Gracias de antemano.

EDITAR:

Con respecto a BDD Framework para .NET, me encontré con esta publicación en SO Framework BDD más maduro para .NET

¿Fue útil?

Solución

Cuando comencé a mirar BDD, investigué todos los frameworks (para .net) y terminé usando ninguno de ellos. La razón principal es que siento que la comunidad aún no se ha decidido por una sintaxis y las mejores prácticas, así que en su lugar seguí usando NUnit con una clase base basada en un publicación de blog de Ben Scheirman. Esto funcionó muy bien porque BDD no se trata de herramientas, sino de hacer que las pruebas sean limpias y comprensibles, lo cual es totalmente posible con herramientas normales como nunit.

En comparación con las pruebas de mi unidad anterior, el nuevo estilo es mucho más legible y se enfoca mucho más en los nombres y el comportamiento. No estamos tan lejos de imprimir los nombres de los métodos y tener una discusión con los empresarios sobre el sistema.

Algunas lecturas adicionales de Scott Bellware: Desarrollo impulsado por el comportamiento

Examen de una prueba:

public class WhenAddingLineItemToEmptyOrder : BDDBase
{
    Order order;

    [SetUp]
    public void Arrange()
    {
        order = new Order();
    }

    public void Act() // called by BDDBase
    {
        LintItem item = new LineItem();
        item.Quantity = 1;
        item.Price = 10;
        order.AddLineItem(item);
    }

    [Test]
    public void TotalPriceShouldBeUpdated()
    {
        Assert.AreEqual(10, order.TotalPrice);
    }

    [Test]
    public void OrderCanBeCheckedOut()
    {
        Assert.IsTrue(order.CanBeCheckedOut)
    }
}

Otros consejos

Hasta donde entiendo ... BDD es una nueva forma de ver TDD. Es más un cambio mental que una nueva tecnología.

Lo que quiero decir es que técnicamente podrías usar las Herramientas de Prueba de Unidad para hacer BDD

Behavior Driven Development es una herramienta ágil moderna que permite a su empresa reafirmar las competencias básicas de los desarrolladores para encontrar mejores formas de comunicación, aumentando la intercalación de la visión de gestión, que le permitirá crear valor de manera fundamental nuevo nivel de su posición intrínseca en el mercado.
El cambio de mentalidad de Test Driven Development incorpora un cambio de paradigma que implica un análisis profundo del flujo de trabajo, una retroalimentación constante a través de metodologías ágiles de última generación y una cuidadosa atención a la matriz de transición del escenario de comportamiento subyacente.

Es posible que desee escuchar Hanselminutes Show # 146 - Test Driven Development is Design - La última palabra en TDD .

Lo más interesante que Scott Bellware dice: "Desarrollo impulsado por pruebas es diseño"

El libro que lo hizo " enciende " para él: Desarrollo impulsado por pruebas en Microsoft & # 174; .NET (para desarrolladores de .NET, escuche el podcast para el contexto)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top