Click here to edit title

Click here to edit subtitle

Blog

O que vocÍs fazem?

Posted by JJ on January 27, 2015 at 10:50 PM
Em pleno 2015...

Essa foi a frase mais esperada na chegada desse ano. 

Então, para começar o ano bem, um artigo que vem de encontro ao que diz no bordão e à um assunto que volta e meia é debatido. O fato de saber o que temos que testar, para a partir dessa resposta iniciarmos nossos trabalhos. 




Enfim, sabermos o que temos que testar é algo importantíssimo, daí nos dá um próximo passo, o que temos que garantir, assim atuando com os 5W2H. Podemos então, voltar à temas já mais que discutidos anteriormente em várias comunidades, livros, eventos e demais. Onde, na maioria dos casos, cerca de 65% se chega à conclusão de que devemos levar em consideração às características conhecidas e listadas pela extinta ISO-9126.

 

  • Funcionalidade
  • Usabilidade
  • Performance
  • Manutenibilidade
  • Portabilidade
  • Operacionabilidade
  • Eficiência
  • Segurança
  • Conectividade
  • Continuidade

 

 

 

Mas, daí sempre vem aqueles comentários: "Poxa, o mundo mudou", "Isso é coisa de dinossauro", "Cade agilidade?", "A vida não é mais como antigamente". 

Então surgem as perguntas:

O que temos que realmente testar?

O que temos que garantir para que o sistema possa ser entregue ao cliente?

O que devemos garantir principalmente?

O que devemos garantir no mínimo?


Perguntei à alguns colegas que são destaques no Brasil do Oiapoque ao Chuí, a seguinte interrogação: 

"O que devemos garantir minimamente para aprovar um SW?" As respostas foram as seguintes:


"Em dias atuais, devemos pensar em usabilidade, o sistema pelo menos deve ser intuitivo e de fácil manuseio. O usuário ao olhar pela primeira vez para um SW ele tem de se familiarizar, identificar facilmente qual o intuito e como chegar ao seu objetivo.
Depois deste, as funcionalidades básicas e seus desdobramentos devem ser garantidos. Desempenho e capacidade vão sendo avaliadas e melhoradas de acordo com a necessidade real deste Software.
"


Kamilla Queiróz
GTS-CE




Robson Agapito
Testadores.com

" Sempre devemos olhar para o risco, e levar em consideração onde se perderá dinheiro.
Se for um software de vendas, o ponto mais importante pode ser no checkout, que finaliza a venda, então seria onde focaríamos os testes.
Sempre os seus casos de testes devem estar priorizados conforme a criticidade, e a partir disso testar o mas crítico primeiro e testar os casos de menor criticidade depois conforme o tempo disponível.
Outro detalhe, comece pelo "happy path", pois se este não funcionar nem vale a pena continuar o teste do "pacote" disponível.
"



"A garantia de que as expectativas do dono do produto sejam atendidas.
Mas você me fala: "Só isso?"
E eu digo: Sim!
Podemos ter a nossa experiência para colaborar e lapidar essa ideia, mas no final de contas, essa expectativa é a que precisa ser atendida. Linha de pensamento: "Ele pensou em algo, ele vai administrar (de maneira ou outra) e ele precisa estar confiante com aquilo. Sobre a tecnologia e como vai ser feita, isso é parte do nosso entusiasmo".
"


Ramsés Saccol
GUTS-RS




Vimos aqui várias opiniões e respostas para a mesma pergunta. O que se tem, são, visões e ambientes diferentes que resultam em diferentes formas de abordar um determinado assunto. 
Assim, uma das várias faces do Teste de Software que venho pesquisando à fundo nesses últimos anos, é com o intuito de trazer algo que possa servir para vários tipos de abordagem, ter visões iniciais, onde podemos partir do mesmo princípio para poder assim após este princípio chegar aos seus níveis de conhecimento e de atuação.
Um dos grandes desafios hoje é ter um conceito base à toda área de desenvolvimento de software. Se fizermos a pergunta a 50 pessoas envolvidas no desenvolvimento de software, em todo o Brasil, teremos cerca de 80% das respostas uma diferente da outra.

