0

Carreira – Testes e metodologias de teste

Rosemeire Deconti
Rosemeire Deconti

Carreira – Testes e metodologias de teste

Estou conhecendo várias ferramentas nos Bootcamps da DIO e tem muito conteúdo.


Comparando tudo o que estou conhecendo com o mapa de carreira que pretendo seguir para no futuro ser uma desenvolvedora Full Stack resolvi fazer um inventário de conhecimento para saber quais as lacunas que devo preencher.


Neste artigo descrevo de forma geral os Frameworks com estas informações:


·       Ranking: ranking 2020 no StackOverflow (Programming, Scripting, and Markup Languages – Professional Developers)

·       Página oficial: para ter Informação confiável;

·       Guia de referência rápida: não substitui a página oficial, mas, facilita muito;

·       História: saber e gratidão a quem idealizou;

·       Características: para ter uma noção básica da ferramenta.


Como de costume ao final deste artigo estão as referências que utilizei para criar este texto. Um dos links é da mentoria do Bootcamp da Everis “Fundamentos de qualidade de software”.


Bons estudos e persistência para que o sucesso ser alcançado!


Neste link vocês encontram todos os artigos que publiquei na Digital Innovation One

Digital Innovation One - Lista de artigos publicados na DIO


Mapa de carreira

Sugestão de mapa de carreira


Seguindo um mapa de carreira temos estes ferramentas e metodologias de testes das aplicações.


Inclui neste artigo testes e metodologias que estamos aprendendo na DIO e que também são requisitadas pelo mercado.


Pretendo ter conhecimentos aprofundados nas metodologias nas ferramentas para que possa testar minhas aplicações e trabalhar junto ao time de Quality Assurance para garantir o bom desenvolvimento de meus softwares.


O que é teste de software

Teste de software é um processo que faz parte do ciclo de vida do software e tem como principal objetivo avaliar a qualidade do software e reduzir o risco d falha no software em operação.


Custos

O custo de correção de um bug aumenta até mais de 100x quando corrigido nas fases finais de desenvolvimento, quando comparado ao custo de corrigir a mesma falha em fases iniciais de qualquer projeto.


Objetivos de se testar um software

1.    Avaliar os produtos de trabalho (requisitos, estórias de usuário, modelagem e código).

2.    Verificar se todos os requisitos especificados foram atendidos.

3.    Validar se o objeto de teste está completo e funciona como os usuários e outras partes interessadas esperam.

4.    Criar confiança no nível de qualidade do objeto de teste.

5.    Evitar defeitos.

6.    Encontrar falhas e defeitos.

7.    Fornecer informações suficientes às partes interessadas para permitir que elas tomem decisões, especialmente em relação ao nível de qualidade do objeto de teste.

8.    Reduzir o nível de risco de qualidade de software inadequada (ex.: falhas não detectadas anteriormente que ocorrem em produção).

9.    Cumprir com requisitos ou normas contratuais, legais ou regulamentares, e/ou verificar o cumprimento do objeto de teste com tais requisitos ou normas.


Metodologia TDD

TDD (Test Driven Development) – Desenvolvimento Orientado a Testes é uma metodologia de desenvolvimento, não é o teste em si. A ideia é que funcionalidades de testes sejam escritas antes mesmo do desenvolvimento das funcionalidades do sistema.


Processo de teste

O processo de testes tem quatro fases e cada fase com suas entregas:

1.    Planejar: estratégia, plano de testes, cenários básicos

2.    Planejar: elaborar casos de testes, técnicas de testes

3.    Executar: execução dos testes, evidências, bugs

4.    Entregar: status report e evidências dos testes


Ferramentas utilizadas no processo de teste

1.    Jira: permite o monitoramento de tarefas e acompanhamento de projetos garantindo o gerenciamento de todas as suas atividades em único lugar (Jira | Issue & Project Tracking Software | Atlassian)

2.    TestLink: utilizado para teste de software que visa facilitar testes e assegurar a qualidade de software (TestLink download | SourceForge.net)

3.    Bugzilla: ferramenta baseada em Web e e-mail que dá suporte ao desenvolvimento do projeto Mozilla, rastreando defeitos e servindo também como plataforma para pedidos de recursos (Home :: Bugzilla :: bugzilla.org)

