Comentários sobre o Seminário Catarinense de teste de software

imagem de Cristiano Caetano

Seminário Catarinense de teste de software

Antes de tudo eu gostaria dar os parabéns a Tatiana Gonzaga e a Erika Hmeljevski pela organização do Evento. Segue abaixo os meus comentários e opiniões pessoais sobre as palestras. Convido a todos que participaram do evento a comentarem e contribuirem com mais pontos de vistas.

http://www.testexpert.com.br/files/evento.JPG

Real Testing
Lucas Nazário dos Santos
Projeto de software com testes unitários (Download do powerpoint)

Segundo o palestrante a técnica de TDD é uma forma analisar, projetar e tomar decisões de arquitetura durante a fase de desenvolvimento do software. Em geral a técnica de TDD (Test Driven Development) é uma evolução do teste unitário convencional. É uma forma de, segundo o palestrante, "estressar" o teste unitário convencional e extrair o melhor dos três mundos: desenvolvimento, projeto e teste.

Em linhas gerais, por meio do TDD existe uma mudança de paradigma. O desenvolvedor deve projetar e desenvolver primeiro no teste. Em seguida, é necessário escrever o código para fazer o teste "passar", ou seja, garantir que o teste tenha sucesso durante a execução do teste unitário.
O palestrante ressaltou que escrever testes unitários é muito fácil, no entanto, escrever bons testes unitários é uma tarefa difícil que exige muito estudo e experiência. Adicionalmente, a técnica TDD coopera com a gerencia de risco do projeto, visto que é uma outra forma de mitigar e minimizar o vazamento de defeitos da fase de desenvolvimento para as demais fases. Além disso, é uma forma de exercitar a todo momento o código fonte para identificar problemas de regressão.

Outro ponto importante mencionado pelo palestrante é que o uso de teste unitário/TDD é uma forma "viva" de documentar a utilização e comportamento esperado de uma classe ou biblioteca. Segundo ele, quando é necessário entender o funcionamento de, digamos um novo framework, basta a leitura dos testes unitários para ter uma visão geral do funcionamento do framework.
Ao longo da apresentação o palestrante reforçou a importância das práticas ágeis baseadas em metodologias ágeis (XP, SCRUM, etc).

TestAnywhere
Elias Nogueira
Automação de Testes: Mitos e Verdades (Download do powerpoint)

Nesta palestra, Elias Nogueira, apresentou uma visão geral sobre automação de testes. Um dos pontos abordados foi o desafio do teste manual, onde a cada novo ciclo de teste manual é necessário testar as novas funcionalidades, bem como, a regressão dos ciclos anteriores. Ao longo do tempo torna-se impraticável com um time de testes reduzido atender a demanda de execução de testes regressivos para grandes sistemas. Neste cenário, normalmente a cobertura é reduzida para conseguir atender os testes das funcionalidades novas. O ponto chave é: nestas situações a automação de teste é uma saída viável para aumentar a cobertura dos testes regressivos.

http://www.testexpert.com.br/files/elias.JPG

Elias também apontou um problema comum nas empresas onde existem falsas expectativas da alta gerência, do time de desenvolvimento, bem como do próprio time de testes. Estas falsas expectativas normalmente estão ligadas à supervalorização das ferramentas de automação de testes.
Um ponto de destaque foi a frase "Um tolo com uma ferramenta ainda é um tolo" que reforça a idéia de que não adianta adquirir a melhor ferramenta existente no mercado se o profissional não dominar seus recursos e conhecer as suas limitações.

Elias também reforçou que os testes automatizados não são infalíveis e que são extremamente dependentes de mudanças no ambiente e na interface gráfica do sistema, bem como, o teste automatizado não substitui os testes manuais e o envolvimento humano nas atividades de testes.
Foi apresentado como as ferramentas de automação são usadas nas fases que compõem o ciclo de vida de testes de um projeto, bem como os testes candidatos para automação e os testes não recomendados.

Um ponto de destaque foi a apresentação do perfil do "engenheiro de testes", o profissional responsável pela área mais técnica e automação dos testes.
Por fim, Elias destacou que a ferramenta TestComplete é um novo player neste mercado de automação com preço mais acessível e o mesmo conjunto de funcionalidades das grandes ferramentas existentes hoje no mercado.

