Practicamente, os casos de proba para cada función créanse e probábanse antes de lanzar o software e, se a proba falla, escríbese novo código (ou reescrito ou parcheado) para pasar a proba e facer que o código sexa sinxelo e sen erros.
O desenvolvemento impulsado por probas (TDD) comeza co deseño e desenvolvemento de probas para cada pequena función dunha aplicación. O cadro TDD instrúe aos desenvolvedores que escriban código novo só se fallou unha proba automatizada. Este enfoque evita a duplicación de código. O módulo TDD completo é un desenvolvemento impulsado por probas.
Test Driven Development (TDD) orixinouse como parte dun paradigma de deseño de software máis amplo coñecido como Extreme Programming (XP), que forma parte da metodoloxía de desenvolvemento de software Agile.
O concepto sinxelo de TDD é escribir e corrixir probas fallidas antes de escribir código novo (antes do desenvolvemento). Isto axuda a evitar a duplicación de código xa que escribimos unha pequena cantidade de código á vez para pasar as probas. (As probas non son máis que condicións esixibles que temos que probar para satisfacelas).
O desenvolvemento baseado en probas é un proceso de desenvolvemento e execución de probas automatizadas antes do desenvolvemento real da aplicación. Por iso, a TDD tamén se chama ás veces Test First Development.
Antes de escribir calquera código novo, o programador debe primeiro crear unha proba unitaria fallida. Entón, o programador, ou parella ou mafia, crea o código suficiente para satisfacer ese requisito. Unha vez superada a proba, o programador pode refactorizar o proxecto, facendo melloras sen cambiar o comportamento.
Aínda que o TDD céntrase nas interaccións do programador a nivel de unidade, hai outros métodos populares, como o desenvolvemento impulsado por probas de aceptación (ATDD) ou o desenvolvemento dirixido por comportamento (BDD), que se centran en probas que poden ser entendidas polos clientes.
Estes métodos implican construír exemplos do mundo real como probas colaborativas entre o persoal de enxeñería e o cliente antes da codificación e, a continuación, executar as probas despois da codificación para demostrar que o código está implementado. Ter as probas coñecidas de antemán mellora a calidade da primeira vez. ATDD e BDD requiren que os desenvolvedores, os probadores e a parte empresarial traballen xuntos para imaxinar e discutir o software e as súas implicacións antes de crear o código.
O desenvolvemento baseado en probas pode producir aplicacións de alta calidade en menos tempo do que é posible con métodos máis antigos. A implementación exitosa de TDD require que os desenvolvedores e probadores prevean con precisión como se usarán a aplicación e a súa funcionalidade no mundo real.
TDD constrúe unha serie de probas de regresión como efecto secundario que pode minimizar as probas manuais humanas, atopando problemas antes, o que leva a solucións máis rápidas. A natureza metódica do TDD garante unha cobertura e unha calidade moito máis elevadas que os clásicos ciclos de código por fases > proba > corrixir > reprobar. Dado que as probas realízanse no inicio do ciclo de deseño, o tempo e o diñeiro gastados na depuración posterior redúcense ao mínimo.
Beneficios esperados:
O TDD require unha habilidade considerable para ter éxito, especialmente a nivel de unidade. Moitos sistemas legados simplemente non están construídos tendo en conta as probas unitarias, polo que é imposible illar os compoñentes para probalos.
Ademais, moitos programadores carecen das habilidades para illar e crear código limpo. Todos os membros do equipo deben crear e manter probas unitarias ou quedarán obsoletas rapidamente. E unha organización que mira a TDD terá que investir tempo, ralentizar un pouco agora para ir máis rápido despois.
Finalmente, como ocorre con calquera método, os resultados finais do TDD son tan bos como as probas que se utilizaron, a precisión con que se realizaron e a medida en que imitan as condicións coas que se atopan os usuarios do produto final.
Erros comúns:
TDD permítelle ao programador dar pequenos pasos ao escribir software. A proba escríbese antes de probar a funcionalidade e garante que a aplicación é apta para a probabilidade. Realízase probas nunha pequena cantidade de código para detectar os erros que se producen no código probado. Despois, a funcionalidade é implementada. Isto denomínase "refactor verde vermello" onde o vermello significa un fallo e o verde indica un paso. Estes pasos repítense. O primeiro obxectivo dun programador é centrarse na tarefa que ten a man e superala.
Ercole Palmeri
Millóns de persoas pagan por servizos de streaming, pagando taxas de subscrición mensuais. É unha opinión común que vostede...
Coveware by Veeam continuará ofrecendo servizos de resposta a incidentes de extorsión cibernética. Coveware ofrecerá capacidades forenses e de remediación...
O mantemento preditivo está a revolucionar o sector do petróleo e do gas, cun enfoque innovador e proactivo para a xestión das plantas...
A CMA do Reino Unido emitiu unha advertencia sobre o comportamento de Big Tech no mercado da intelixencia artificial. Alí…