4.    Mantis: ferramenta baseada em Web que tem como principal função gerenciar defeitos de outros softwares (Mantis Bug Tracker (mantisbt.org)

5.    Redmine: baseados na web e ferramenta de gerenciamento de bugs. Ele contém calendário e gráficos de Gantt para ajudar na representação visual dos projetos e seus deadlines (prazos de entrega). Ele pode também trabalhar com múltiplos projetos.


Tipos de testes de software

– Teste de regressão – esse consiste em realizar testes a cada versão de um software, onde se modificam-se funcionalidades. Desse modo, evita-se que erros que foram corrigidos antes no software antes voltem a aparecer na hora de se incrementar algo novo a ele.

– Teste de unidade – testa-se unidades menores de um software, de modo isolado, para ver se todas funcionam adequadamente;

– Teste de integração – depois das unidades testadas, realiza-se uma verificação se elas funcionam juntas, integradas. Pode ocorrer delas apresentarem incompatibilidades ao funcionarem em conjunto, mesmo após terem sido aprovadas no teste de unidade;

– Teste de carga – esse teste é feito para avaliar os limites de uso do software, o quanto ele suporta em volume de informações, tráfego etc. sem que apresente erros;

– Teste de usabilidade – esse teste é feito por um pequeno grupo de usuários para ver se o software satisfaz as suas necessidades. Nesse teste analisa-se como o usuário usa o sistema, verificando onde ele tem mais dificuldade. Ouve-se também suas impressões, porém é preciso confrontá-las com as observações do avaliador;

– Teste de stress – aqui leva-se o software ao seu limite de potência e funcionamento, para mais ou para menos, de modo a avaliar em qual ponto ele deixa de funcionar adequadamente. Isso é feito para verificar se suas especificações máximas ou mínimas de uso estão corretas.


Ferramentas para os testes de unidade

Para realizar os testes de unidade existem várias ferramentas adequadas a cada linguagem de programação – vejam quantos exemplos:

C# - NUnit para utilizar no Visual Studio.

PHP – PHPUnit

Javascript – Mocha, Jasmine, Jest, Cypress

React – Jest, Enzime

AngularJS - Protractor

jQuery – QUnit

Ruby – Test, RSpec

Python – Unit testing framework, PyTest


Quando parar os testes?

Quando atingir uma confiança nos requisitos, quando os critérios de encerramento forem atingidos ou quando o custo para identificação dos defeitos não compensa mais.


Referências

Fundamentos de qualidade de software - YouTube (BOOTCAMP EVIERIS QUALITY ASSURANCE)

Teste unitário e Qualidade de Software | by Diogo Miranda | assert(QA) | Medium

O que é Testes de Software - Portal GSTI

Você sabe o que é teste de software e por que ele é necessário? | by Guilherme W. Muller | CWI Software | Medium

Processo de Teste de Software (devmedia.com.br)

Teste de software – Wikipédia, a enciclopédia livre (wikipedia.org)

Teste de Software: Introdução, Conceitos Básicos e Tipos de Teste (onedaytesting.com.br)

An Overview of JavaScript Testing in 2021 | by Vitali Zaidman | Welldone Software | Medium

Modern Best Practices for Testing in Java (phauer.com)

Java Unit Tests in Visual Studio Code

JUnit 5 User Guide

0
0

Comentários (5)

0
Rosemeire Deconti

Rosemeire Deconti

13/05/2021 08:17

Muito agradecida a todos colegas pelas palavras! Bons estudos para todos e muito sucesso!!!

1
Weliomar

Weliomar

12/05/2021 22:48

Artigo incrível. Parabéns

1
E

Elba Brito

12/05/2021 20:15

excelente!

1
Douglas Assunção

Douglas Assunção

12/05/2021 20:14

Muito bom o artigo, parabens.

1
Édipo Melo

Édipo Melo

12/05/2021 19:13

Que top heim?! Parabéns pelo excelente trabalho!

Apaixonada por tecnologia e informação. Na área desde 1.984 e sem previsão de parada.

Brasil