Um novo capítulo da Literatura dos Testes de Software, a Era que transcendem os Livros e vão de encontro à internet, diretamente nos Blogs.


Respondendo à pergunta feita em uma frase:

"Devemos garantir inicialmente 3 pontos, duas características vistas até hoje como principais: Usabilidade e Funcionalidade. E uma terceira característica relevante ao negócio"


Vamos à parte científica da resposta:

Desenvolvi uma prática bem interessante para partirmos do pressuposto de cada tipo de sistema com que vamos lidar. Uma técnica que persiste em definir um Triângulo da Qualidade onde vamos respeitar 3 lados que buscaremos garantir ao longo do projeto até sua entrega(o que garante no mínimo esses três pontos definidos no início).

SG = UF + x
Dado que Sistema Garantido é um sistema que atenda Funcionalidade e Usabilidade mais uma terceira característica relevante ao negócio.


Qual a diferença do que temos até hoje?

Nos últimos 15 anos recebemos um grande volume de literatura e uma massa enorme de informações para podermos atuar, para garantir a qualidade de um sistema. Técnicas para atuarmos no desenvolvimento e novas formas de desenvolver. Contudo, poucas formas de simplificar, poucas metodologias com que nos ajude de forma rápida a dizer o que temos que fazer, para garantir o mínimo. Podemos encontrar outras, utilizar outras e até aplicar metodologias de outras áreas de atuação dentro do desenvolvimento de um software. Mas essa vem de encontro ao que chamo de "praticidade de informação", ter aquele norte de forma prática.


Qual a metodologia?

Ao longo dos anos, viemos aprendendo novas técnicas de desenvolvimento dos testes e do controle da qualidade, porém, partindo de um lado gerencial e analítico para definirmos onde queremos chegar, foram poucas as novidades. 
A metodologia do Triângulo dos Testes, nos trás uma simplificação, uma forma de buscarmos aquela qualidade do software com que perdemos ao longo do desenvolvimento de um software. Com o passar do tempo dentro de um ciclo de desenvolvimento, seja ele um ERP de 30.000 horas de desenvolvimento, seja um Hotsite com 200 horas de desenvolvimento. Nos perdemos na hora de garantir o básico. 
Os pontos básicos para a garantia são esquecidos durante o desenvolvimento do software, então com esta simplificação, poderemos buscar a todo momento o que vamos garantir e chegar no resultado, seja após 15.000 depois do planejamento inicial do ERP, sabendo onde queremos chegar, seja, após 100 horas do desenvolvimento do Hotsite.


Como vamos definir os pontos a serem principais?

De acordo com o negócio de atuação do sistema. A base do triângulo, nos definimos com duas características: 

  • Funcionalidade
  • Usabilidade

A funcionalidade, é definida como base, pois nenhum sistema deve ser entregue sem as funções as quais ele deve atender. 
A usabilidade, é definida como base, pois o sistema tem de ser pelo menos utilizável

A terceira, é definida como variável através do negócio do sistema. 


Triângulo dos Testes de Software.

Partindo desta garantia, vai de cada tipo de negócio e exigência a partir do cliente, garantir outras características, bem como Portabilidade(hoje a 3° principal característica de um software), Performance seguida de Segurança. Entre outras mais especificas.


Triangulo UFPo


Triangulo UFS


Triangulo UFPe



A proposta é apresentar este novo método, essa visão dos Testes de Software. Bem como uma atual orientação dos testes. Um princípio atual e futuro, de onde possamos partir dele. Visto que é embasado em tudo o que foi dito no passado até hoje e prontamente utilizando esta base, para fazer esta melhoria consideravel na visão dos Testes de Software. 


Conhecendo os Triângulos dos Testes


Entendendo que nós precisamos garantir um mínimo de Qualidade, então sugiro essa metodologia de Garantia mínima da Qualidade. Aqui descrevemos sobre 3 tipos de Triângulos iniciais da Garantia da Qualidade.

Sabemos que temos que garantir os cenários de testes referentes à Funcionalidade e a Usabilidade, então, qual outra característica devo acrescentar? 