ALATS
Trayahú Moreira
Processo de Teste tratado como Projeto (Download do powerpoint)

Nesta palestra Trayahú Moreira enfatizou a importância de que os testes devem ser conduzidos por uma equipe independente de testes e que deve ser tratado como um projeto.

http://www.testexpert.com.br/files/trayahu.JPG

Moreira destacou que na atualidade a especialização é bola da vez. Cada vez mais os profissionais se especializam em áreas mais especificas. Traçando um paralelo com o desenvolvimento de software, não faz sentido o desenvolvedor desempenhar atividades de análise, testes, etc. Neste caso, essa abordagem corrobora ainda mais a visão de um time separado e especializado em testes e qualidade de software.

Foi apresentado um processo geral de teste de software, suas fases, atividades, artefatos e participantes. Segundo ele, o processo deve ser ocorrer em paralelo e coexistir harmonicamente com o processo de desenvolvimento de software.
Na visão de Trayahú, a relação de do time de testes com o time de desenvolvimento deve ser de cliente/fornecedor. Quem desenvolve não testa.
Trayahú destacou que a qualidade é responsabilidade de todos. Não existe culpado pela não qualidade ou fracasso dos projetos. Segundo ele, "Todos estão no mesmo barco: ou saem juntos ou afundam".

Outro ponto ressaltado foi a visão de que o time de testes deve ter uma ótima sinergia com todos os demais times. Segundo Trayahú, a fórmula do sucesso é: trabalho em equipe.

ID+ Design
João Costa
A importância do design na qualidade de software (Download do powerpoint)

João Costa destacou que design não é decoração. Segundo ele, design é projeto centrado nas necessidades do usuário. Ao longo da palestra, Costa destacou os problemas decorrentes quando o design não é centrado no usuário. Segundo ele, existem muitas modalidades de design: design centrado no designer, no sistema, no gerente, etc. No entanto, todas essas abordagens apresentam problemas que prejudicam diretamente o usuário.

http://www.testexpert.com.br/files/joao_costa.JPG

Para Costa, normalmente o levantamento das necessidades e decisões de design acabam sendo centralizadas em um gerente ou analista. Neste cenário, muitas decisões, opiniões e impressões acabam sendo influenciadas por este interlocutor. A visão deste interlocutor acaba afetando as decisões de design, normalmente para decisões erradas. Segundo Costa, a melhor prática é "Conheça o cliente do seu cliente, não use interlocutores", para garantir que o design tenha um enfoque 100% no usuário.

Nexxera
Marcello Lima
A qualidade aplicada no processo de testes: Da análise dos requisitos até a geração dos casos de testes (Download do powerpoint)

Nesta palestra, Marcelo Lima deu um grande enfoque no aumento da qualidade das atividades de testes. Segundo Lima, para garantir a qualidade do sistema, é necessário garantir a qualidade dos testes.

http://www.testexpert.com.br/files/marcello.JPG

As revisões, segundo Lima, é uma das ferramentas que promovem a melhoria dos testes de um projeto. As revisões podem ser informais, revisões por pares, etc. Um ponto chave destacado por Lima é que as revisões reduzem consideravelmente a propagação de falhas de uma fase para outra no ciclo de visa de desenvolvimento de software.

No entanto, Lima alertou que para garantir a sucesso das revisões, é necessário introduzir uma cultura de revisão dentro da organização, bem como, garantir que os problemas sejam relatados objetivamente e deixar de lado o ego durante a fase de revisão.
Ao longo da palestra foram apresentados diversos exemplos interessantes de revisão de casos de testes, incluindo análise de ambigüidade e os problemas mais comuns (vale a pena dar uma olhada no powerpoint anexado a este post).

Audare
Fábio Sumiya
Engenharia de Software, Ação e Planejamento de Fábrica de Teste (Download do powerpoint)

Nesta palestra Fábio Sumiya apresentou o que é uma Fábrica de testes e como essa operação é realizada pela Audare. Para Sumiya, objetivo de uma fábrica de testes é fornecer serviços de testes e qualidade de software.

http://www.testexpert.com.br/files/fabio.JPG

