Evolução na profissão
Maressa Sales é graduanda de Sistemas de Informação na UFU.
Seus passos profissionais são:
Desenvolvedora Siebel - WTI Soluções e Serviços LTDA (AGO/2016 - JAN/2018)
Desenvolvedora de Software - RS Sistema Integrado (FEV/2018 - SET/2018)
Gerente de Projetos - Arena .im (OUT/2018 - JAN/2019)
Analista de Requisitos e Processos - WCORE (FEV/2019 - JUN/2019)
Analista de Testes - ZUP Innovation (JUN/2019 - ATÉ O MOMENTO)
Descrição da atividade atual
Sua atividade atual é como Analista de Qualidade Pleno.
Algumas de suas funções são: garantir a qualidade do produto desenvolvido para que o usuário possa ter uma boa experiência.Além disso, validar, com testes, aquilo que é desenvolvido e tentar capturar bugs ou elementos que possam causar um impacto negativo na experiência do usuário.
Requisitos mínimos para exercer a profissão
- As habilidades necessárias são: 1.Saber lidar com o cliente e com a equipe técnica, mesmo havendo diferença entre elas, sendo o principal a comunicação. 2. Como pré requisito em conhecimento, é necessário a noção de desenvolvimento de back front, e desenvolvimento de testes automatizados.
Ambas podendo ser adquiridas tanto na faculdade quanto nas experiências do dia a dia.
- Para se atuar como QA é necessário ter uma noção base de área técnica e de negócio, para que se consiga entender os dois lados e o ponta a ponta de um sistema sendo assim possível oferecer o melhor ao cliente.
Ferramentas usadas no dia-a-dia
As ferramentas mais utilizadas por um QA são:
1.IDE’s de desenvolvimento de códigos
2.Editores de texto para documentações necessárias
3.Gerenciadores de tarefas ( scum kanban ) para reportar bugs e novas melhorias
Tecnologias envolvidas
Podemos realmente aprofundar nastécnicas de testes que são utilizadas, sendo estas
basicamente:
1.bancos de dados
2.desenvolvimento de back e front
Ética profissional
- Atualmente, na ZUP desenvolvemos um produto, que gerou grande sucesso e
popularidade para o cliente, porém nos foi orientado a não mencionar e não relacionar o nome da ZUP com o produto por fazer parte do contrato feito entre a empresa e o cliente.
Exemplo de resultado tangível
- Os aplicativos que são utilizados pelos clientes Nextel foram desenvolvidos
pela ZUP, no time em que atuo. Mas já participei de projetos como:
1. A implementação do sistema CRM da Algar
2. O desenvolvimento de CRM para a AT&T,
3. A criação de um web app que se trata da criação de conteúdo da empresa Arena
entre outros exemplos...
Upload da apresentação
Dúvidas
- 01. Qual a diferença entre RF - Requisito Funcional e RNF - Requisito Não-Funcional?
- Requisitos não-funcionais são os requisitos relacionados ao uso da aplicação em termos de desempenho, usabilidade, confiabilidade, segurança, disponibilidade, manutenibilidade e tecnologias envolvidas.
- Requisito funcional define uma função de um sistema de software ou seu componente.
- 02. O que diferencia o Desenvolvedor Full-Stack dos demais desenvolvedores?
- Um desenvolvedor Full- Stack possui conhecimentos de back- end e front - end e os aplica no dia-a -dia.
- 03. O que significa exatamente "Liberar para a produção."?
- Significa que o produto passou por todos os processos de teste e re-teste e está pronto para o uso do cliente.
- 04. Explique o que é uma Regra de Negócio? Dê um exemplo.
- Uma regra de negócio(ou domínio de aplicação) são os requisitos que um cliente precisa que sejam atendidos ao solicitar um software ou programa. Cabe ao desenvolvedor entender qual a necessidade do cliente e encontrar o software que atenda o solicitante da melhor forma possível.
- Em um sistema de controle de estoque, por exemplo, a regra de negócio basicamente consiste nas entradas e baixas da quantidade dos produtos quando uma nota entra no sistema ou quando o produto é vendido.
- Todo esse fluxo de entradas e saídas deve ser controlado pelo software por meio de banco de dados, funções e procedimentos implementados pelo programador.
- 05. O que é um teste regressivo? Para que serve?
- O teste de regressão é uma técnica do teste de software que consiste na aplicação de versões mais recente do software, para garantir que não surgiram novos defeitos em componentes já analisados. Se, ao juntar o novo componente ou as suas alterações com os componentes restantes do sistema surgirem novos defeitos em componentes inalterados, então considera-se que o sistema regrediu.
- 06. O que é TDD?
- TDD é o Desenvolvimento Orientado por Testes.
Basicamente o TDD se baseia em pequenos ciclos de repetições, onde para cada funcionalidade do sistema um teste é criado antes. Este novo teste criado inicialmente falha, já que ainda não temos a implementação da funcionalidade em questão e, em seguida, implementamos a funcionalidade para fazer o teste passar.
Mas, não podemos simplesmente escrever outro teste só por que já temos um teste passando. É preciso que esta funcionalidade que acabamos de escrever seja refatorada, ou seja, ela precisa passar por um pequeno banho de "boas práticas” de Desenvolvimento de Software. Estas boas práticas que garantirão um software com código mais limpo, coeso e menos acoplado.
- 07. Qual a diferença entre Teste Unitário e Teste Integrado?
- Teste Unitário
- Descrição: É a forma de se testar unidades individuais de código fonte. Unidades podem ser métodos, classes, funcionalidades, módulos, etc. Depende muito do que é a menor parte que seu Software pode ser testado.
- Objetivo: dos testes unitários é mostrar que cada unidade atende corretamente sua especificação.
- Exemplo: testes automáticos criados para darem entradas e conferirem saídas a cada método, permitindo que se saiba que está funcionando de acordo com o esperado.
- Benefícios: encontrar problemas o quanto antes, facilitam a mudança da unidade, simplificam a integração e melhoram a documentação.
- Teste Integrado
- Descrição: É a forma de se testar a combinação das unidades em conjunto.
- Objetivo: Nesse caso, a ideia é encontrar falhas na junção destas unidades. Pode ser que a classe X funcione bem sozinha, mas ao ser utilizada pela classe Y, ela deixe de funcionar.
- Exemplo: Colocar todo o software para rodar e começar a usar diversas funcionalidades consideradas centrais no seu programa para confirmar que ele roda e as principais funcionalidades fazem o esperado.
- Benefícios: além de testar funcionalmente, pode assegurar performance e confiabilidade. Ajudam a garantir que o trabalho de um desenvolvedor não está afetando o trabalho de outro e em equipes grandes isso pode fazer toda a diferença se forem realizados com frequência.
- Teste Unitário
- 08. Qual a diferença entre o Gestor de Qualidade e o Analista de Requisitos?
- A Gestão da Qualidade é uma estratégia empresarial de administração que tem como foco associar qualidade aos processos, produtos e rotinas de uma organização. ** O objetivo é melhorar a eficiência dos processos produtivos, reduzir custos e aumentar a satisfação dos clientes.
Fonte: https://www.guiadacarreira.com.br/cursos/gestao-da-qualidade-2/
- O(a) Analista de Requisitos é responsável pelo levantamento e análise de todas as informações de sistemas, aplicativos e páginas na web, ferramentas ou recursos mobile. Graças a ele, todas as necessidades para a realização de um projeto são requeridas antes do seu início, garantindo que haverá todos os recursos necessários para o desenvolvimento.
- Fonte: http://tutano.trampos.co/15197-guia-de-profissoes-analista-de-requisitos/
- 09. Uma das certificações importantes para o Gestor de Qualidade é o ITIL. Em que consiste esta prática?
- ITIL é uma sigla, em inglês. Seu significado é Information Technology Infrastructure Library. Em português, sua tradução é a seguinte: Biblioteca de Infraestrutura de Tecnologia da Informação. De maneira direta, ITIL é um conjunto de boas práticas para a área de TI.
Essas práticas são tidas como o padrão para o gerenciamento de projetos e atividades em uma equipe de analistas de suporte, por exemplo.
- 10. Quais as características que mostram que um software tem qualidade?
- Um software de qualidade precisa ter passado por uma bateria de testes bem executada e obtido bons resultados. Ele não pode perder desempenho nem apresentar falhas com o aumento de usuários e utilizações, para isso, é necessário que tenha sido feito um bom planejamento sobre o que ele deve suportar.