Neste capítulo, iremos trabalhar e nos aprofundar mais em ferramentas que auxiliam os testes de software, chamados de Frameworks. Eles possuem características específicas, desta forma, iremos falar um pouco sobre práticas selecionadas, inspeções, walkthrough e review.
Iremos entender, também, os motivos pelos quais devemos automatizar, que critérios selecionar e quando automatizar. Mas claro, antes de tudo, iremos entender os conceitos fundamentais do que é uma automação de testes.
Como terceiro item, iremos falar sobre as ferramentas que possibilitam realizar essa automatização, assim, iremos entender quais os tipos de ferramentas existentes, o que são mocks e como podemos utilizá-los para os testes e alguns cuidados que devemos entender.
Por fim, mostraremos alguns exemplos de ferramentas que se utilizam de mocks, em diversas linguagens que são mais utilizadas, citando a ferramenta e o que devemos realizar para ter acesso a ela. É um capítulo importante e que deve ser entendido de forma adequada, para que, após ao término, não fique dúvidas futuras. Vamos lá?
Por diversos anos, os testes de software eram feitos por programadores e analistas que realizavam simulações de situações, a fim de buscar erros nos programas. Os dados e simulações eram gerados manualmente ou, ainda, com a utilização de softwares destinados a esse fim. Existiam poucas ferramentas que realizam esse tipo de serviço e que eram difíceis de manipular.
O processo de teste de software cada vez foi se tornando mais complexo de ser executado, assim o seu custo, o tempo requerido de testes e a piora na qualidade aumentaram (RIOS; MOREIRA, 2013).
Desta forma, o surgimento de novas ferramentas foi necessário para apoiar e melhorar o processo do teste de software. A automação existe para que seja reduzido ao máximo o envolvimento humano com a máquina, isto é, para que seja reduzido a interação em atividades repetitivas do testador ou desenvolvedor na procura de erros.
A automação de testes pode adicionar muita complexidade na realização dos testes; mas, de uma forma ou de outra, traz muitos benefícios e tornam-se indispensáveis em determinados ambientes de testes.
Temos que o principal objetivo dos testes automatizados é serem utilizados em testes de regressão, já que os testes são re-executados, a fim de verificar a correção ou adição de novas funcionalidades no sistema.
Não adianta automatizar um processo de testes desorganizado e sem uma base metodológica sólida. Em casos pontuais, ou em projetos específicos, tais como o teste de estresse de uma aplicação Web, é quase impossível realizar o teste sem uma ferramenta de apoio. Neste caso, a ferramenta de apoio é usada em uma parte de um projeto específico, mas não na automatização do processo como um todo
Fonte: Adaptado de Rios e Moreira (2013).
Desta forma, a partir de agora, iremos falar um pouco mais sobre frameworks e suas técnicas de revisões de software, vamos lá?
Vimos que a melhor estratégia para atingir os melhores índices de qualidade no processo de teste é adotar algumas técnicas de verificação para localizar e corrigir defeitos em documentos, planos e requisitos, e especificações e códigos, como complemento aos próprios testes dos componentes codificados (RIOS; MOREIRA, 2013).
Podemos iniciar falando das técnicas de Walkthrough, Inspeção ou revisões técnicas e Pair Programming.
Também conhecido como Travessia, essa técnica realiza um conjunto de revisões, que têm como finalidade sempre melhorar a qualidade no desenvolvimento de softwares.
Este tipo de técnica possui algumas características importantes, que podemos verificar a seguir (RIOS; MOREIRA, 2013):
São práticas em que um determinado grupo de pessoas se dedicam a descobrir defeitos em produtos, no nosso caso, defeitos em softwares. Assim, as revisões em software visam melhorar a qualidade dos produtos desenvolvidos para reduzir prazos e custos de desenvolvimento.
Realizar uma inspeção (revisão) em um software é de extrema importância e pode ser atribuído a qualquer software e seus artefatos, como podemos verificar na figura a seguir:
Segundo Rios e Moreira (2013), o processo de revisão técnica possui algumas características, as quais podemos evidenciar a seguir:
A partir destas características, podemos descrever o fluxo do processo de revisão (inspeção), na qual, primeiro, temos o planejamento da revisão, em que nomeamos o coordenador, realizamos o agendamento dos trabalhos, formação da equipe de revisores e distribuição do produto e do “check-list”.
O próximo fluxo diz respeito ao nivelamento das informações, em que acontece a apresentação dos objetivos do produto e do “check-list” para os revisores. Dando sequência, temos a análise dos produtos a serem revisados, em que ocorre o estudo do produto, apontamento dos potenciais defeitos e não conformidades.
Continuando, temos a reunião de revisão, em que temos a identificação, classificação da severidade e registro dos defeitos. Após, ocorre a correção dos defeitos, em que há o planejamento e execução das correções dos defeitos. E para encerrar, o acompanhamento das medições, em que ocorre o acompanhamento das correções e coleta das medições de defeitos encontrados.
São muitas as considerações que devem ser levadas em conta para a adoção do processo de revisão técnica. Podemos, ainda, citar a respeito das metodologias de desenvolvimento, que devem estabelecer etapas e atividades a serem cumpridas. Outra consideração é a respeito de padrões, que devem definir um formato e conteúdo para as revisões, com padrões para requisitos, programação, documentação e outros (RIOS; MOREIRA, 2013).
Continuando, deverão ser elaborados procedimentos para a realização das revisões, prevendo, assim, critérios para definição de produtos a serem revisados, medições de qualidade e desempenho etc.
Ainda temos outras considerações, como o apoio gerencial, que gerencia determinadas atividades, e que se não realizada, fica fadado ao fracasso. Para finalizar essas considerações, temos as estratégias de introdução, que devem ser críticas em suas análises; os check-lists, que devem ser tarefas para preparação de técnicas; e, por fim, medições, que são importantes para a gestão da qualidade e do processo.
Alguns benefícios são produzidos ao se inspecionar um software, podemos citar a produtividade, tempo, custo e esforço. Em relação ao esforço e custo, podemos citar o quanto o retrabalho atrapalha na implantação de projetos, o que pode chegar numa proporção de variação entre 40% e 50% do retrabalho. A implantação da inspeção de software produz efeitos positivos nas fases iniciais do desenvolvimento, facilitando, assim, a detecção e correção de defeitos sem grandes esforços.
Em relação à produtividade e tempo, respectivamente, com a aplicação das inspeções, temos um aumento da produtividade e uma redução do tempo de desenvolvimento.
Para concluirmos sobre a aplicação de inspeções, percebemos que a intenção sempre é melhorar a qualidade por meio da análise dos artefatos, verificando, analisando e excluindo erros e defeitos encontrados
Outra técnica que podemos falar é a técnica de programação em par, que tem como intuito o compartilhamento da codificação entre dois programadores, assim, os dois poderão trabalhar ao mesmo tempo, sendo que um trabalha codificando e o outro observando se os padrões do projeto estão sendo cumpridos. Podemos dizer que os programadores compartilham de seus conhecimentos para melhor implementar.
Podemos citar como vantagem da programação em par, o rodízio de pessoas, código coletivo, a utilização de padrões etc. É observado que há um aumento na atenção e análise da codificação; há um maior rigor na análise dos objetivos, e a quantidade de erros diminui.
Também conhecido como Travessia, esta é uma técnica que realiza um conjunto de revisões com a finalidade de melhorar a qualidade no desenvolvimento de softwares. Estamos nos referindo a que tipo de técnica:
Review
Incorreta, são práticas que também melhoram a qualidade, mas não são conhecidas como travessia.
Walkthrough.
Essa técnica possui características importantes, como avaliações, informações do produto, restrições e discussões sobre a validade do defeito e outros.
Revisões técnicas.
Incorreta, são práticas para encontrar defeitos e também visam melhorar a qualidade, porém não é conhecido como travessia.
Mocks
Incorreta, são ferramentas com o intuito de simular o real, mas não são conhecidos como travessia.
Frameworks
Incorreto, não são chamados de travessia.
Vimos que a inspeção é de extrema importância, mas temos que entender que há uma diferença entre inspecionar um software e testar um software. Entender essa diferença implica em conhecer como é o processo de inspeção. Nesse sentido, separamos um artigo interessante que demonstra a diferença desses dois conceitos. O link a seguir nos mostra um artigo. Vamos obter um pouco mais de conhecimento? Disponível em: rederequisitos.com.br.
Antes de iniciarmos a explanação sobre as ferramentas de automação de testes, vamos entender um pouco mais sobre esse conceito.
Bom, a automação de testes nada mais é do que a utilização de softwares que controlam a execução de testes, aplicando, assim, possíveis estratégias.
A automação de testes, porém, pode tanto contribuir como também ter efeito reverso e, desta forma, causar determinados problemas no software. Conforme os anos vão passando, a automação vem crescendo e se tornando cada vez mais importante na área de testes, o que trás uma série de pontos positivos, como a diminuição de custos e diminuição do tempo em contato com o desenvolvedor, reduzindo assim o tempo de mão de obra; e, ainda, há um aumento na velocidade de se realizar os testes de softwares (MOLINARI, 2013).
No entanto, há de se ter um cuidado dobrado com a automação de testes, pois este deve estar bem estruturado antes de ser aplicado e, claro, ter uma equipe preparada, principalmente relacionada a conhecimentos em testes de software, treinamentos, conscientização e outros.
Devemos entender que com as características expostas, a automação de testes também agrega valores à marca e a todos os envolvidos no projeto. Vantagens como estas podem fazer uma grande diferença e influenciar o nível de uma empresa no mercado de software.
Mais o que devemos levar em conta para que haja a automatização nos testes de software? É o que iremos estudar um pouco mais adiante.
Uma das principais características da não automatização dos testes é o custo que se tem ao se implantar tais tipos de testes. Desta forma, muitos gerentes de projeto negligenciam esse processo, ocasionando em uma qualidade inferior do projeto ao ser finalizado.
Reconhecer quando aplicar a automatização de testes é fundamental; assim, quando o gerente perceber que o processo normal do teste está ineficiente ou mais caro, é hora de se pensar na automatização e evitar possíveis colapsos, o que pode prejudicar, e muito, o decorrer do projeto.
Percebemos, no decorrer de nossa explicação, que a automação de testes está, de uma forma ou de outra, relacionada à qualidade do software. Desta forma, para se automatizar, precisamos verificar diversas características e, principalmente, se acarretará em um ganho de tempo, custo e qualidade.
Verificado isso, devemos entender sobre o comportamento do sistema testado, reutilização de teste e quanto de tempo necessitamos para realizar a automação. A partir disso, poderemos começar a realizar a automação necessária.
Depois, devemos entender o que automatizar e o por quê automatizar. Temos diversas ferramentas que auxiliam nesse processo, desde a revisão de documentos até a execução de diversos testes.
Por exemplo, em se tratando de testes de regressão, sabemos, pela definição, que são testes já executados e, de uma forma ou de outra, são realizados novamente devido à alguma atualização ou inclusão de uma nova funcionalidade, a fim de verificar possíveis erros a partir disso. Assim sendo, percebemos que testes de regressão são maçantes justamente pelo fato de ser repetido. Tudo isso torna esse tipo de teste um grande candidato a ser automatizado. Assim, estaremos evitando um excesso de trabalho dos profissionais da área de teste e conseguindo um feedback aceitável de forma mais frequente (MOLINARI, 2013).
Uma ferramenta de automação de testes possui várias funcionalidades, desde a execução repetida dos testes até a medição de performance de uma determinada aplicação. Por exemplo, se desejarmos validar a performance de uma parte do sistema, podemos aplicar um teste automatizado que realize determinada característica do sistema, como um cadastro de fornecedores. A atividade será executada diversas vezes, inundando o sistema com uma grande inserção de dados e verificando como é sua performance.
Devemos sempre considerar para quais casos cabe a automação dos testes, pois é um investimento que demora um pouco a ter retorno, dizemos que de médio a longo prazo. Também devemos considerar que mesmo se utilizando da automação dos testes, ainda devemos trabalhar com testes manuais para determinadas atividades.
Podemos, ainda, citar alguns testes que podem ser automatizados, como o já citado teste de regressão, para tarefas repetitivas, tarefas que exigem cálculos matemáticos, funcionalidades consideradas críticas em software; teste de performance; teste unitário; e teste de integração. Claro, podemos aplicar em diversos outros testes a automação, porém estes são os principais que podemos citar.
Um projeto de implementação de automação de testes deve sempre ser cercado de diversos cuidados e suportar características, como podemos verificar na figura a seguir:
Em se tratando das fundações, o responsável pela implementação dos testes automatizados deve se organizar e ter em mãos os recursos necessários para isso.
Como Pilares, temos as ferramentas, metodologias e infraestrutura. Como ferramentas, o responsável pela implementação dos testes deve realizar a seleção da ferramenta certa, adequada à tecnologia utilizada e que possa se integrar com as metodologias de desenvolvimento de testes. Já sobre a metodologia, o responsável deve se utilizar de metodologias e testes consolidados, que possam se integrar com a ferramenta escolhida. E, por fim, infraestrutura, na qual deve ter disponível maquinas, recursos, outras funcionalidades dedicadas ao projeto de automação de testes (RIOS; MOREIRA, 2013).
Ainda, antes de iniciar ou considerar uma automação em testes, temos que verificar determinadas características. Dentre as considerações, iremos tratar das que compõem esse processo (RIOS; MOREIRA, 2013).
A seguir, veremos as especificações de cada uma dessas características:
“Ter sempre em mente que automatizar custa caro, sendo recomendado à preparação de um “business case” para apoiar a tomada de decisão sobre usar ou não e da estratégia para introdução”.
Fonte: Rios e Moreira (2013, p. 160).
Antes de prosseguir com a automação dos testes, deve, ainda, verificar e fazer uma avaliação dos seus atuais processos. Se estes processos não incorporam melhorias práticas, provavelmente a automação de testes não será a solução possivelmente adequada para prover os seus usuários com os softwares com boa qualidade.
A automação de testes é parte importante quando se trata de teste de software. Utilizar-se de todas as técnicas sempre trará benefícios ao produto final. Sobre automação de testes, a alternativa que indica corretamente a sua definição é:
É a execução de testes manuais em softwares a procura de determinados problemas.
Incorreto, automação de testes são testes automáticos.
É a utilização de softwares que controlam a execução de testes, aplicando, assim, possíveis estratégias.
São softwares que procuram as melhores estratégias para aplicar em softwares com a visão de encontrar problemas.
São estratégias para testes unitários aplicados por testadores diferentes.
Incorreto, não são aplicados por testadores diferentes e sim por softwares específicos e automatizados.
São testes que não podem ser realizados por qualquer pessoa integrante da equipe, mas somente por testadores.
Incorreto, são testes aplicados de forma automática por meio de softwares.
São estratégias que são pensadas antes da construção do software e que não podem ser alteradas no decorrer do projeto.
Incorreto, automação significa testar automaticamente uma parte do software utilizando estratégias.
Como estudado, a automação de testes possui grandes desafios e o principal deles, podemos dizer, é em cima de iniciantes. Como a automação de testes é uma área que vem crescendo muito, sempre ter pessoas qualificadas para que realizem trabalhos adequados é essencial. Desta forma, separamos um artigo que diz a respeito de dicas para iniciantes, e também desafios enfrentados na automação de testes. Vamos adquirir novos conhecimentos:
Disponíveis em: blog.cedrotech.com e monitoratec.com.br.
Ferramentas são importantes para a automação de testes, e no mercado existem para diversos tipos de testes. Geralmente, essas ferramentas são utilizadas pelos profissionais a partir de algumas características importantes, como suas funções, especialização e como se comportam em testes caixa branca versus caixa preta.
Nesse sentido, iremos explanar um pouco mais sobre essas características a partir de agora. Sobre as funções, como o próprio nome diz, as ferramentas são selecionadas a partir de características a respeito das funções que executam.
Desta forma, temos ferramentas para determinadas características, por exemplo, ferramentas de aquisição de dados, que adquirem dados por meio de extração, conversão dos dados utilizados nas atividades de teste. Outro tipo são as ferramentas de medição estática que analisam informações existentes no código fonte, que possibilitará a análise do fluxo lógico e de dados. Esta ainda trabalha com as métricas relacionadas à qualidade.
Temos, também, ferramentas de medição dinâmica, que trabalham na execução do código, assim, analisam toda a estrutura em tempo de execução, detectando possíveis erros. Ainda temos ferramentas que chamamos de simuladores ou geradores, que são destinados à execução de atividades específicas; e, ainda, ferramentas de gerenciamento de testes que trabalham como planejamento das ações, como implementação, execução e outros.
Outros tipos de ferramentas existentes são aqueles que trabalham com a análise do funcionamento de testes de caixa branca versus caixa preta. As de caixa branca sempre se utilizam do conhecimento relacionado em cima do código fonte para a possibilidade de implementar e executar os testes. Já as de caixa preta, estão relacionados a parte funcional do sistema.
Mencionamos, também, sobre as ferramentas baseadas na especialização, ou seja, baseadas em atividades que detêm maior habilidade de verificação. Assim, temos as ferramentas de registro/produção, na qual combinam tanto a aquisição dos dados quanto a medição dinâmica; as ferramentas de medição de qualidade, que analisam características que no final sugerem uma possível confiabilidade, capacidade de manutenção e outros.
Temos, também, as ferramentas de monitoramento de cobertura, que está relacionado ao quanto o teste abrange em relação ao código, verificando, assim, toda a sua cobertura para o que foi especificado. Já as ferramentas geradoras de casos de testes, como o próprio nome diz, automatizam a geração de dados de testes, a fim de introduzir diversos tipos de entradas para causar determinados erros no sistema.
Dando sequência, temos também as ferramentas de comparação, cuja finalidade é comparar diferenças existentes entre os resultados do teste e resultados de referência.
Entendemos como Mock tudo aquilo utilizado como cópia de algo, de um objeto que tem o mesmo comportamento que o objeto original, relacionado à unidade em um teste.
Para melhor entendermos, vamos a um exemplo prático, imagine um banco de dados. Para realizarmos o teste neste banco de dados, devemos criar um objeto que seja cópia dele, assumindo todas as funcionalidades do original. Desta forma, podemos realizar testes neste banco de dados relacionado à conexão e outros tipos, tomando-se que o mesmo irá funcionar e retornar valores como o previsto em sua implementação.
Às vezes, o objeto que você está testando tem dependências em outros objetos que podem não ter sido escritos ou que atrasam o processo de teste quando são usados. Desta forma, existem Mock objects que podem ser usados para simular operações anormais ou eventos raros (SOMMERVILLE, 2011).
Podemos dizer, então, em linguagem popular, que Mocks são fakes por simularem algo como se fosse o real. No entanto, um Mock sempre irá decidir se um teste obteve sucesso ou falhou.
Mocks são muito utilizados em testes de interação, ou seja, testes que trabalham com a análise de uma determinada ação. Desta forma, o mock tem o intuito de verificar se na ação ocorreu tudo certo, se foi executada sem nenhum problema, em vez de verificar se o mesmo retornou algo.
Mocks também podem ser conhecidos como Objetos Mock ou também objetos simulados. Então, se você, caro(a) aluno(a), estiver lendo algum material a respeito, fique atento.
Mas para que se utilizar de objetos Mocks? Bom, existem algumas razões para isso. Ele não é somente utilizado em testes de interação, mas com parcelas significativas em outros testes também. Por exemplo, em testes unitários, na qual podem simular como objetos irão se comportar; desta forma, são muito úteis para quando objetos são difíceis de se criar.
O uso de objetos mock também podem causar determinadas limitações, como negar benefícios que testes unitários oferecem. Assim, o excesso do uso desses objetos pode resultar em um crescimento de possíveis alterações que, necessariamente, precisam ser feitas no processo de evolução do sistema.
Vimos, também, que o mock simula o comportamento de um objeto e, como limitação, seu comportamento pode ser afetado se o objeto foi realizado por outro desenvolvedor, ou caso não tenho sido realizado; e se esse comportamento não for modelado de forma correta, torna-se inútil o teste unitário.
Ainda sobre as limitações, muitos mocks executados podem acarretar no ocultamento de problemas entre os objetos; desta forma, os objetos que foram mockados podem dar determinado resultados diferentes quando estes estiverem em funcionamento real.
Dessa forma, podemos concluir que não precisamos criar mocks em todos os casos e, assim, torna-se importante analisar cada caso para procurar a melhor solução.
Existem diversas ferramentas que auxiliam a automação de testes no mercado, e cada uma com características destinadas a alguns testes específicos. Sobre isso, a alternativa que menciona, ao menos, três tipos existentes de ferramentas é:
Aquisição de testes, medição estática e geradores.
Incorreto, pois aquisição de testes não é um tipo de ferramenta.
Aquisição de dados, medição dinâmica e simuladores.
Os tipos existentes são de aquisição de dados, medição estática, medição dinâmica, simuladores ou geradores, os que analisam o funcionamento de testes de caixa branca x caixa preta, baseados na especialização, ferramentas de registro/reprodução, medição de qualidade, monitoramento e cobertura, geradores de casos de testes e de comparação.
Medição de qualidade, monitoramento e medição anormal.
Incorreto, medição normal não é um tipo.
Comparação, especialização e gradual.
Incorreto, gradual não é um tipo de ferramenta.
Aquisição de métodos qualitativos, monitoramento e gerenciamento.
Incorreto, aquisição de métodos qualitativos e gerenciamento não são tipos de ferramentas.
Mockar ou não mockar? Eis a questão. Bom, agora que entendemos um pouco sobre esse novo vocabulário e sua funcionalidade, e ao decidir se devemos ou não mockar, também devemos conhecer algumas ferramentas que nos auxiliam. O link a seguir nos mostra um pouco mais sobre um framework chamado mokito. Vamos ver como é o funcionamento deste framework?
Disponível em: blog.caelum.com.br.
Agora que entendemos um pouco mais sobre os mocks, podemos começar a falar mais sobre as ferramentas existentes no mercado. Relembrando um pouco, os mocks são utilizados para simular objetos reais para verificação de problemas mediante testes.
Existem diversas razões para que sejam utilizadas essas ferramentas, já que podem simular comportamento de objetos reais que podem ser muito complexos; um exemplo disso é uma chamada remota, que pode ser simulada adequadamente por meio de objetos mock.
Entendemos que testes com muito mocks ocultam problemas entre objetos e que necessitam da realização de testes de integração. Nesse sentido, iremos citar, no quadro a seguir, algumas ferramentas que auxiliam na criação de mocks.
Vamos, então, a leitura de algumas ferramentas
Quadro 4.1 - Ferramentas MOCK
Fonte: Elaborado pelo autor.
Podemos citar as ferramentas EasyMock, o jMock e o Mockito como as mais utilizadas no processo de testes. Ferramentas que também podem ser utilizadas para testes de unidade em processos ágeis. Disponível em: desenvolvimentoagil.com.br.
Ao se trabalhar com essas ferramentas, é essencial ter o conceito do que são mocks e, claro, o conceito de testes de software. Trabalhar com todas as possibilidades de incidência de erros e formas de verificar isso acarretará em um software com maior confiabilidade e qualidade; lembremos, ainda, que se ter 100% de um software livre de erros é impossível, mas podemos trabalhar para esse percentual atingir o mais alto possível.
A título de curiosidade, podemos falar um pouco mais sobre a ferramenta Mockito, que auxilia na criação de mocks, vamos lá? Iniciaremos explicando um exemplo prático para melhor entendimento. Assim, vamos utilizar um exemplo que sempre aparece em referências bibliográficas, sites e outros, por ser algo fácil e prático de entender.
Iremos modelar um marceneiro. Mas como assim um marceneiro? Criaremos uma classe marceneiro como se fosse um método com suas características. Desta forma, se fossemos criar o código fonte, iríamos criar classes destinadas a criar um marceneiro e tudo o que ele pode fazer. No caso de verificar como que um marceneiro irá realizar determinadas ações, como cortar algo, e que tipo de ferramenta ele vai utilizar, podemos criar mocks que nos auxiliem; assim, você não precisa criar de verdade uma “serra” para verificar os testes em cima das classes marceneiro e outros, basta realizar a simulação, que é o intuito do mock e, assim, verificar se a função cortar com a serra funciona corretamente.
Para melhor entendimento, você pode acessar o link vidageek.net, onde temos trechos de códigos que ficará melhor para o nosso entendimento da ferramenta mockito.
A seguir, ainda descreveremos algumas definições retiradas do site da ferramenta (https://code.google.com/archive/p/mockito/) e que caso você trabalhe com isso, irá ser de muito auxílio, vamos ver? A seguir, citamos alguns comandos:
Mocks são ferramentas importantes e que simulam o comportamento de objetos reais. Das alternativas a seguir, quais ferramentas mock são exemplos de ferramentas que utilizam a linguagem java.
Mock PP, Simple Teste e Mockito.
Incorreto, Mock PP e Simple Teste fazem parte de outras linguagens.
rMock, jMock e Mockito.
Como exemplos, foram citados em nosso capítulo as ferramentas jMock, EasyMock, rMock, SevenMock Mockito.
FlexMock, EasyMock e MockitNow.
FlexMock e MockitNow são ferramentas que se utilizam de outras linguagens.
Moq, rMock e Amop.
Incorreto, Amop e Moq são ferramentas que se utilizam da outras linguagens.
Mocha, jMock e SMock.
Incorreto, Mocha e SMock são exemplos que se utilizam de outras linguagens.
O mock auxilia muito em relação à facilidade em testes de unidade. Claro, ele possui diversos softwares, como já vimos, mas um dos frameworks mais utilizados é o mockito, que trabalha com a linguagem java. Nesse sentido, separamos um artigo bem bacana sobre mockito para a sua leitura, que é de extrema importância em relação a novos conhecimentos. Vamos lá?
Disponível em: blog.caelum.com.br.
Nome do livro: Teste de Software
Editora: Altabooks
Autor: Rios, Emerson; Moreira Filho,Trayahú R.
ISBN: 978-85-7608-775-5
O livro trata de atividades de teste de software que devem ser inseridas no processo de desenvolvimento, por testadores ou por responsáveis da execução destas atividades. No livro, é explanado sobre a importância desses profissionais, que são técnicos altamente qualificados. Esse livro dá um enfoque aos principais aspectos relacionados ao teste de software, desta forma, além das métricas e metodologias, é apresentado como os testes devem ser organizado
Nome do filme: Black Mirror
Gênero: Ação
Ano: 2011
É uma série que retrata como a sociedade lida com tecnologia e de uma forma ou de outra realiza previsões sobre como novas ou possíveis tecnologias irão afetar o mundo num futuro bem próximo. Há diversas temporadas e tratam assuntos comoreality shows, realidade virtual eredes sociais.