Ao longo da palestra, Sumiya, apresentou a metodologia e mecânica de funcionamento da fábrica de testes da Audare. Um ponto de destaque foi afirmação de que a maior parte dos serviços prestados estão relacionados a testes não-funcionais, como por exemplo, testes de performance, segurança e assim por diante. Segundo Sumiya, os testes funcionais manuais normalmente são realizados internamente pelas empresas.

Innovit
Adail Retamal
Agilidade e Qualidade: Lados da mesma moeda (Download do powerpoint)

Nesta palestra, Adail Retamal, apresentou uma visão geral dos principais processo de desenvolvimento de software, os prós e contras de cada um contrapondo o ciclo PDCA e os princípios da engenharia de produção. Segundo ele, a garantia do ótimo local não garante o ótimo global. Neste caso, o teste de software é uma rede de segurança com o objetivo de identificar problemas no sistema como um todo, ao invés apenas de um enfoque puramente unitário ou em pequenas partes do sistema.

Para Retamal, a abordagem é uma questão de ângulo, onde devemos diminuir os ângulos entre o que foi especificado e o que foi desenvolvido em relação as expectativa do usuário.

http://www.testexpert.com.br/files/adail.JPG

Retamal apresentou que o ciclo de vida da engenharia de produção é implementado com base nos mesmos princípios no desenvolvimento de software (cascata, incremental, evolucionário, etc).

Um ponto interessante, foi a apresentação dos problemas recorrentes das abordagens tradicionais de ciclo de vida de desenvolvimento de software que acarretam um círculo vicioso de problemas (estimativas sem compromisso, forte controle, falta de confiabilidade, falta de flexibilidade, etc).

O argumento da palestra de Retamal era que uma saída para estes problemas, é a gestão ágil de projetos. Ao longo da palestra Retamal apresentou uma visão geral do SCRUM, práticas ágeis de qualidade e os principais benefícios deste tipo de abordagem. Um ponto interessante foi a afirmação de que é possível atender as áreas de processo do CMMI por meio de uma gestão ágil de projetos.

Testware
Kleber Gimenes Greco
Bureau remoto de testes (Download do powerpoint)

Nesta palestra, Kleber Greco, apresentou uma visão geral a evolução do trabalho remoto. O ponto interessante era que o com a evolução das máquinas, implantou-se o controle e a compra do "tempo" do trabalhador. Os escritórios acabaram seguindo o padrão fabril das fábricas com enfoque na produtividade, onde a tônica é manter o funcionário ocupado a maior parte do tempo possível.

http://www.testexpert.com.br/files/kleber.JPG

No entanto, para Greco, com os novos tempos o modelo está mudando. Para ele, o novo paradigma é baseado na compra do atendimento de metas ao invés da compra do tempo do funcionário. O foco não é mais na produtividade, ou seja, só recebe quem entrega.

Greco ressaltou a evolução do trabalho remoto e os tipos de serviços que já desempenham as suas atividades remotamente. Ao longo da palestra Greco apresentou uma visão geral do que é um bureau remoto de testes, os prós e os contras dessa nova modalidade de prestação de serviços de testes.

Testsoft
Rodrigo Peter
Testes Funcionais de Software (Download do powerpoint)

Nesta palestra, Rodrigo Peter, apresentou como é possível agregar qualidade ao desenvolvimento de software por meio de testes funcionais. No início, Peter apresentou conceitos básicos sobre teste de software. Para Peter o ponto chave para os testes funcionais são os requisitos e os casos de testes. Segundo ele, sem requisitos não é possível especificar casos de testes.

http://www.testexpert.com.br/files/rodrigo.JPG

Peter apresentou os tipos de falhas facilmente detectáveis por teste funcionais, bem como as técnicas de geração de casos de testes com base nos requisitos.

Ao longo da palestra foi apresentado um exemplo hipotético de um sistema de agendamento de compromissos. Com base nesse exemplo, Peter demonstrou como é possível especificar casos de testes.

Por fim, Peter apresentou os tipos mais comuns de testes, bem como, a importância da implantação de um processo de testes na organização como meio de padronizar as atividades de testes.

http://www.testexpert.com.br/files/pessoal1.JPG

http://www.testexpert.com.br/files/pessoal2.JPG

Cristiano Caetano

http://www.testanywhere.com.br/