SóProvas


ID
2506138
Banca
CESPE / CEBRASPE
Órgão
TRE-BA
Ano
2017
Provas
Disciplina
Engenharia de Software
Assuntos

Entre os métodos e técnicas ágeis, a técnica que utiliza a linguagem ubíqua, visando, entre outras coisas, a integração de regras de negócios com linguagem de programação, com foco no comportamento do software, e na qual os testes orientam o desenvolvimento, ou seja, primeiro se escreve o teste e depois o código, é a

Alternativas
Comentários
  • Cíntia, mas não tem DDD nessa lista, o que tem é BDD que é "FOCADO NO COMPORTAMENTO DO SOFTWARE". Já que o enunciado citou o tal comportamento, logo deduzimos que trata-se da letra A.

  • Embora TDD seja uma técnica testada e aprovada por grandes desenvolvedores ágeis, muitas equipes de desenvolvimento ainda caem em algumas armadilhas e mal-entendidos do tipo: por onde começar, o que testar e o que não testar. Isto sem falar que quem escreve os testes são os desenvolvedores, mas quando a equipe de qualidade vai testar, ela se preocupa com o comportamento do sistema e não com os testes unitários. Desta forma, não há comunicação eficiente entre as duas equipes no nível de código.

    Para tornar a aplicação de TDD mais simples e ajudar as equipes de desenvolvimento a resolverem as questões mencionadas acima, surgiu o Behaviour Driven Development (BDD), BDD é a evolução do TDD.

     

    Linguagem Ubíqua: é uma linguagem estruturada em torno do modelo de domínio e usada por todos os membros da equipe para conectar todas as suas atividades com o software. Numa equipe de desenvolvedores são: os jargões técnicas, terminologias das discussões do dia-a-dia ou uma linguagem incomum para pessoas de outros departamentos.

     

    A linguagem de negócio usada em BDD é extraída das estórias ou especificações fornecidas pelo cliente durante o levantamento dos requisitos. Alguns frameworks utilizam o conteúdo das estórias escritas em um arquivo de texto como cenários para os testes. Quando Dan North apresentou este conceito em 2003, ele sugeriu um padrão para escrita destes arquivos.

  • "com foco no comportamento do software"

    Deu a dica..

  • Comportamento = Behavior

    Daí vc já mata a questão.

  • Falou "linguagem ubíqua" é BDD.

    Ubíqua: conhecida por todos. Neste caso, é uma linguagem de conhecimento tanto dos analistas de negócio quanto dos desenvolvedores.

  • apesar da linguagem ubíqua ser também um termo utilizado no DDD (domain driven design), ela é utilizada no BDD com o mesmo sentido. Todos os envolvidos (usuário, analistas, desenvolvedores, etc) devem utilizar o mesmo vocabulário durante o ciclo de vida do produto. Essa caracteristica é interessante ao BDD quando se descrevem os testes utilizando linguagem natural, depois há uma camada de tradução/interpretação onde esse mesmo teste é codificado na linguagem de programação que faça sentido ao projeto. Para saber mais sobre BDD, recomendo ler sobre a ferramenta cucumber.

  • BDD são a linguagem e as interações usadas no processo de desenvolvimento de software. Desenvolvedores usam sua língua nativa em combinação com a linguagem ubíqua (ubiquitous language), que lhes permite concentrar nas razões pelas quais o código deve ser criado, e não em detalhes técnicos, além de minimizar traduções entre a linguagem técnica na qual o código é escrito e outras linguagens de domínio, usuários, clientes, gerência do projeto, etc. (GABARITO)

    Kanban: É orientado a fluxo de trabalho.

    Automatizar seus builds é uma das primeiras etapas essenciais na configuração de um pipeline de CI/CD. A fase de build fornece a primeira rodada de feedback rápido e viabiliza os estágios subsequentes do pipeline, desde o testes automatizados até a entrega contínua e implantação.

    Automação de teste é o uso de software para controlar a execução do teste de software, a comparação dos resultados esperados com os resultados reais, a configuração das pré-condições de teste e outras funções de controle e relatório de teste.

    Test Driven Development (TDD) ou em português Desenvolvimento guiado por testes é uma técnica de desenvolvimento de software que se relaciona com o conceito de verificação e validação e se baseia em um ciclo curto de repetições: Primeiramente o desenvolvedor escreve um caso de teste automatizado que define uma melhoria desejada ou uma nova funcionalidade.