Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Braslia, DF
2014
Braslia, DF
2014
Braslia, DF
2014
Resumo
Este trabalho de concluso de curso de engenharia de software apresenta um estudo sobre usabilidade e testes automatizados no desenvolvimento emprico de software a m de
vericar como essas tcnicas de testes podem se relacionar com as avaliaes de usabilidade de um software. Para isso, realizamos um estudo sobre aplicabilidade de tcnicas
de usabilidade, alm de tcnicas de BDD (desenvolvimento de software dirigido por comportamento) em projetos de software, alm de compreender como inserir as prticas de
usabilidade estudadas no desenvolvimento emprico de software. Este estudo serviu de
base para levantamento e apurao de algumas hipteses a respeito da relao dos testes
automatizados na usabilidade de um sistema de software.
Palavras-chaves: software livre. testes automatizados. usabilidade.
Abstract
This degree monograph presents a study about software usability and how to automate
testing on the empirical software development to verify how automated testing may be
related to software usability. For this, we conducted a study about applicability of BDD
(Behaviour Driver Development) and usability techniques in software projects, as well as
understand how to insert some studied techniques. In this study, we have tested some
hypotheses to investigate the relationship between about automated testing approaches
and software usability techniques.
Key-words: free software. automated tests. usability.
Lista de ilustraes
Figura 1 Ciclo de atividades TDD (BECK, 2002) . . . . . . . . . . . . . . . . . 29
Figura 2 Planilha de Avaliao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Figura 3 Ciclo do design centrado no humano (ISO/IEC 13407, 1999). . . . . . 39
. 71
Lista de tabelas
Tabela 1 Mtodos e Tcnicas de Concepo . . . . . . . . . . . . . . . . . . . . 34
Tabela 2 Mtodos e Tcnicas de Anlise da usabilidade . . . . . . . . . . . . . . 35
Tabela 3 Mtodos e Tcnicas de Avaliao . . . . . . . . . . . . . . . . . . . . . 36
Tabela 4 Atividades Tcnicas de Viso de Projeto . . . . . . . . . . . . . . . . . 41
Tabela 5 Atividades Gerenciais de Viso de Projeto . . . . . . . . . . . . . . . . 42
Tabela 6 Atividades Tcnicas de Viso de Interao . . . . . . . . . . . . . . . . 42
Tabela 7 Atividades Tcnicas de Viso de Desenvolvimento . . . . . . . . . . . . 42
Tabela 8 Avaliaes de usabilidade - sprint 17 . . . . . . . . . . . . . . . . . . . 47
Tabela 9 Avaliaes de usabilidade - sprint 18 . . . . . . . . . . . . . . . . . . . 49
Tabela 10 Avaliaes de usabilidade - sprint 19 . . . . . . . . . . . . . . . . . . . 50
Tabela 11 Comparativo dos questionrios . . . . . . . . . . . . . . . . . . . . . . 72
BDD
Behavior Driven
DCU
DSA
FGA
HTML
HTTP
HTTPS
ICC
IHC
LAPPIS
LDAP
MES
MVC
Model-View-Controller
ProIC
PSQ
PSSUQ
PuSH
PubSubHubbub
QUIS
Rails
Ruby on Rails
SLTI
SMT
SUMI
SUS
SSL
SPB
TCC
TCP
TDD
TLS
UDP
UPA
UnB
Universidade de Braslia
USP
Universidade de So Paulo
UI
User Interface
UX
User Experience
W3C
XP
Extreme Programming
Sumrio
1
INTRODUO
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.1
Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.2
Objetivos
1.3
Organizao do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.1
Software Livre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2
Mtodos geis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3
Consideraes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
TESTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.1
Testes Automatizados . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.1.1
Testes de aceitao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.1.2
3.2
3.2.1
3.2.2
3.2.3
Consideraes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
USABILIDADE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.1
Conceitos de Usabilidade . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.2
4.2.1
4.2.2
4.2.3
4.3
Processos de Usabilidade . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.3.1
4.4
4.4.1
Integrao de prticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.4.2
DCU gil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.4.3
4.5
Consideraes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
ESTUDO DE CASO . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.1
Objeto de Estudo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.1.1
Ciclo 1 de Avaliaes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.1.2
Ciclo 2 de Avaliaes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.1.3
Ciclo 3 de Avaliaes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.2
5.3
5.4
Consideraes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
CONCLUSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
6.1
Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
APNDICE 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
A.1
Processos de Usabilidade . . . . . . . . . . . . . . . . . . . . . . . . . 59
A.1.1
Modelo Estrela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
A.1.2
A.2
A.2.1
A.2.2
A.2.3
A.3
Testes de Usabilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
A.3.1
A.4
Questionrio de Satisfao . . . . . . . . . . . . . . . . . . . . . . . . 67
A.4.1
A.4.2
A.4.3
A.4.4
A.4.5
A.4.6
A.4.7
A.4.8
A.5
Checklist de Usabilidade . . . . . . . . . . . . . . . . . . . . . . . . . . 73
APNDICE 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
B.1
B.2
B.3
B.4
B.5
APNDICE 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
C.1
. . . . . . . . . . . . . . . . . 70
Referncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
19
1 Introduo
O desenvolvimento de software usando mtodos empricos, como software livre e
mtodos geis, uma realidade. Uma prtica bsica de mtodos geis so os testes automatizados, preocupando-se com as aplicaes de testes em sistemas cada vez mais dinmicos,
com propostas para aumento de qualidade e produtividade de software (VICENTE, 2010).
Adicionalmente, as reas relacionadas a usabilidade vem sendo estudadas para serem aplicadas no contexto de desenvolvimento emprico de software. Criar software que seja til
e fcil de usar um fator importante para a evoluo dos sistemas (SANTOS, 2012).
Por exemplo, um problema encontrado em projetos de software livre a pouca
ateno dada aos aspectos referentes a usabilidade das aplicaes. Para Moreira et al.
(2012) enfatizar na criao, melhoria e teste do cdigo fonte pode ser um dos principais
problemas que contribui para a falta de usabilidade dos softwares livres. Ainda, segundo
Preece, Rogers e Sharp (2007), uma das causas da baixa adoo de softwares livres em
mercados de larga escala a baixa qualidade dos estilos de interao implementados nas
interfaces dos produtos.
Atualmente, algumas comunidades de software livre vm se atentando usabilidade como forma de manter o software no mercado. O Noosfero1 , um sistema para
desenvolvimento de redes sociais na qual faz parte este estudo, tem tido algumas iniciativas por parte dos desenvolvedores da plataforma para a melhoria da usabilidade da
ferramenta.
A adoo das prticas de usabilidade no contexto de mtodos geis vm sendo
estudada por vrios autores no qual armam que possvel a integrao visto que tanto os
mtodos geis como os processo de usabilidade tm em comum caractersticas que colocam
o foco do desenvolvimento nas necessidades e anseios dos usurios nais, na interao entre
os stakeholders envolvidos e na qualidade nal do produto a ser desenvolvido.
A automao de testes uma prtica gil, ecaz e de baixo custo que tambm
busca melhorar a qualidade dos sistemas de software (POTEL; COTTER, 1995). O que
este trabalho busca encontrar um ponto de interseco entre os testes automatizados e
a usabilidade, utilizados no desenvolvimento gil.
1.1 Problemas
Um dos problemas encontrados no desenvolvimento emprico a baixa usabilidade de suas interfaces, o que resulta na perda de usurios. Os desenvolvedores possuem
1
<noosfero.org>
20
Captulo 1. Introduo
uma mentalidade mais voltada para a funcionalidade do que para os usurios do sistema (SANTOS, 2012). Outro problema do desenvolvimento emprico est em garantir
qualidade de software de forma prtica e econmica, testes podem interferir nestas caractersticas se no forem bem planejados.
A partir destes problemas levantamos as seguintes questes:
1. Como os testes automatizados so denidos e implementados em um ambiente de
desenvolvimento de software emprico?
2. Como inserir os princpios de usabilidade no desenvolvimento emprico de software?
3. Como as prticas do BDD podem se relacionar com as prticas de usabilidade?
1.2 Objetivos
Durante este trabalho de concluso de curso buscamos analisar tcnicas e mtodos de usabilidade, assim como tcnicas de desenvolvimento de testes no desenvolvimento
emprico de software para vericarmos as possveis relaes de tcnicas de BDD (desenvolvimento dirigido por comportamento) na usabilidade de um software.
Para satisfazer os objetivos gerais do trabalho denimos objetivos especcos abaixo:
1. Vericar aplicao das prticas do BDD no processo de desenvolvimento emprico
de software;
2. Integrar prticas de usabilidade no ciclo de vida de desenvolvimento emprico de
software;
3. Identicar quais tcnicas de usabilidade podem ser utilizadas em cada fase do desenvolvimento emprico.
4. Vericar a relao de prticas de BDD e prticas de usabilidade no desenvolvimento
emprico de software.
21
23
24
<http://manifestoagil.com.br>
2.3. Consideraes
25
XP), tornou-se bastante popular por utilizar prticas focadas em codicao. O objetivo
principal do XP a excelncia no desenvolvimento de software, visando baixo custo e
poucos defeitos, de acordo com Sato (2007). O XP conta com algumas prticas que so:
refatorao, integrao contnua, testes automatizados, cdigo coletivo e programao em
pares.
Em suma, o ambiente de desenvolvimento que este trabalho est inserido baseado em mtodos de desenvolvimento empricos de software, como XP e Software Livre,
buscando seguir os princpios geis para o desenvolvimento de software livre.
2.3 Consideraes
O desenvolvimento baseado em software livre e as prticas geis compartilham os
mesmos valores, pois ambos so mtodos empricos, que buscam tomar decises rpidas de
acordo com a percepo do mundo externo. Nos prximos captulos abordaremos como o
desenvolvimento de testes abordado no desenvolvimento emprico e como a usabilidade
pode ser inserida neste contexto.
27
3 Testes
Testar uma pratica intrnseca ao desenvolvimento e antiga a necessidade de
criar programas para testar cenrios especcos, de acordo com Everett et al. (2007).
Testes de software sero abordados neste captulo, iniciando com uma viso geral de testes
automatizados e conhecendo algumas prticas e padres utilizados para desenvolver os
mesmos.
Para Potel e Cotter (1995) a automao de testes uma prtica gil, ecaz e de
baixo custo para melhorar a qualidade dos sistemas de software. No entanto utilizar testes
automatizados como uma premissa bsica do desenvolvimento um fenmeno relativamente recente, com incio em meados da dcada de 1990. Alm do fato de ser uma tcnica
bastante utilizada pelas metodologias geis de desenvolvimento.
<cukes.info>
28
Captulo 3. Testes
29
Para Massol e Husted (2003), o objetivo de TDD cdigo claro que funciona. TDD
prope o desenvolvimento sempre em pequenos passo, deve-se escrever testes sempre para
uma menor funcionalidade possvel, escrever o cdigo mais simples que faa o teste passar
e fazer sempre apenas uma refatorao por vez (BECK, 2002). Assim o desenvolvedor se
detm a criar solues simples, sempre acompanhado de um constante feedback dos testes.
O ciclo curto de passos denidos por TDD cria uma dependncia forte entre codicao e
testes, o que favorece e facilita a criao de sistemas com alta testabilidade (BERNARDO,
2011). ndices altos de cobertura de cdigo e testabilidade no garantem necessariamente
qualidade do sistema, mas so mtricas bem vistas para sistemas bem desenvolvidos.
30
Captulo 3. Testes
3.2.3 Consideraes
Testes automatizados devem ser desenvolvidos com prioridade, buscando um rpido feedback, contribuindo assim com a melhoria do sistema. Para isso necessrio que os
cenrios de testes estejam bem denidos junto equipe. No prximo captulo abordaremos
a usabilidade e como esta rea inserida no processo de desenvolvimento emprico, para
na sequncia mostrarmos o estudo de como relacionar as prticas de testes e as tcnicas
de usabilidade.
31
4 Usabilidade
Neste captulo abordaremos os conceitos de usabilidade e suas relaes, alm de
entender a sua importncia em um software, apresentar os modelos de ciclo de vida
utilizados na usabilidade e mostrar como pode ser inserida a usabilidade no ciclo de
desenvolvimento emprico de software.
32
Captulo 4. Usabilidade
33
34
Captulo 4. Usabilidade
Tcnica
Brainstorming
Storyboard
Card Sorting
Diagramas de Anidade
Prottipos
Descrio
uma tcnica utilizada para obter ideias, entrar em consenso sobre problemas ou novas
propostas
uma representao das interaes entre os
usurios e o sistema em seu ambiente de trabalho
uma tcnica usada para descobrir como
o usurio classica determinada informao
em sua mente.
So utilizadas para organizar uma grande
quantidade de itens em grupos lgicos.
So utilizados para esclarecer os requisitos
especcos para o projeto de interface do sistema.
Tcnica
Persona
Entrevistas Tradicionais
Eyetracking
Questionrios de Perl de uso
Questionrios de Satisfao
Grupo Focal
Dirios
Bechmarking de Usabilidade
Cenrios de Uso
Observao
35
Descrio
A tcnica de persona descreve o perl de uma pessoa ctcia
envolvida com o produto. Trata-se de inventar um conjunto
de pessoas (trs ou quatro) que estejam dentro da populao
de usurios pretendidos e descrev-las em detalhes.
Tcnica utilizada para obter as opinies tanto dos usurios
atuais como dos futuros usurios dos sistemas.
uma tcnica que rastreia o movimento dos olhos e da cabea
para registrar a tomada de informaes numa interface.
uma tcnica utilizada para obter informaes sobre as caractersticas reais dos usurios de um sistema e saber como
eles realmente utilizam tais ferramentas.
So questionrios utilizados para medir a satisfao do usurio
ao utilizar um sistema. Resultam da avaliao subjetiva pelo
usurio.
uma reunio informal de usurios que manifestam suas opinies sobre o determinado assunto, que pode ser tanto uma
oportunidade de novas funcionalidades ou algum problema
especco.
uma tcnica na qual os usurios carregam consigo um pequeno dirio para nele anotar as informaes do seu dia-a-dia
na utilizao do sistema.
um mtodo utilizado para criar critrios de avaliao e seleo de representantes para criar caractersticas desejveis para
o futuro sistema.
uma tcnica simples e ecaz para analisar e comunicar uma
parte das especicaes de requisitos produzidos para a usabilidade e a interface.
Essa tcnica caracteriza-se por um pesquisador observando
o usurio e tomando notas, enquanto este trabalha em seu
contexto usual.
36
Captulo 4. Usabilidade
Avaliao heurstica
Percurso Cognitivo
Testes de usabilidade
Descrio
uma tcnica de inspeo que oferece
uma maneira de abordagem rpida, fcil e
de baixo custo para a avaliao de uma
interface. Permite com que usurios que
no so especialistas em ergonomia identicarem problemas menores e repetitivos
(CYBIS; BETIOL; FAUST, 2010).
uma tcnica de avaliao realizada por
especialistas de usabilidade para identicar
problemas iniciais de usabilidade de um sistema.
um mtodo de inspeo de usabilidade que
tem como objetivo avaliar a interface considerando a facilidade da interface
um dos mtodos de teste de experincia do
usurio (UX) mais frequentemente utilizado
e conhecido entre aqueles que no so projetistas da UX. Realizar testes com usurios
o ncleo do Design Centrado no Usurio,
pois atravs destes que podemos saber se as
reais expectativas dos usurios so atendidas
(SANTOS, 2012).
37
38
Captulo 4. Usabilidade
39
Sabemos que a cincia experimental que utiliza-se dos mtodos empricos tradicionais para coletar dados e testar hipteses. Essa abordagem preocupa-se com os usurios
quando as representa mas ela no leva em conta diversos aspectos do usurio real, por
no envolv-los no processo. No basta fazer para o usurio, preciso fazer com o usurio
(EASON, 2005).
No DCU o usurio tem que ser o elemento central e necessrio envolv-lo do
incio ao m do projeto. Baseia-se nas necessidades, desejos e limitaes das pessoas.
Lowdermilk (2013) arma que para criar produtos que os usurio amem, necessrio
incluir os usurios no processo de criao dos produtos.
Existem quatro atividades de Design Centrado no Usurio que devem estar presentes no inico do projeto:
Entender e especicar o contexto de uso;
Especicar os requisitos de usurio;
Produzir solues de design;
Avaliar o design frente aos requisitos;
A ISO/IEC 13407 (1999) prope que o envolvimento do usurio seja uma prtica
frequente em empresas que desenvolvem sistemas interativos.
40
Captulo 4. Usabilidade
(i) ciclos curtos com entregas contnuas e incrementais, que favorecem a aplicao de
tcnicas de prototipagem; (ii) forte envolvimento do usurio que favorece a aplicao de
princpios de projetos participativos e (iii) programao em pares onde em IHC geralmente
a avaliao de usabilidade feita em pares (BARBOSA; FURTADO; GOMES, 2008).
Segundo Cybis, Betiol e Faust (2010) as caractersticas da abordagem gil facilitam na
utilizao da ergonomia e da usabilidade durante o desenvolvimento de software.
Porm adaptaes so necessrias, principalmente na questo da granularidade da
pesquisa, no tempo gasto com ela e na maneira de relatar as descobertas de usabilidade
(SANTOS, 2012). Hodgetts (2005) arma que os mtodos de desenvolvimento emprico
so quase sempre apresentados sob a viso dos programadores, deixando de lado outras
disciplinas como Design de Experincia do Usurio.
No modo geral, os projetistas sabem da importncia de desenvolver com enfoque
no usurio e na usabilidade, mas normalmente os projetos so desenvolvidos sem que
tenham sido realizadas pesquisas e aplicados mtodos e tcnicas de usabilidade. O tempo
e os recursos limitados so as principais razes que impede a implantao dos testes de
usabilidade nas equipes de desenvolvimento de software. Tambm h o desconhecimento
por parte da equipe de desenvolvimento das tcnicas a serem empregadas.
41
Tcnica
Personas
Anlise de Tarefas
Roteiros
Anlise de Contexto
de uso
Histrias de
usabilidade
Definio de requisitos e
metas de usabilidade
Avaliao da Usabilidade
Benchmarks
Avaliao da Usabilidade
Testes de Usabilidade
Cenrios de Testes
Descrio
Caracterizar grupos de usurios finais. Descrever expectativas de um usurio em relao ao desenvolvido.
Prope uma narrativa textual para descrever a execuo de uma tarefa pelo usurio.
So formadas pelo Roteiro sendo realizada pela Persona.
Servem de balizadores para avaliar a usabilidade.
So gerados a partir dos atributos de usabilidade
So utilizados como insumos de avaliaes de usabilidade.
Estes testes podem ser feitos atravs de avaliaes
preditivas, experimentais.
42
Captulo 4. Usabilidade
Atividades Gerenciais
Atividade
Tcnica
Planejamento
de usabilidade
Planning
Poker
Controle de
Usabilidade
Velocity
Descrio
Ocorre simultaneamente ao
planejamento da release. O
Projetista de interao contribui
com o seu parecer sobre
as estimativas de tamanho
das histrias de usabilidade.
Acompanhamento das tarefas
relativas usabilidade,
comparando o esforo previsto
com o realizado.
Insumos
Sadas
Histrias de
usabilidade e
Planejamento
das avaliaes
Estimativas
de Recursos
(Tempo e
Custo)
Estimativas de
recursos
Refinamento
de estimativas
e Velocidade
do projeto
Viso de Iterao
Atividade
Tcnica
Definio de estilos
de interao.
Template
Desenho de Interao
Interface
Final
Descrio
So modelos estruturados
de interface que permite definir
um guia de estilo padro. O
guia de estilo descreve
diretrizes e padres para
o desenvolvimento de software.
As interfaces geradas
devem estar em conformidade
com os templates definidos
pelo projeto.
Insumos
Sadas
Requisitos de
Usabilidade
Guia de
estilos
(Templates)
Templates
Interfaces
finais
Viso de Desenvolvimento
Atividade
Tcnica
Prototipao de
Interface
Prototipao
Rpida
Avaliao de
Usabilidade
Podem ser
utilizadas vrias
tcnicas
Descrio
feita atravs de prottipos
de baixa fidelidade em papel.
So feitos pelos projetistas
de interao e apresentados
aos usurios com objetivo
de avali-los e discutir
alternativas de desenhos.
Diversas avaliaes podem
ser utilizadas durante o
ciclo de desenvolvimento.
Insumos
Sadas
Templates
Prottipo
Simplificado
Cenrios
de Testes
43
44
Captulo 4. Usabilidade
4.5 Consideraes
A integrao entre os processos de usabilidade e os mtodos empricos esperada
e possvel. Tanto o desenvolvimento emprico como os processo de usabilidade tem em
comum caractersticas que colocam o foco do desenvolvimento nas necessidade e anseios
dos usurios nais, na interao entre os stakeholders envolvidos e na qualidade nal do
produto a ser desenvolvido.
Os testes de usabilidade e testes de aceitao muitas vezes so confundidos. Testes
de aceitao podem trazer as questes de usabilidade, mas no o nico mtodo para ser
utilizado em um projeto. Por ser feito tardiamente as mudanas baseadas em testes de
aceitao so muito mais caras. J os testes de usabilidade foram projetados para oferecer
informaes verdadeiras de desempenho desde o incio do processo. O principal objetivo
dos testes de aceitao servir como uma vericao nal de que a aplicao atendeu aos
requisitos funcionais estabelecidos pelo cliente (PREECE; ROGERS; SHARP, 2007).
No proximo captulo, utilizamos no estudo de caso algumas tcnicas de usabilidade
que foram aplicadas juntamente com os testes de desenvolvimento emprico de software.
45
5 Estudo de Caso
Neste captulo apresentamos o estudo de caso sobre a utilizao de prticas de
usabilidade e testes automatizados no desenvolvimento do Portal do Software Pblico,
onde ser denido um guia de como essas prticas podem ser inseridas nesse contexto.
O objetivo global desse estudo introduzir tcnicas de usabilidade no desenvolvimento emprico a partir das prticas de BDD. Tendo em vista a utilizao de vrias
tcnicas de usabilidade e de testes de software em um projeto de desenvolvimento emprico, denimos os objetivos especcos m de:
46
47
Local
Descrio do Problema
Cadastro de Usurio
Cadastro de Usurio
Cadastro de Usurio
Cadastro de Instituio
Cadastro de Instituio
Cadastro de Usurio
7
8
Cadastro de Usurio
Perfil de Usurio
Cadastro de Usurio
10
Cadastro de Usurio
Heurstica Desobedecida
Dilogos simples
Criticidade
Minimizar a sobrecarga
de memria do usurio;
Minimizar a sobrecarga
de memria do usurio
Dilogos simples e naturais
Dilogos simples e naturais
Alta
Mdia
Consistncia
Preveno de erros
Alta
Baixa
Atalhos
Mdia
Consistncia
Baixa
Mdia
Media
Baixa
Baixa
48
Cada problema levantado nas avaliaes gerou uma proposta de melhorias para
os cenrios envolvidos. Essas melhorias, quando aceitas, geraram mudanas nos cenrios
de testes de aceitao, consequentemente no desenvolvimento da funcionalidade em si. Os
testes de aceitao alterados foram utilizados para vericar os seguintes fatores:
Capacidade de cadastrar informaes de usurio;
Capacidade de editar informaes de usurio;
Capacidade de cadastrar informaes de instituio;
Capacidade de editar informaes de instituio;
49
licena: licena
[E] eu clico em Salvar
[Ento] eu recebo uma conrmao de cadastro realizado com sucesso, e encontro
a pagina de edio de software
Assim como os cenrios anteriores, os demais cenrios da histria de Novo Software
encontra-se em B.5. Para esta histria tambm foi desenvolvido um prottipo:
Local
Descrio do Problema
3
4
5
6
7
Heurstica Desobedecida
Preveno de erros
Criticidade
Ajuda e documentao
Linguagem Clara
Mdia
Ajuda e documentao
Preveno de erros
Baixa
Preveno de erros
Baixa
Consistncia
Baixa
Mdia
Baixa
Mdia
50
Local
Descrio do Problema
Cadastro de Usurio
Cadastro de Usurio
Cadastro de Usurio
Cadastro de Software
Cadastro de Software
Cadastro de Software
7
8
Cadastro de Software
Cadastro de Software
Heurstica Desobedecida
Dilogos simples e
naturais
Criticidade
Dilogos simples e
naturais
Feedback
Mdia
Minimizar
carga
Feedback
Baixa
sobre-
Minimizar
sobrecarga
Feedback
Dilogos simples e
naturais
Baixa
Alta
Mdia
Baixa
Mdia
Baixa
51
52
Quanto aos testes de aceitao dos cenrios avaliados tivemos os seguintes resultados de medio: Histria: Cadastro de Usurio:
Quantidade de cenrios executados: 22 cenrios;
Quantidade de passos executadas: 162 passos
Quantidade de falhas obtidas: 0 falhas;
Histria: Cadastro de Instituio:
Quantidade de cenrios executados: 2 cenrios;
Quantidade de passos executadas: 23 passos
Quantidade de falhas obtidas: 0 falhas;
Histria: Cadastro de Software:
Quantidade de cenrios executados: 6 cenrios;
Quantidade de passos executadas: 68 passos
Quantidade de falhas obtidas: 0 falhas;
53
5.4. Consideraes
5.4 Consideraes
Este captulo apresentou o estudo de caso sobre o desenvolvimento do Portal do
Software Pblico a partir de mtodos empricos, utilizando prticas de BDD e usabilidade.
55
6 Concluso
Durante este trabalho de concluso de curso, estudamos o desenvolvimento de
software emprico e suas caractersticas, focando nos mtodos geis de desenvolvimento de
software e nas prticas de software livre. Assim como a forma que esse desenvolvimento
est ligado com prticas de BDD e como as prticas (testes de aceitao) podem ser
aplicadas ou no em um ambiente real de desenvolvimento que j se encontra estabelecido,
alm da aplicao de prticas de melhorias de usabilidade, como avaliaes de heursticas
e aplicaes de checklists, atravs dos cenrios de testes automticos.
Os objetivos deste estudo de caso foram:
1. Vericar aplicao das prticas do BDD no processo de desenvolvimento emprico
de software emprico;
2. Integrar usabilidade no ciclo de vida de desenvolvimento emprico de software;
3. Identicar quais tcnicas de usabilidade podem ser utilizadas em cada fase do desenvolvimento emprico.
4. Vericar a relao de prticas de BDD e prticas de usabilidade no desenvolvimento
emprico de software.
O estudo de caso deste trabalho foi o projeto de desenvolvimento do Portal do
Software Pblico Brasileiro, em que focamos para este trabalho no estudo das prticas de
desenvolvimento dos cenrios de testes de aceitao, prototipao, avaliao de heursticas
de usabilidade, aplicao de checklists de usabilidade; assim como a relao entre essas
prticas.
Para atingir dos objetivos do estudo de caso, buscamos responder as seguintes
questes:
1. Como os testes automatizados so denidos e implementados em um ambiente de
desenvolvimento de software emprico?
2. Como inserir os princpios de usabilidade no desenvolvimento emprico de software?
3. Como as prticas do BDD podem se relacionar com as paticas de usabilidade?
A partir do estudo de caso, vericamos que os testes automatizados so implementados atravs das prticas de BDD, como os testes de aceitao, que so utilizados
56
Captulo 6. Concluso
constantemente durante o desenvolvimento emprico, tambm inserimos algumas prticas de usabilidade dentro do processo de desenvolvimento do Portal do Software Pblico
Brasileiro, sendo estas prticas: prototipao, avaliao de heursticas de usabilidade, aplicao de checklists de usabilidade. Porm existe uma certa diculdade em aderir tanto
prticas de testes, quanto prticas de usabilidade pela equipe de desenvolvimento, principalmente durante sprints de nal de release, onde o prazo de entrega encontra-se mais
perto, e a equipe tende a se preocupar mais com o desenvolvimento da funcionalidade em
si. Quando essas prticas so utilizadas de forma frequente e como planejadas, vericamos que o desenvolvimento dos testes de aceitao , assim como o uso de prottipos, pode
agilizar o processo de avaliaes de usabilidade por meio de checklists e heursticas, pois
no existe a necessidade de uma funcionalidade est totalmente desenvolvida. Tambm
vericamos que os testes de aceitao podem ser usados para vericar a aplicao das
melhorias estabelecidas atravs das avaliaes de heursticas de usabilidade.
Entretanto necessrio dar continuidade as prticas de usabilidade durante todo
o processo de desenvolvimento, para que a usabilidade possa evoluir juntamente com o
processo de desenvolvimento, assim as atividades de usabilidade estar sempre frente
das atividades de desenvolvimento, pois necessitam de planejamento de avaliaes de
usabilidade e da produo de de cenrios e prottipos.
Durante este estudo de caso, formulamos a seguinte hiptese:
Hiptese: A integrao de prticas de usabilidade a partir de prticas do BDD
resulta em melhores avaliaes de usabilidade durante desenvolvimento emprico de software.
De acordo com a anlise dos resultados coletados na subseo 5.2 deste estudo,
vericamos que a aplicao de prticas de usabilidade como prototipao, avaliao de
heursticas e checklists a partir dos cenrios dos testes de aceitao apresentaram evoluo
na usabilidade do Portal do Software Pblico. Podemos ver tambm nas guras 7, 8 e 9
que a partir das avaliaes de heursticas nos prottipos e cenrios diminuiu ou se manteve
o numero de casos com problemas de criticidade alta, mdia ou baixa, apresentando assim
indcios que o desenvolvimento emprico e suas prticas combinadas com as prticas de
usabilidade, pode trazer grandes ganhos em usabilidade.
57
59
A Apndice 1
A.1 Processos de Usabilidade
Alguns autores como Mayhew (1999) e Hix e Hartson (1993) proposeram modelos
de processo baseados em ciclo de vidas bem denidos para as atividades de usabilidade. O
termo modelo de ciclo de vida utilizado para representar um modelo que capta um conjunto de atividades e a maneira como elas se relacionam (PREECE; ROGERS; SHARP,
2007). Outro modelo muito utilizado para descrever processos de usabilidade o proposto
pela norma ISO/IEC-13407 (1999).
60
Apndice A. Apndice 1
A primeira etapa do ciclo a anlise dos requisitos. Mayhew prope quatro tipos
de atividades de anlise de requisitos que so detalhadas abaixo:
Anlise do perfil do usurio: Os projetistas devem conhecer os atributos pessoais
e suas habilidades para cada tipo de usurio identicado.
Anlise do contexto da tarefa: Os projetistas devem conhecer os objetivos e
resultados, a estrutura, durao, custos e etc. de cada tarefa a ser realizada.
Anlise das possibilidades e restries da plataforma: Vericar quais so as
possibilidades e restries em termos de equipamentos, sistemas operacionais e etc.
Anlise dos princpios gerais para o projeto: Atividade relacionada pesquisa e catalogao dos conhecimentos de ergonomia disponvel para a concepo
da interface no tipo de contexto de uso.
Depois da anlise dos requisitos preciso especicar as metas de usabilidade do
futuro sistema. A norma ISO/IEC 9241-11 (2003) orienta como podemos especicar essas
metas.
Na etapa de projetos, testes e implementao, Mayhew props que os ciclos devem
se repetir de forma a tratar trs nveis de aspectos de uma interface: No primeiro nvel
sendo a interface denida conceitualmente; no segundo nvel refere-se as denies em
termos de estilo; e no terceiro nvel as interaes e componentes relacionados com os
contextos das tarefas especiais. A ltima fase a de instalao do sistema onde depois
que o usurio j estiver acostumado com o sistema ele pode dar um feedback sobre a
usabilidade do produto de forma mais dedigna por j ser um especialista"da ferramenta
como cita a autora. Uma das tcnicas utilizadas para coletar feedback so os testes de
usabilidade no local do trabalho dos usurios ou utilizando mtodos de anlise como
entrevistas, observaes, questionrios, grupos de discusses.
61
<www.uxdesign.blog.br>
62
Apndice A. Apndice 1
63
recomendado que se utilize um questionrio padronizado, pois permite a comparao de resultados obtidos por diferentes sistemas. Estes questionrios apresentam
opes de respostas fechadas, o que permite a produo de dados quantitativos e
objetivos (CYBIS; BETIOL; FAUST, 2010).
Um grande nmero de questionrios foram desenvolvidos pela comunidade cientca para a avaliao da usabilidade. Alguns exemplos de questionrios so: QUIS,
SUMI, WAMMI, SUS, ASQ, PSQ, PSSUQ e CSUQ. Os detalhes referentes a cada
questionrio esto detalhados no apndice A.
Grupos de Foco: uma reunio informal de usurios que manifestam suas opinies
sobre o determinado assunto, que pode ser tanto uma oportunidade de novas funcionalidades ou algum problema especco. Um moderador deve preparar um roteiro
com uma lista de assuntos a serem tratados. importante que os participantes sejam de pers diferentes para que possa ter uma maior diversidade de informaes.
Costuma-se ter em mdia de 6 a 12 usurios em uma mesa de reunies. Os registros
das informaes podem ser atravs de vdeos ou blocos de anotaes. O objetivo no
ter a obteno do consenso em torno das ideias, mas sim ter uma boa quantidade
de opinies sobre o assunto a ser tratados (CYBIS; BETIOL; FAUST, 2010).
Dirios: uma tcnica til quando a experincia do usurio ampla e depende da utilizao em muitos lugares. Nessa tcnica os usurios carregam consigo um pequeno
dirio para nele anotar as informaes do seu dia-a-dia na utilizao do sistema
(CYBIS; BETIOL; FAUST, 2010).
Benchmarking de Usabilidade: Denido como mtodo sistemtico e contnuo de avaliao de sistemas reconhecidos como representantes das melhores e mais ecazes
prticas com a nalidade de comparar desempenhos e identicar oportunidades de
melhoria (SPENDOLINI, 1994).
Esse mtodo parte da denio dos critrios de avaliao e seleo de representantes relevantes para criar uma listagem de caractersticas desejveis para o futuro
sistema, como tambm os aspectos que so desfavorveis e que devem ser evitados.
Cenrios de uso: uma tcnica simples e ecaz para analisar e comunicar uma parte
das especicaes de requisitos produzidos para a usabilidade e a interface. So
utilizados para comunicar os cenrios atuais de uma tarefa (problema) e o cenrio
futuro (soluo). Os cenrios de soluo deve descrever em linguagem natural, como
determinados usurios realizaro tarefas especcas com o sistema em um determinado contexto. preciso decompor os objetivos dos usurios segundo as operaes
necessrias para alcana-los, identicando as atividades que sero realizadas pelos
usurios (CYBIS; BETIOL; FAUST, 2010).
64
Apndice A. Apndice 1
Personas: A tcnica de persona descreve o perl de uma pessoa ctcia envolvida com o
produto. Trata-se de inventar um conjunto de pessoas (trs ou quatro) que estejam
dentro da populao de usurios pretendidos e descrev-las em detalhes. As informaes devem ser qualitativas e coletadas por meio de entrevistas e questionrios
junto populao alvo do sistema. As personas permitem maior entendimento dos
usurios, colocando-os no centro das decises do projeto. Essa tcnica tem objetivos
similares aos de cenrios, porm ao invs do foco ser na tarefa, deve-se ter foco em
uma pessoa que faa parte do pblico alvo do sistema (CYBIS; BETIOL; FAUST,
2010).
65
66
Apndice A. Apndice 1
67
68
Apndice A. Apndice 1
A verso atual a QUIS 7.0 (Norman e Shneiderman, 2010), contm um questionrio onde possui a avaliao da satisfao geral e avaliaes de fatores especcos de
interfaces organizadas hierarquicamente: tela, terminologia e retroalimentao do sistema,
aprendizado, capacidades do sistema, manuais tcnicos, tutoriais online, multimdia, teleconferncia e instalao de software. Pode ser congurado de acordo com a necessidade
e interesse do usurio.
um questionrio proprietrio, sugerido o uso de planilhas eletrnicas e softwares
estatsticos at que se implementem recursos de anlise no servidor web dos proprietrios.
69
70
Apndice A. Apndice 1
71
72
Apndice A. Apndice 1
Nome
Criador
Questes
Licena
Interface Avaliada
Confiab.
ASQ
IBM
Aberto
Qualquer
0,93
CSUQ
IBM
19
Aberto
Baseado em
computador
0,95
PSSUQ
IBM
19
Aberto
Baseado em
computador
0,96
SUMI
HERG
27
Proprietrio
Software
0,89
SUS
DEC
10
Aberto
Qualquer
0,85
QUIS
UMD
50
Proprietrio
Escala
Discordo
Fortemente
Concordo
Fortemente
Discordo
Fortemente
Concordo
Fortemente
Discordo
Fortemente
Concordo
Fortemente
Discordo
Fortemente
Concordo
Fortemente
Discordo
Fortemente
Concordo
Fortemente
0a9
73
74
Apndice A. Apndice 1
75
76
Apndice A. Apndice 1
77
78
Apndice A. Apndice 1
79
B Apndice 2
B.1 Descrio de testes de aceitao
Essa estrutura proposta da seguinte forma:
1. Ttulo: Palavra-chave feature e um ttulo curto que representa o objetivo da feature.
2. Narrativa: um texto curto que demonstre os cenrios de execuo, exatamente
como a narrativa de uma histria de usurio:
3. Pr condies: representado pela palavra-chave background, dene os passos precedem cada cenrio de teste.
80
Apndice B. Apndice 2
81
82
Apndice B. Apndice 2
83
84
Apndice B. Apndice 2
85
86
Apndice B. Apndice 2
verso: teste
sistema operacional: Debian
[E] eu clico em Salvar
[Ento] eu recebo uma conrmao de cadastro salvo com sucesso
87
C Apndice 3
C.1 Pesquisa com profissionais de software livre e mtodos geis
Foi realizada uma pesquisa para entender o que prossionais que trabalham com
software livre e mtodos geis entendem sobre as tcnicas de usabilidade. O resultado se
encontram abaixo:
A grande maioria dos prossionais pesquisados eram desenvolvedores, seguidos
de designs, arquitetos de informao, especialistas de usabilidade e gerentes de projetos.
Alguns deles realizam mais de um papel em sua equipe de trabalho.
88
Apndice C. Apndice 3
Os resultados abaixo mostram as tcnicas utilizadas pelos prossionais para avaliar, anlisar e conceber interfaces com usabilidade.
Uma das tcnicas mais utilizadas para anlisar o contexto de uso do sistema so
89
90
Apndice C. Apndice 3
Os testes com usurios uma das tcnicas mais utilizadas pelos prossionais com
58%, seguido pelas tcnicas de avaliao heursticas e checklists (listas de vericao).
Os resultados abaixo mostram qual a importncia de cada tcnica de concepo
de uma interface de acordo com a percepo dos pesquisados.
91
92
Apndice C. Apndice 3
93
94
Apndice C. Apndice 3
95
96
Apndice C. Apndice 3
97
Referncias
BARBOSA, D. F.; FURTADO, E. S.; GOMES, A. S. Uma estratgia de apoio
institucionalizao da usabilidade em ambientes de desenvolvimento gil. In:
SOCIEDADE BRASILEIRA DE COMPUTAO. Proceedings of the VIII Brazilian
Symposium on Human Factors in Computing Systems. [S.l.], 2008. p. 214223. Citado
na pgina 40.
BECK, K. Test-Driven Development by Example. [S.l.]: Addison-Wesley Prefessional,
2002. Citado 3 vezes nas pginas 9, 28 e 29.
BERNARDO, P. C. Padres de testes automatizados. Dissertao (Mestrado)
Instituto de Matemtica e Estatstica Universidade de So Paulo, 2011. Disponvel em:
<http://www.teses.usp.br/teses/disponiveis/45/45134/tde-02042012-120707/>. Citado
2 vezes nas pginas 27 e 29.
BERVIAN, P. A.; CERVO, A. L.; SILVA, R. d. Metodologia cientca. So Paulo, 2002.
Citado na pgina 60.
BROOKE, J. Sus-a quick and dirty usability scale. Usability evaluation in industry,
London: Taylor and Francis, v. 189, p. 194, 1996. Citado na pgina 68.
CHAU, M. Convite a filosofia. [S.l.: s.n.], 2003. Citado na pgina 23.
CHELIMSKKY, D. et al. The RSpeec Book: Behaviour-Driven Development with RSpec,
Cucumber, and Friends. [S.l.: s.n.], 2010. Citado 3 vezes nas pginas 27, 29 e 30.
CONSTANTINE, L. L.; LOCKWOOD, L. Process agility and software usability: Toward
lightweight usage-centered design. Information Age, v. 8, n. 8, p. 110, 2002. Citado na
pgina 40.
CORBUCCI, H. Mtodos geis e software livre: um estudo da relao entre estas duas
comunidades. Tese (Doutorado) Universidade de So Paulo, 2011. Citado na pgina
24.
CYBIS, W.; BETIOL, H.; FAUST, R. Ergonomia e Usabilidade: Conhecimentos, Mtodos
e Aplicaes. [S.l.: s.n.], 2010. Citado 10 vezes nas pginas 32, 33, 36, 37, 40, 59, 60, 62,
63 e 64.
DIAS, C. Usabilidade na Web: Criando websites mais acessveis. [S.l.: s.n.], 2006. Citado
na pgina 31.
EASON, K. D. User-centred design: for users or by users? 2005. Citado na pgina 39.
EVERETT, G. D. et al. Software Testing. [S.l.: s.n.], 2007. Citado na pgina 27.
GARRET, J. The Elements of user experience. [S.l.: s.n.], 2003. Citado na pgina 32.
GUIMARAES, C. P.; CHAVES, C. v. F. G. Xplus: Integrando o design de interfaces
centrado na experincia do usurio ao processo de desenvolvimento de software com
extreme programming. Citado 3 vezes nas pginas 9, 40 e 41.
98
Referncias
HARING, R. Behavior driven development: Beter dan test driven development. Java
Magazine, 2011. Citado na pgina 29.
HIX, D.; HARTSON, H. R. Developing User Interfaces: Ensuring Usability Through
Product &Amp; Process. New York, NY, USA: John Wiley & Sons, Inc., 1993. ISBN
0-471-57813-4. Citado 2 vezes nas pginas 38 e 59.
HODGETTS, P. Experiences integrating sophisticated user experience design practices
into agile processes. In: IEEE. Agile Conference, 2005. Proceedings. [S.l.], 2005. p.
235242. Citado na pgina 40.
ISO/IEC 13407. ISO/IEC 13407: Human-centered design processes for interactive
system. [S.l.], 1999. Citado 3 vezes nas pginas 9, 38 e 39.
ISO/IEC 9241-11. NBR ISO/IEC 9241-11: Requisitos ergonmicos para o trabalho com
dispositivos de interao visual Parte 11: Orientaes sobre usabilidade. [S.l.], 2003.
Citado 2 vezes nas pginas 31 e 60.
KIRAKOWSKI, J.; CORBETT, M. Measuring user satisfaction. In: CAMBRIDGE
UNIVERSITY PRESS. Proceedings of the Fourth Conference of the British Computer
Society on People and computers IV. [S.l.], 1988. p. 329338. Citado na pgina 68.
KOSKELA, L. Test Driven: Pratical TDD and Acceptance TDD for Java Developers.
[S.l.]: Manning Publications, 2007. Citado na pgina 28.
KRUG, S. Simplificando coisas que parecem complicadas. [S.l.: s.n.], 2010. Citado 2
vezes nas pginas 65 e 66.
LEWIS, J. R. Ibm computer usability satisfaction questionnaires: psychometric
evaluation and instructions for use. International Journal of Human-Computer
Interaction, Taylor and Francis, v. 7, n. 1, p. 5778, 1995. Citado 3 vezes nas pginas
69, 70 e 71.
LOWDERMILK, t. Design Centrado no Usurio: Um guia para o desenvolvimento de
aplicativos amigveis. [S.l.: s.n.], 2013. Citado 2 vezes nas pginas 33 e 39.
MASSOL, V.; HUSTED, T. JUnit in Action. [S.l.]: Manning Publications, 2003. Citado
na pgina 29.
MAYHEW, D. The usability engineering lifecycle: a practitioners handbbok for user
interface design. [S.l.: s.n.], 1999. Citado 2 vezes nas pginas 38 e 59.
MESZAROS, G.; WESLEY, A. XUnit Test Patterns: Refactoring Test Code. [S.l.: s.n.],
2007. Citado na pgina 27.
MOGGRIDGE, B. Design Interactions. [S.l.: s.n.], 2006. Citado na pgina 33.
MOREIRA, T. et al. Proposta de processo de desenvolvimento distribudo de software
livre com usabilidade. 2012. Citado na pgina 19.
NAJAFI, M.; TOYOSHIBA, L. Two case studies of user experience design and agile
development. In: Agile, 2008. AGILE 08. Conference. [S.l.: s.n.], 2008. p. 531536.
Citado na pgina 43.
Referncias
99