Triângulo UFPo

     Com esta abordagem, você pode prontamente definir o inicio dos Testes, com testes mínimos garantindo a qualidade pela Usabilidade, Funcionalidade e Portabilidade.

     A portabilidade representa a garantia do nosso sistema funcionar minimamente em mais de 1 plataforma. Nos casos Web, de funcionar em mais de um Browser, nos casos Mobile, funcionar em mais de 1 aparelho homologado.

Tipos de sistemas:

  • Sistemas Web
  • Sistemas Mobile
  • Games

     Assim ao definir que utilizaremos este Triângulo no inicio do desenvolvimento para garantir estas três caracteristícas, garantiremos que nosso sistema satisfaz os critérios mínimos das funcionalidades, é usável e possível de ser utilizado em mais de uma plataforma.



Triângulo UFPo



Triângulo UFS

     Com esta abordagem, você pode prontamente definir o inicio dos Testes, com testes mínimos garantindo a qualidade pela Usabilidade, Funcionalidade e Segurança.

     A Segurança é algo cada vez mais essencial nos dias de hoje, visto que a informação está para qualquer um na internet inclusive com a web em nuvem hoje.

Tipos de sistemas:

  • Sistemas que envolvem transações e integração entre sistemas.
  • Sistemas envolvendo Informações pessoais
  • Sistemas em Nuvem

    A abordagem definida com o Triângulo UFS, sugere uma garantia das características do sistema com a relevância em Segurança, assim, os termos de Usabilidade e Funcionalidade, devem por si, atuarem também com cenários que tendem a garantir que dados sejam protegidos pelo sistema.



Triângulo UFS

 



 

Triângulo UFPe

     Com esta abordagem, você pode prontamente definir o inicio dos Testes, com testes mínimos garantindo a qualidade pela Usabilidade, Funcionalidade e Performance

    Um sistema lento, que não utiliza de forma adequada os componentes utilizados pelo Hardware, sem uma arquitetura de código bem definida hoje pode ser algo prejudicial ao negócio do cliente.

Tipos de Sistemas:

  • Sistemas embarcados
  • Sistemas Desktop
  • Sistemas BI

    Com a abordagem do Triângulo UFPe, você define que abordará as regras de negócio e usabilidade, mas não apenas, que se preocupara com a arquitetura do software, e quão rápido você consegue obter a informação e dispôr ela na tela.



Triângulo UFPe

 


Esta metodologia pode ser utilizada livremente, também combinada com qualquer tipo de característica. Assim dependendo do usuário que esteja realizando o planejamento. As sugestões dos três Triângulos são sugestões aplicáveis.

 


Pirâmide da Qualidade de Software 

Após termos em mente que o mínimo necessário no nosso atual cenário mundial de Qualidade de Software, temos então 2 características fundamentais e uma variável.

SG = UF + x

Vamos evoluir o cenário da Abordagem da Garantia de Qualidade e quais características e Testes utilizar para  garantir com mais profundidade o Sistema.

Se combinarmos os 3 triângulos principais, citados acima, teremos a Pirâmide dos Testes. Assim, teremos uma maior garantia com cenários de testes em várias características.

Podemos também definir os quatro quadrantes base de sua pirâmide, assim definindo o Quadrado dos Testes. Porém em um segundo momento considerando o 5° elemento(o qual seria a ponta da pirâmide).


SG = UF + xy ± z  
logo
SG = UFxy + z ou SG = UFxy - Z






Pirâmide dos Testes





Assim, ao ser perguntado novamente, poderemos ter algo na ponta do lápis(lingua), para respondermos onde queremos que nosso sistema atenda com uma Qualidade Mínima que se espera dele.
Este artigo mostrou ainda que de forma simples um norte para você iniciar seus Testes, sabendo o que você deve garantir ao menos para entregar seu produto. 
Lembrando que esta sugestão metodológica não é uma Garantia Completa, mas sim a Garantia Mínima. 


Contribuições e Revisões: 
Ramsés Saccol
Kamilla Queiróz
Robson Agapito
Patrícia Araújo
Luana Lobão
Augusto Magalhães

Por

Categories: Artigos, Conceitos

Post a Comment

Oops!

Oops, you forgot something.

Oops!

The words you entered did not match the given text. Please try again.

Already a member? Sign In

0 Comments