segunda-feira, 1 de fevereiro de 2010

Por que alguns programadores não gostam de escrever testes automatizados?

      tdd

      Culturalmente alguns programadores acham que não precisam escrever testes automatizados. Este pensamento vem desde formação até vida profissional.

      Quebrar um paradigma de formação é difícil, mas não é impossível.

      Como trato de assuntos ligados a metodologia ágil, falarei dos testes automatizados e benefícios aos programadores e clientes.

      Os testes automatizados são uma maneira de garantir maior qualidade de código, sendo assim os clientes e os programadores ganham. O cliente ganhará um produto com maior qualidade e o programador terá maior qualidade de código.

      Problemas sem testes automatizados:

      • Muito tempo na depuração;

      • Erros encontrados tardiamente;

      • Dificuldade em relação à repetição testes;

      • Demorado;

      • Cansativo;

      • Executado poucas vezes.

          Benefícios dos testes automatizados:

          • Segurança para mudanças externa e de código;

          • Aumento do tempo de vida útil do software;

          • Testes executados a qualquer momento;

          • Encontram erros;

          • Aumentam a velocidade de programação.

              E como deve ser o código do teste?

              O código do teste merece o mesmo cuidado que o código do sistema.

              O código do teste passa por manutenção. Também poderá conter erros, deverá ser legível e simples.

              Tipos de testes

              O programador é responsável pelos testes unitários, que possuem as seguintes características:

              • Encontram muitos erros;

              • Tipo focando na funcionalidade (caixa-branca).

                  Os demais testes são:

                  • Aceitação;

                  • Interface  do usuário;

                  • Mutação;

                  • Desempenho;

                  • Estresse;

                  • Segurança;

                  • Integração.

                      Os demais testes o programador poderá fazer, mas conforme conhecimentos e experiências precisarão ou não do apoio dos seguintes profissionais:

                      • Analista de teste;

                      • Pessoal da infraestrutura ou arquiteto.

                        Colegas programadores, com os testes automatizados vocês somente terão a ganhar na execução do seu trabalho e na formação profissional. Tendo uma visão focada no negócio.

                        “Qualquer funcionalidade que não possui testes automatizados simplesmente não existe.” Kent Beck

                        Fonte: http://www.agilcoop.org.br

                      Ta-ta for now

                      Nenhum comentário:

                      Postar um comentário