Fiquei imaginando como grandes empresas de desenvolvedores de software verificam se há bugs em seus programas. Eles apenas testam em vários computadores?
Fiquei imaginando como grandes empresas de desenvolvedores de software verificam se há bugs em seus programas. Eles apenas testam em vários computadores?
Atualmente, essa questão não se encaixa no nosso formato de perguntas e respostas. Esperamos que as respostas sejam apoiadas por fatos, referências ou conhecimentos, mas essa pergunta provavelmente solicitará debates, argumentos, pesquisas ou discussões prolongadas. Se você acha que...
Recentemente, no trabalho, tivemos algumas diferenças de opinião em relação aos testes parametrizados . Normalmente usamos um estilo TDD (ou pelo menos tentamos), então eu entendo os benefícios dessa abordagem. No entanto, estou lutando para ver o ganho dos testes parametrizados. Para referência,...
Eu sei que você não deveria testar métodos particulares e, se parecer que você precisa, pode haver uma classe lá esperando para sair. Mas não quero ter um zilhão de classes apenas para poder testar suas interfaces públicas e acho que, para muitas classes, se apenas testar os métodos públicos,...
Eu tenho uma classe base com uma boa quantidade de "meta programação" para dar a flexibilidade / abstração necessária para ser bastante genérica. Eu tenho muitas subclasses usando os métodos comuns na classe base e tenho testes de unidade orientados a comportamento que cobrem todos os casos em...
Estou refatorando uma enorme classe de código legado. A refatoração (presumo) defende isso: escreva testes para a classe herdada refatorar o pedaço fora da classe Problema: depois que refatorar a classe, meus testes na etapa 1 precisarão ser alterados. Por exemplo, o que antes era um método...
Li recentemente um artigo que dizia que objetos simulados geralmente são mal compreendidos e mal utilizados. Existem claros anti-padrões zombeteiros que eu posso
Estou trabalhando em um sistema legado (com isso quero dizer que foi escrito sem testes). Tentamos testar parte do sistema escrevendo testes de integração que testam a funcionalidade de fora. Isso me dá certa confiança para refatorar partes do código sem se preocupar em quebrá-lo. Mas o problema...
Eu ouço muito dos profissionais do TDD que uma das vantagens do TDD é que ele força os desenvolvedores a seguir os princípios do SOLID (responsabilidade única, aberto-fechado, substituição de Liskov, segregação de interface e inversão de dependência). Mas, quanto a mim, basta escrever alguns testes...
Ao criar um sistema como uma IA, que pode seguir muitos caminhos diferentes muito rapidamente, ou realmente qualquer algoritmo que possua várias entradas diferentes, o conjunto de resultados possível pode conter um grande número de permutações. Que abordagem deve ser adotada para usar o TDD ao...
Eu assisti a uma apresentação do Google Tech Talk sobre testes de unidade , ministrada por Misko Hevery, e ele disse para evitar o uso da newpalavra - chave no código de lógica de negócios. Eu escrevi um programa e acabei usando a newpalavra - chave aqui e ali, mas eles eram principalmente para...
Por exemplo, se o código gera um int aleatório de 0 a 10 e usa uma ramificação diferente em cada resultado, como projetar um conjunto de testes para garantir 100% de cobertura de instrução nesse código? Em Java, o código pode ser algo como: int i = new Random().nextInt(10); switch(i) { //11 case...
Eu queria perguntar a vocês, em quais casos faz sentido testar o código funcional de tipo estatístico, conforme escrito em haskell, scala, ocaml, nemerle, f # ou haXe (o último é o que realmente me interessa, mas queria explorar o conhecimento das comunidades maiores). Peço isso porque, pelo meu...
Eu já tinha um pouco de experiência com testes de unidade no que chamo (não pejorativamente) de projeto clássico de engenharia de software: um MVC, com uma GUI de usuário, um banco de dados, lógica de negócios na camada intermediária, etc. estou escrevendo uma biblioteca de computação científica em...
Sei que essa é uma prática debatida, mas vamos supor que essa seja a melhor opção para mim. Eu estou pensando sobre qual é a técnica real para fazer isso. A abordagem que vejo é a seguinte: 1) Faça a classe de um amigo a classe que é o método que eu quero testar. 2) Na classe friend, crie um...
Qual seria a melhor abordagem para testar a unidade de um modelo que se integra a um aplicativo fortemente acoplado ao banco de dados? O cenário específico aqui é um carrinho de compras - eu gostaria de poder testar a adição, remoção e recuperação de itens do carrinho, além da lógica de preços...
Estou tentando criar alguns casos de teste e li que você deve tentar limitar o número de asserções por caso de teste. Então, minha pergunta é: qual é a melhor maneira de testar uma função com várias entradas. Por exemplo, eu tenho uma função que analisa uma string do usuário e retorna o número de...
Estou trabalhando em várias aplicações, principalmente as herdadas. Atualmente, sua cobertura de código é bastante baixa: geralmente entre 10 e 50%. Desde várias semanas, temos discussões recorrentes com as equipes de Bangalore (a parte principal do desenvolvimento é realizada no exterior na...
Inspirado por esta pergunta Usando bibliotecas de terceiros - sempre use um wrapper? Eu queria saber o que as pessoas realmente consideram como bibliotecas de terceiros. Exemplo do PHP: Se estou criando um aplicativo usando a estrutura do Zend, devo tratar as bibliotecas da estrutura do Zend...
TDD é sobre como projetar código, guiado por testes. Assim, camadas típicas geralmente não são construídas antecipadamente; eles devem aparecer um pouco através das etapas de refatoração. O design orientado a domínio envolve muitos padrões técnicos, definindo camadas bem estabelecidas, como...