Engenharia de Software Tcnicas de usabilidade e testes automatizados em processos de desenvolvimento de software emprico Autores: Jnatas Medeiros de Mendona, Rodrigo Medeiros Soares da Silva Orientador: Prof. Dr. Paulo Roberto Miranda Meirelles Braslia, DF 2014 Jnatas Medeiros de Mendona, Rodrigo Medeiros Soares da Silva Tcnicas de usabilidade e testes automatizados em processos de desenvolvimento de software emprico Monograa submetida ao curso de graduao em Engenharia de Softwareda Universidade de Braslia, como requisito parcial para ob- teno do Ttulo de Bacharel em Engenharia de Software. Universidade de Braslia - UnB Faculdade UnB Gama - FGA Orientador: Prof. Dr. Paulo Roberto Miranda Meirelles Braslia, DF 2014 Jnatas Medeiros de Mendona, Rodrigo Medeiros Soares da Silva Tcnicas de usabilidade e testes automatizados em processos de desenvolvi- mento de software emprico / Jnatas Medeiros de Mendona, Rodrigo Medeiros Soares da Silva. Braslia, DF, 2014- 105 p. : il. (algumas color.) ; 30 cm. Orientador: Prof. Dr. Paulo Roberto Miranda Meirelles Trabalho de Concluso de Curso Universidade de Braslia - UnB Faculdade UnB Gama - FGA , 2014. 1. Testes. 2. Software livre. 3. Usabilidade. I. Prof. Dr. Paulo Roberto Miranda Meirelles. II. Universidade de Braslia. III. Faculdade UnB Gama. IV. Tcnicas de usabilidade e testes automatizados em processos de desenvolvimento de software emprico CDU 02:141:005.6 Jnatas Medeiros de Mendona, Rodrigo Medeiros Soares da Silva Tcnicas de usabilidade e testes automatizados em processos de desenvolvimento de software emprico Monograa submetida ao curso de graduao em Engenharia de Softwareda Universidade de Braslia, como requisito parcial para ob- teno do Ttulo de Bacharel em Engenharia de Software. Trabalho aprovado. Braslia, DF, Dezembro de 2014: Prof. Dr. Paulo Roberto Miranda Meirelles Orientador Prof. Hilmer Rodrigues Neri Convidado 1 Prof. Tiago Barros Pontes e Silva Convidado 2 Braslia, DF 2014 Resumo Este trabalho de concluso de curso apresenta um estudo sobre usabilidade e testes auto- matizados no desenvolvimento emprico de software. Para isso, estamos utilizando como estudo de caso a plataforma livre para rede sociais Noosfero. Nessa primeira parte deste trabalho apresentamos como aplicar tcnicas de usabilidade, alm de tcnicas de BDD (desenvolvimento de software dirigido por comportamento) e TDD (desenvolvimento de software dirigido por testes) em dois projetos (Portal FGA 1 e Comunidade UnB 2 ) que usam o Noosfero, buscando assim vericar como essas tcnicas de testes podem afetar as avaliaes de usabilidade de um software. Alm disso o trabalho visa compreender como inserir as prticas de usabilidade estudadas no ciclo de vida de desenvolvimento de um software livre (Portal da Participao Social 3 ) utilizando uma abordagem gil. Este estudo serviu de base para levantamento de algumas hipteses a respeito do desenvolvi- mento emprico, quando pensamos em testes usabilidade. Este estudo tambm serve como base para a prxima fase do trabalho, que ser de vericar as hipteses levantadas sobre a inuncia dos testes automatizados na usabilidade de um sistema de software. Palavras-chaves: software livre. testes automatizados. usabilidade. 1 <fga.unb.br> 2 <comunidade.unb.br> 3 <participa.br> Abstract This degree monograph presents a study about software usability and automated testing on the empirical software development. So, the Noosfero plataform (a free software for social networking) was used as case study to apply this study. This rt work presents and applies techniques of usability, in addition to techniques of BDD (Behaviour Driver Development) and TDD (Test Driver Development) in two applications (Portal FGA 4 and Comunidade UnB 5 ) of the case study mentioned, thus seeking to ascertain how these testing techniques can aect the assessments of usability of a software. Further work aims to understand how to insert the practical usability studied the life cycle of a free software development (Portal da Participao Social 6 ) using an agile approach. This study serves as a basis to discussion of some hypotheses abaout empirical development, adressing usability tests. This study also serves as a the basis for the next phase of work, wich will verify the hipotheses about the inuence of testing in the usability of a software system. Key-words: free software. automated tests. usability. 4 <fga.unb.br> 5 <comunidade.unb.br> 6 <participa.br> Lista de ilustraes Figura 1 Descrio do ttulo (feature) de um teste . . . . . . . . . . . . . . . . . 33 Figura 2 Descrio de pr condies (background) de um teste . . . . . . . . . . 33 Figura 3 Descrio do cenrio (scenario) de um teste . . . . . . . . . . . . . . . 34 Figura 4 Descrio do setup de um teste . . . . . . . . . . . . . . . . . . . . . . 34 Figura 5 Cdigo de teste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Figura 6 Ciclo de atividades TDD (BECK, 2002) . . . . . . . . . . . . . . . . . 35 Figura 7 Nmero de avaliadores (NIELSEN, 1994) . . . . . . . . . . . . . . . . . 48 Figura 8 Ciclo de Vida Estrela . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Figura 9 Ciclo do design centrado no humano - Norma ISO 13407 . . . . . . . . 54 Figura 10 Viso geral do processo de desenvolvimento de software de XPlus . . . 57 Figura 11 Cobertura de cdigo do plugin LdapUnb . . . . . . . . . . . . . . . . . 70 Figura 12 Cobertura de cdigo do plugin para submisso de trabalho . . . . . . . 73 Figura 13 Cobertura de cdigo do plugin Stoa . . . . . . . . . . . . . . . . . . . . 75 Figura 14 Cobertura de cdigo do plugin Ldap . . . . . . . . . . . . . . . . . . . 76 Figura 15 Cobertura de cdigo do plugin Statistics . . . . . . . . . . . . . . . . . 76 Figura 16 Questionrio de perl do usurio . . . . . . . . . . . . . . . . . . . . . 81 Figura 17 Questionrio de perl do usurio - Continuao . . . . . . . . . . . . . 82 Figura 18 Informaes sobre o uso dos meios de comunicao . . . . . . . . . . . 83 Figura 19 Participaes sociais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Figura 20 Portal da Participao Social . . . . . . . . . . . . . . . . . . . . . . . 85 Figura 21 Ambiente e tempo de acesso no portal . . . . . . . . . . . . . . . . . . 86 Figura 22 ASQ - The After-Scenario Questionnaire . . . . . . . . . . . . . . . . . 88 Figura 23 PSSUQ The Post-Study System Questionnaire . . . . . . . . . . . . . 89 Figura 24 PSSUQ: The Post-Study System Questionnaire - Questes de 8 19 . 90 Figura 25 Printabilidade - Portal da Participao Social . . . . . . . . . . . . . . 95 Figura 26 Validaes - Portal da Participao Social . . . . . . . . . . . . . . . . 95 Figura 27 Carregamento de Pgina - Portal da Participao Social . . . . . . . . 95 Figura 28 Renderizao de pgina em dispositivos mveis . . . . . . . . . . . . . 96 Figura 29 Carregamento por dispositivos mveis - participa.br . . . . . . . . . . . 96 Lista de tabelas Tabela 1 Questes de Pesquisa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Tabela 2 Tcnicas de avaliao para os testes com usurios . . . . . . . . . . . . 63 Tabela 3 Tabela de variveis dependentes . . . . . . . . . . . . . . . . . . . . . . 65 Tabela 4 Validade dos Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Tabela 5 Avaliao dos resultados . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Tabela 6 Comparativo dos questionrios . . . . . . . . . . . . . . . . . . . . . . 91 Lista de abreviaturas e siglas ASQ The After-Scenario Questionnaire BDD Behavior Driven DCU Design Centrado no Usurio DSA Directory System Agent FGA Faculdade UnB Gama HTML HyperText Markup Language HTTP HyperText Transfer Protocol HTTPS HyperText Transfer Protocol Secure ICC Instituto Central de Cincias IHC Interao Humano Computador LAPPIS Laboratrio de Produo, Pesquisa e Inovao em Software LDAP Lightweight Directory Access Protocol MES Manuteno e Evoluo de Software MVC Model-View-Controller ProIC Projeto de Iniciao Cientca PSQ The Printer-Scenario Questionnaire PSSUQ The Post-Study System Questionnaire PuSH PubSubHubbub QUIS Questionnaire for User Interaction Satisfaction Rails Ruby on Rails SLTI Secretaria de Logstica e Tecnologia da Informao SMT Tecnologias de Mdia Social SUMI Usability Measurement Inventory SUS System Usability Scale SSL Secure Socket Layer SPB Software Pblico Brasileiro TCC Trabalho de Concluso de Curso TCP Transmission Control Protocol TDD Test Driven Develepment TLS Transport Layer Security UDP User Datagram Protocol UPA Usability Professionals Association - Associao de Prossionais de usabilidade UnB Universidade de Braslia USP Universidade de So Paulo UI User Interface UX User Experience W3C World Wide Web Consortium XP Extreme Programming Sumrio 1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.1 Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.2.1 Objetivos gerais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.2.2 Objetivos especcos . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.3 Questes de pesquisa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.4 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.4.1 Classicao da Pesquisa . . . . . . . . . . . . . . . . . . . . . . . . 21 1.4.2 As etapas da Pesquisa . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.5 Organizao do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2 Mtodos Empricos de Desenvolvimento de Software . . . . . . . . . . . . . 25 2.1 Software Livre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.1.1 Desenvolvimento de um projeto de software livre . . . . . . . . . . . 26 2.2 Mtodos geis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.3 Consideraes nais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3 Testes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.1 Testes Automatizados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.1.1 Testes de aceitao . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.1.2 Testes Funcionais e Unitrios . . . . . . . . . . . . . . . . . . . . . 34 3.2 Tcnicas de desenvolvimento de testes automatizados . . . . . . . . . . . . 35 3.2.1 TDD - Test Driven Development . . . . . . . . . . . . . . . . . . . 35 3.2.2 BDD - Behavior Driven Development . . . . . . . . . . . . . . . . . 36 3.2.3 Consideraes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4 Usabilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.1 Usabilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.1.1 Avaliao de Usabilidade . . . . . . . . . . . . . . . . . . . . . . . . 42 4.2 Tcnicas e Mtodos da Engenharia de Usabilidade . . . . . . . . . . . . . . 43 4.2.1 Mtodos e tcnicas de concepo . . . . . . . . . . . . . . . . . . . 43 4.2.2 Mtodos e tcnicas de anlise . . . . . . . . . . . . . . . . . . . . . 44 4.2.3 Tcnicas e Mtodos de avaliao . . . . . . . . . . . . . . . . . . . . 47 4.3 Testes de Usabilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.3.1 Teste da Usabilidade vs. Teste de Aceitao do Usurio (UAT) . . . 51 4.4 Processos de Usabilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.4.1 Modelo Estrela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.4.2 O ciclo de vida da Engenharia de Usabilidade - Mayhew . . . . . . 52 4.4.3 Design Centrado no Usurio . . . . . . . . . . . . . . . . . . . . . . 53 4.4.3.1 ISO 13407 e 9241-210 . . . . . . . . . . . . . . . . . . . . 54 4.5 Aplicao de usabilidade em mtodos geis . . . . . . . . . . . . . . . . . . 54 4.5.1 Estudos correlatos . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.5.2 DCU gil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.5.3 DCU e XP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.6 Princpios geis aplicados ao Design centrado no usurio . . . . . . . . . . 58 4.7 Consideraes nais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5 Estudos de Caso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 5.1 Estudo sobre Usabilidade: Participa.Br . . . . . . . . . . . . . . . . . . . . 61 5.1.1 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 5.1.2 Variveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 5.1.3 Recursos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 5.1.4 Validade dos Resultados . . . . . . . . . . . . . . . . . . . . . . . . 65 5.1.5 Procedimentos para a execuo . . . . . . . . . . . . . . . . . . . . 66 5.1.6 Avaliao dos Resultados . . . . . . . . . . . . . . . . . . . . . . . . 66 5.2 Estudo sobre Testes Automatizados - Rede Comunidade UnB . . . . . . . 66 5.2.1 Plugin LDAP UnB . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.2.2 Plugin para envio de TCC . . . . . . . . . . . . . . . . . . . . . . . 70 5.2.3 Observaes obtidas . . . . . . . . . . . . . . . . . . . . . . . . . . 75 5.3 Consideraes nais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 6 Consideraes nais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 6.1 Prximos Passos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 6.1.1 Cronograma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 A Apndice 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 A.1 Questionrio de Perl do Usurio . . . . . . . . . . . . . . . . . . . . . . . 81 A.2 Questionrio de Satisfao . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 A.2.1 QUIS - Questionnaire for User Interaction Satisfaction . . . . . . . 86 A.2.2 SUS System Usability Scale . . . . . . . . . . . . . . . . . . . . . 87 A.2.3 SUMI Usability Measurement Inventory . . . . . . . . . . . . . . 87 A.2.4 ASQ The After-Scenario Questionnaire . . . . . . . . . . . . . . . 87 A.2.5 PSQ The Printer-Scenario Questionnaire . . . . . . . . . . . . . . 88 A.2.6 PSSUQ The Post-Study System Questionnaire . . . . . . . . . . . 88 A.2.7 CSUQ - Computer System Usability Questionnaire . . . . . . . . . 90 A.2.8 Comparativo dos questionrios . . . . . . . . . . . . . . . . . . . . . 91 A.3 Portal da Participao Social . . . . . . . . . . . . . . . . . . . . . . . . . 92 A.3.1 Persona . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 A.3.2 Cenrios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 A.3.3 Problemas levantados com as questes . . . . . . . . . . . . . . . . 93 A.3.4 Ferramenta de anlise de websites . . . . . . . . . . . . . . . . . . . 94 B Apndice 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 B.1 Cenrios dos testes de aceitao - plugin para envio de TCC . . . . . . . . 97 Referncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 19 1 Introduo O desenvolvimento de software usando mtodos empricos, como software livre e mtodos geis, uma realidade. A prtica bsica desses mtodos so os testes automa- tizados, preocupando-se com as aplicaes de testes em sistemas cada vez mais dinmi- cos e reutilizveis com propostas para aumento de qualidade e produtividade de soft- ware (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 fator importante para a evoluo dos sistemas (SANTOS, 2012). Um dos grandes problemas encontrados em projetos software livre, por exemplo, a pouca ateno dada aos aspectos referentes a usabilidade e acessibilidade 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. 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 intera- o implementados nas interfaces dos produtos. Uma maioria no se preocupam com bons elementos de interface com usurio (UI). Atualmente, algumas comunidades de software livre vm se atentando as questes de usabilidade como forma de se manter no mercado. Um dos casos que conhecemos foi do Joomla que um CMS (Content Manager System) ou em portugus, sistema de geren- ciamento de contedo, que nessas ltimas verses investiram em questes de usabilidade, sendo o primeiro CMS a ser 100 por cento adaptado a dispositivos mveis tanto no con- tedo como na rea administrativa. 1 Foi criada uma frente de desenvolvimento focado na experncia do usurio que trouxe melhorias signicativas a partir da verso 3.0 do CMS 2 . A partir dessa nova verso foi adotado o framework Twitter Bootstrap 3 que proporciona um conjunto padro de widgets de interface de usurio que iro permitir aos desenvolvedo- res de extenses e templates trabalharem com o mesmo conjunto de normas de marcao, permitindo que os desenvolvedores de extenses se concentrem na funcionalidade e que desenvolvedores de templates desenvolvam templates que funcionem sem modicao das extenses. Logo em seguida o Wordpress, outro sistema de gerenciamento de contudo, investiu em melhorias da interface se atentando aos novos padres adotados na web. A partir da verso 3.5 adaptaram o painel para as telas de retina e na verso 3.8 rezeram 1 <http://joomla.org/3/pt_br> 2 <http://ux.joomla.org/> 3 <http://getbootstrap.com/> 20 Captulo 1. Introduo toda a interface da rea administrativa. O Noosfero, um sistema para desenvolvimento de redes sociais na qual faz parte do nosso estudo, tem tido algumas iniciativas por parte dos desenvolvedores e usurios da plataforma para a melhoria da usabilidade da ferramenta. Entender o perl do usurio um dos principais pontos que devem ser levados em considerao pelos desenvolvedores de software em geral. Cada perl de usurio tem suas particularidades e suas expectativas quanto a utilizao do sistema. 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 utilizados no desenvolvimento gil e a usabilidade de um sistema. 1.1 Problemas Um dos problemas encontrados nos softwares livres a baixa usabilidade de suas interfaces, o que resulta na perda de usurios. Os desenvolvedores de software livre pos- suem uma mentalidade mais voltada para a funcionalidade do que para os usurios do sistema. Possuem cdigo de qualidade, com algarismos ecientes e de bom desempenho e so produzidos por desenvolvedores motivados e voluntrios (SANTOS, 2012). Outro problema do desenvolvimento de software atualmente est em garantir qua- lidade de software de forma prtica e econmica e testes podem interferir nestas caracte- rsticas se no forem bem planejados. 1.2 Objetivos 1.2.1 Objetivos gerais Este trabalho de concluso de curso busca analisar tcnicas e mtodos de usabili- dade, assim como tcnicas de desenvolvimento e de testes de software no desenvolvimento emprico de software para vericarmos os possiveis efeitos de tcnicas como TDD (desen- volvimento dirigido por testes) e BDD (desenvolvimento dirido por comportamento) na usabilidade de um software, a partir de tcnicas como testes de usabilidade, dentre outras. 1.3. Questes de pesquisa 21 1.2.2 Objetivos especcos Para satisfazer os objetivos gerais do trabalho foram denidos objetivos especcos abaixo: 1. Vericar aplicao das prticas do BDD e TDD no processo de desenvolvimento de software livre; 2. Integrao da Engenharia de Usabilidade no ciclo de vida de desenvolvimento de software livre; 3. Identicar quais tcnicas de design e usabilidade podem ser utilizadas em cada fase do processo gil de desenvolvimento de software livre; 4. Vericar como prticas de BDD e TDD podem inuenciar a usabilidade de um software. 1.3 Questes de pesquisa Esta seo descreve as questes de pesquisa levantadas durante o trabalho. 1. Como os testes automatizados so denidos e implementados em um ambiente de desenvolvimento de software emprico? 2. possvel inserir os princpios de usabilidade dentro do processo gil de desenvol- vimento de software? 3. O processo de desenvolvimento utilizando prticas do BDD e TDD apresentam melhores resultados em testes de usabilidade? 4. Projetos de software centrados no usurio que possuem avaliao de usabilidade desde o seu incio apresentam melhores resultados no teste aceitao? 1.4 Metodologia 1.4.1 Classicao da Pesquisa Neste trabalho, a coleta e anlise dos dados sero realizadas com base em materiais j publicados, constitudo principalmente de livros, artigos de peridicos e materiais dis- ponibilizados na Internet, caracterizando-se, portanto, como uma pesquisa bibliogrca do ponto de vista do procedimento tcnico empregado (GIL, 1991). 22 Captulo 1. Introduo 1.4.2 As etapas da Pesquisa Estudo bibliogrco Levando em considerao os objetivos de pesquisa, o estudo bibli- grco aborda a usabilidade e sua relao com o desenvolvimento de testes, tentando entender como a usabilidade est presente em nosso meio. As reas pesquisadas so Arquitetura de Informao, Automao de Testes, Design, Ergonomia, Desen- volvimento Emprico, Interao Humano Computador, Engenharia de Usabilidade, Experincia do Usurio, entre outras. Estamos estudando os mtodos geis de desenvolvimento e o software livre como mtodos de desenvolvimento de software, aplicando este trabalho em um cenrio real de desenvolvimento da plataforma de redes colaborativas Noosfero, realizando um planejamento de avaliao de usabilidade no Portal da Portal da Participao Social 4 , alm de avaliar testes durante o desenvolvimento de funcionalidades para as aplicaes Rede Comunidade UnB 5 e o Portal da FGA 6 , tambm baseados na plataforma Noosfero. Alm disso necessrio conhecer o ciclo de design centrado no usurio. Encontrar maneiras de como inserir os mtodos de usabilidade utilizando uma abordagem gil em um contexto de software livre, e vericar como as tcnicas j utilizadas atacam as caractersticas de usabilidade de um software. Coletas de dados: Para avaliao de usabilidade, os dados sero coletados atravs de questionrios e entrevistas que sero feitas atravs de experimentos realizados em um estudo de caso no portal da participao social. Para vericao do desenvolvimento de testes mtricas de testes sero coletadas durante o processo de desenvolvimento em que este trabalho est baseado. 1.5 Organizao do trabalho Nesta seo est apresentada a organizao deste trabalho, e o que se refere cada captulo. O estudo inicia-se no segundo captulo, em que se aborda o desenvolvimento em- prico, onde dissertamos sobre software livre assim como uma breve base conceitual sobre metodologias geis de desenvolvimento. O terceiro captulo aborda conceitualmente as tcnicas de testes automatizados que geralmente so utilizadas no processo emprico, alm dos tipos de testes que podem 4 <www.participa.br> 5 <comunidade.unb.br> 6 <www.fga.unb.br> 1.5. Organizao do trabalho 23 ser aplicados. Nesta seo so destacados o TDD (Test Driven Development) e o BDD (Behavior Driven Development). O quarto captulo aborda os principais conceitos e as reas referentes usabilidade, alm de a abordar os processos da engenharia de usabilidade e interao humano compu- tador e as formas de como poder inserir as tcnicas no ciclo de vida de desenvolvimento emprico. O quinto captulo aborda os resultados prelimirares durante o planejamento da aplicao de tcnicas de avaliao da usabilidade para o Portal da Participao Social 7 , alm do desenvolvimento das funcionalidades para a Rede Comunidade UnB 8 e o Portal da FGA 9 , a partir da plataforma Noosfero. O trabalho se encerra com as consideraes nais, assim como as anlises obtidas de todo o processo do trabalho, am de uma discusso para os prximos passos. 7 <www.participa.br> 8 <comunidade.unb.br> 9 <www.fga.unb.br> 25 2 Mtodos Empricos de Desenvolvimento de Software O Empirismo baseia-se na aquisio de sabedoria atravs da percepo do mundo externo, ou ento do exame da atividade da nossa mente, que abstrai a realidade que nos exterior e as modica internamente (CHAU, 2003). Mecanismos do controle de processo emprico, onde ciclos de feedback so a base da tcnica de gerenciamento de projetos. uma forma de planejar e gerenciar projetos trazendo a autoridade da tomada de deciso a nveis de propriedade de operao e certeza (SCHWABER, 2004). Neste captulo sero abordadas algumas ideias e prticas de processo de desenvolvimento de software que utilizam mtodos empricos, como os mtodos geis e o processo de desenvolvimento de sofware livre. 2.1 Software Livre Software livre uma losoa que trata programas de computadores como fontes de conhecimento que devem ser compartilhados entre a comunidade. De acordo com Stallman (2001), ativista fundador do movimento software livre, um software deve seguir quatro princpios: 1. Liberdade de execuo para qualquer uso; 2. Liberdade de estudar o funcionamento de um software e de adapt-lo s suas neces- sidades 3. Liberdade de redistribuir cpias; 4. Liberdade de melhorar o software e de tornar as modicaes pblicas de modo que a comunidade se benecie da melhoria. Um software considerado software livre se segue esses quatro princpios, portanto o usurio deve poder utilizar, estudar e modicar o software como ele bem entender, no signica que o software necessariamente de graa, mas a partir do momento em que se obtm posse de um programa um usurio pode modicar e redistribuir o mesmo programa. Para Stallman (2001), a partir do momento em que os custos de desenvolvimento de um software so pagos, no h motivos para restrio de acesso, pois a disseminao de conhecimento muito mais benca do que potenciais lucros para o produtor. 26 Captulo 2. Mtodos Empricos de Desenvolvimento de Software 2.1.1 Desenvolvimento de um projeto de software livre Para exemplicar o processo de desenvolvimento de um software livre, nesta se- o, explicaremos como est denida no guia de desenvolvimento 1 a colaborao no cdigo do Noosfero, que o estudo de caso deste trabalho. O Noosfero 2 uma plataforma de- senvolvida pela Colivre (Cooperativa de Tecnologias Livre) 3 , utilizado em universidades pblicas, para desenvolvimento de redes colaborativas 4 . Por tratar de um software livre, a plataforma Noosfero possui uma grande quanti- dade de colaboradores, formado por equipes de desenvolvimento como na Colivre, Univer- sidade de Braslia e na Universidade de So Paulo, ou por desenvolvedores independentes. Assim, para que haja sucesso na colaborao, so feitas exigncias durante o desenvolvi- mento, como testes bem denidos para aprovar novas funcionalidade. Alm da utilizao da linguagem de programao Ruby, o desenvolvimento da plataforma noosfero tambm se baseia em JavaScript, CSS, dentre outras linguagens. O desenvolvimento para a plata- forma Noosfero realizado em ciclos e possui as seguintes fases: desenvolvimento, release 1, release 2 e release nal. Antes da fase de desenvolvimento for iniciada necessrio que seja feita a do- cumentao do que ser desenvolvido. Os desenvolvedores responsveis criam um action item (item de ao), contendo a histria de usurio ou os requisitos da nova funcionali- dade. Um action item pode ser descrito como uma feature (nova funcionalidade) ou como um bug (defeito) encontrado. Alm da documentao, necessrio o envio de um email descrevendo o que ser desenvolvido, para que a comunidade possa avaliar a funcionalidade descrita e decidir se uma funcionalidade importante para ser incorporada plataforma. Com a aprovao da comunidade so feitas as revises do ciclo de desenvolvimento, que deve seguir os seguintes passos: 1. Criar um merge request juntamente com o cdigo; 2. Cdigo revisado pela comunidade; 3. Cdigo bom? Se sim: V para o passo 4; Se no: Merge request rejeitado e as razes por tal so comentadas e respondidas; 1 <http://noosfero.org/Development> 2 <noosfero.org> 3 <colivre.coop.br> 4 <http://softwarelivre.org/colivre/blog/projeto-noosfero> 2.2. Mtodos geis 27 Desenvolvedores revisam o que est errado; 4. Cdigo incluido no cdigo principal. A entrega da release 1 consiste na instalao da nova verso do cdigo no repo- sitrio de testes, assim como no cdigo principal quando no houver mais defeitos, ou todos os defeitos encontrados forem tratados devidamente. Porm se algum erro crtico for encontrado e no for tratado a tempo da release nal, o lanamento pode ser adiado para a prxima release. J a release 2 no obrigatria, apenas ocorre se houver muitas mudanas na release 1 e requerer novos testes. Vale lembrar que os procedimentos realiza- dos para aprovar a release 2 so os mesmos da release 1 Por m, a verso nal do cdigo lanada aps todos os testes serem aprovados nas releases 1 e 2, assim o cdigo pode ser atualizado para o cdigo principal do noosfero, encerrando o ciclo de desenvolvimento. 2.2 Mtodos geis A utilizao de mtodos geis no desenvolvimento de software tem como caracte- rsticas intrnsecas a exibilidade e rapidez nas respostas a mudanas. A agilidade, para uma organizao de desenvolvimento de software, a habilidade de adotar e reagir rapi- damente e apropriadamente a mudanas no seu ambiente e por exigncias impostas pelos clientes (NERUR; MAHAPATRA; MANGALARAJ, 2005). Os mtodos geis compartilham valores como comunicao, feedback constante, colaborao com o cliente e constante adaptao so baseados no manifesto gil 5 . Os quatro princpios bsicos do manifesto gil mostram o que se espera de qualquer mtodo de desenvolvimento dessa categoria: 1. Indivduos e interaes sobre processos e ferramentas; 2. Software funcionando sobre documentao extensiva; 3. Colaborao com o cliente sobre negocioao de contrato; 4. Responder s mudanas sobre seguir um planejamento; Existe uma relao em as prticas geis e o desenvolvimento baseado em soft- ware livre. Corbucci (2011) fala que o desenvolvimento baseado em software livre vem crescendo, porm a essncia da comunidade ao redor do programa de manter indiv- duos que interajam de forma a produzir o que mais importante. As ferramentas apenas possibilitam isso. 5 <http://manifestoagil.com.br> 28 Captulo 2. Mtodos Empricos de Desenvolvimento de Software Quanto documentao Corbucci (2011) sugere que documentao completa e detalhada cresce com a comunidade ao redor do software funcionando, de acordo com a frequncia que usurios vo encontrando problemas. Em relao colaborao com o cliente, de acordo com Corbucci (2011) clientes podem colaborar com projetos baseados em software livre, porm no so induzidos a faz- lo, por conta da pouca experincia das comunidades em relacionamento com o cliente. No entanto vrios projetos dependem da habilidade do projeto prover respostas rpidas s requisies dos clientes. Em projetos geis, o cliente/usurio mais ativo durante o processo de desenvol- vimento, determinando em conjunto com a equipe de desenvolvimento o que ser desen- volvido, alm de participar da validao do o que foi desenvolvido. Sobre mudanas Corbucci (2011) fala que a habilidade de responder s mudanas crucial para determinar os projetos que sobrevivem, pois existe um ambiente extrema- mente competitivo no universo de software livre. Os projetos geis tambm buscam estabelecer um tempo determinado e curto para entrega de novas verses do sistema, com o objetivo de trazer mais satisfao ao cliente/usurio. A partir desses curtos ciclos, que so as iteraes, a equipe de desenvolvimento deve se preocupar mais com a evoluo dos requisitos, que pode gerar mudanas, porm mantm o projeto atualizado e diminui o riscos de grandes mudanas a medida que o projeto chega ao nal. Um mtodo gil conhecido como programao extrema (Extreme Programming - XP), tornou-se bastante popular por utilizar prticas focadas em codicao. O objetivo principal do XP a excelncia no desenvolvimento de software, visando um baixo custo e poucos defeitos, de acordo com Sato (2007). O XP conta com algumas prticas de desenvolvimento para dar suporte busca pelos objetivos citados, essas prticas so: refatorao, integrao contnua, testes automatizados, cdigo coletivo e programao em pares. Em suma, o ambiente de desenvolvimento que este trabalho est inserido base- ado em mtodos de desenvolvimento empricos de software, como XP e Software Livre, buscando seguir os princpios geis para o desenvolvimento de software livre, que ser especicado no captulo 5. 2.3 Consideraes nais 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 2.3. Consideraes nais 29 acordo com a percepo do mundo externo. Nos prximos captulos abordaremos como o desenvolvimento de testes abordado no desenvolvimento emprico e como a usabilidade inserida neste contexto. 31 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 cptulo, 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 relativa- mente recente, com incio em meados da dcada de 1990. Alm do fato de ser uma tcnica bastante utilizada pelas metodologias geis de desenvolvimento. 3.1 Testes Automatizados Teste automatizado a prtica de tornar os testes de software independentes da interveno humana, criando scripts ou programas simples de computador que exercitam o sistema em teste, capturam os efeitos colaterais e fazem vericaes, tudo automatica e dinamicamente (MESZAROS; WESLEY, 2007). Os testes automatizados afetam dire- tamente a qualidade dos sistemas de software, portanto, agregam valor ao produto nal, mesmo que os artefatos adicionais produzidos no sejam visveis para os usurios nais dos sistemas (BERNARDO, 2011). Esses testes podem ser divididos em diversos tipos, o que facilita a manuteno dos mesmos: 1. Testes de unidade: testes de correo responsvel por testar os menores tre- chos de cdigo de um sistema que possui um comportamento denido e nome- ado (BERNARDO, 2011). Normalmente, esse teste associado a funes para lin- guagens procedimentais e mtodos em linguagens orientadas a objetos. 2. Testes funcionais: testes que tem como objetivo vericar a ecincia dos compo- nentes de um sistema (MOLINARI, 2003). 3. Testes de integrao: denominao ampla que representa a busca de erros de re- lacionamento entre quaisquer mdulos de um software, incluindo desde a integrao de pequenas unidades at a integrao de bibliotecas das quais um sistema depende, servidores e gerenciadores de banco de dados (BERNARDO, 2011). 32 Captulo 3. Testes 4. Testes de interface de usurio: testes que vericam a correo por meio da simulao de eventos de usurio. A partir desses eventos, so feitas vericaes na interface e em outras camadas (BERNARDO, 2011). 5. Testes de leiaute: testes que buscam avaliar a interface e vericar a presena de erros aps a renderizao, difceis de indenticar com testes comuns de inter- face (BERNARDO, 2011). 6. Testes de aceitao: so testes de correo e validao, idealmente especica- dos por clientes ou usurios nais do sistema para vericar se um mdulo funciona como foi especicado (MARTIN, 2005). Testes de aceitao devem utilizar lingua- gem proxima da natural para evitar problemas de interpretao e de ambiguida- des (MUGRIDGE; DCUNNINGHAM, 2005). 7. Testes de desempenho: testes que executam trechos do sistema e armazenam os tempos de durao obtidos, que ajudam a identicar gargalos que precisam de otimizao para diminuir o tempo de resposta para o usurio (LIU, 2009). 8. Testes de carga: testes que exercitam o sistema sobre condies de uso intenso para avaliar se a infraestrutura adequada para a expectativa de uso do sistema (AVRITZE; WEYUKER, 1994). 9. Testes de estresse: teste que visa descobrir os limites do uso da infraestrutura, isto , qual a quantidade mxima de usurios e requisies que o sistema consegue antender corretamente e em um tempo aceitvel. 10. Testes de longevidade: testes que tem por objetivo encontrar erros somente vis- veis com um longo tempo de execuo do sistema, erros que podem ser de cache, re- plicao, execuo de servios agendados ou vazamento de memria (BERNARDO, 2011). 11. Testes de segurana: os testes de segurana servem para vericar se os dados ou funcionalidades condenciais de um sistema esto protegidos de fraude ou de usu- rios no autorizados. A segurana de um sofware pode envolver aspectos de con- denciabilidade, integridade, autenticao, autorizao, privacidade (WHITTAKER, 2006). Neste trabalho utilizaremos testes funcionais e testes de unidade para avaliar a qualidade de software utilizando as prticas geis. Tambm ser abordado neste traba- lho o desenvolvimento de testes de aceitao para vericar uma possvel relao com a usabilidade dos sistemas estudados. 3.1. Testes Automatizados 33 3.1.1 Testes de aceitao Os testes de aceitao, que possuem uma viso mais voltada para o usurio, fazem parte de uma fase do processo em que um teste de caixa-preta realizado num sistema antes de sua disponibilizao. Para isso utilizamos o cucumber, uma ferramenta que pode executar uma funcionalidades escrita em texto puro. Com base nas especicaes da funci- onalidade, o cucumber executa testes. O cucumber proporciona uma melhor comunicao entre equipe de desenvolvimento e cliente, por utilizar uma linguagem em texto puro. No cucumber, uma feature um requisito de alto nvel expressado da pespectiva de uma pessoa e possui uma estrutura similar as histrias de usurio do XP Chelimskky et al. (2010). Essa estrutura proposta da seguinte forma: 1. Ttulo: Palavra-chave feature e um ttulo curto que representa o objetivo da fea- ture. 2. Narrativa: um texto curto que demonstre os cenrios de execuo, exatamente como a narrativa de uma histria de usurio: Figura 1 Descrio do ttulo (feature) de um teste 3. Pr condies: representado pela palavra-chave background, dene os passos pre- cedem cada cenrio de teste. Figura 2 Descrio de pr condies (background) de um teste 4. Cenrios: representam parte concreta de como o software deve se comportar, e sendo a parte essencial do teste realizado no cucumber. Aps a palavra-chave sce- nario dene-se o nome do cenrio em questo: 5. Passos: Cada cenario possui uma srie de passos que demontram o seu compor- tamento, que so linhas simples iniciadas com as seguintes palavras-chaves: Given, When, Then, And, But. 6. Given: Indica uma condio inicial para que o cenrio seja executado, trata-se das pr-condies do cenrio. 34 Captulo 3. Testes 7. When: Indica o evento do cenrio 8. Then: Indica o que esperado aps o evento ocorrer. Figura 3 Descrio do cenrio (scenario) de um teste Alm do cucumber, tambm utilizado um software chamado selenium, que uma ferramenta usada para desenvolver casos de testes a partir de web browsers, como o mozilla refox. Estas duas ferramentas, cucumber e selenium, utilizadas em conjunto, proporcionam ao desenvolvedor a facilidade ao escrever os casos de testes em linguagem pura simular a execuo automtica desses testes em um web browser. Porm o cucumber no faz tudo em linguagem pura, necessrio que outro cdigo seja desenvolvido, em Ruby, fazendo par por baixo dos panos com a linguagem pura e executando os testes (AKITA, 2011). 3.1.2 Testes Funcionais e Unitrios Os testes funcionais tem como objetivo no desenvolvimento na plataforma noosfero, vericar a integrao da aplicao desenvolvida. Os testes unitrios so executados em conjunto com os testes funcionais, porm com o objetivo de vericar trechos menores de cdigos. Assim, os testes funcionais e unitrios so escritos da seguinte forma: Setup: indica as condies inciais dos testes, setando variveis de ambiente e de congurao por exemplo. Figura 4 Descrio do setup de um teste Ttulo: ttulo do teste iniciado com a palavra should e nalizado com do Passos: cdigo que dene o comportamento do teste Vericao: Assertiva que verica se a ao foi realizada como esperada. 3.2. Tcnicas de desenvolvimento de testes automatizados 35 Figura 5 Cdigo de teste 3.2 Tcnicas de desenvolvimento de testes automatizados Automao de testes uma tcnica voltada principalmente para a melhoria de qualidade dos sistemas de software. No processo de desenvolvimento de software funda- mental controlar o custo do processo de testes, para isso baterias de testes automatizados devem ser bem denidas e implementadas. Assim, importante conhecer boas prticas e tcnicas de desenvolvimento de testes automatizados. Existem vrias tcnicas de desen- volvimento de software com testes que inuenciam diretamente na qualidade do sistema. Essas tcnicas geralmente possuem um processo de atividades pequeno e simples, como TDD e BDD. 3.2.1 TDD - Test Driven Development Desenvolvimento dirigido por testes, TDD (Test-Driven Develepment), uma tc- nica de desenvolvimento de software que se d pela repetio disciplinada de um ciclo curto de passos de implementao de testes e do sistema (KOSKELA, 2007). O ciclo de TDD denido pelos seguintes passos: 1. Implementar um caso de teste; 2. Implementar um trecho do cdigo suciente para o novo caso de teste ter sucesso de tal modo que no quebre os testes previamente escritos; 3. Se necessrio, refatorar o cdigo produzido para que ele que mais organizado; A tcnica de desenvolvimento dirigido por testes foi denida no livro Test-Driven Development: By Example por Beck (2002), como representados na Figura 6. Uma boa prtica do TDD a bateria de testes, que ajuda o desenvolvedor a evitar erros de regreo, quando o desenvolvimento de uma nova funcionalidade quebra uma j existente. TDD tambm tende a contribuir com uma alta cobertura de cdigo, uma fez que o desenvolvedor precisa escrever o testes antes da funcionalidade, possibilitando a criao de um cdigo mais preciso, coeso e menos acoplado. 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 36 Captulo 3. Testes Figura 6 Ciclo de atividades TDD (BECK, 2002) 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. 3.2.2 BDD - Behavior Driven Development Desenvolvimento dirido por comportamento (BDD - Behavior Driven Develop- ment) uma prtica que recomenda o mesmo ciclo de desenvolvimento de TDD, contudo, induzindo a utilizao de uma linguagem ubqua entre cliente e equipe de desenvolvi- mento, subistituindo termos como assert, assert, test case, test suite por termos mais comuns ao cliente, como should, context, specication (BERNARDO, 2011). Embora seja principalmente uma ideia de como um processo de desenvolvimento de software deve ser gerenciado, a prtica do BDD assume a utilizao de ferramentas como suporte para o desenvolvimento de software (HARING, 2011). O BDD utiliza essas ferramentas para que os testes tenham como ponto de partida o compartamento das funcionalidade do sistema O BDD coloca em foco o comportamento em vez da estrutura de uma funciona- lidade e faz isso em todos os nveis de desenvolvimento. Uma vez que ns reconhecemos isso, muda-se a forma como pensamos sobre desenvolvimento para fora do cdigo. Assim comeamos a pensar mais sobre as interaes, sobre as pessoas e o sistema, do que sobre 3.2. Tcnicas de desenvolvimento de testes automatizados 37 a estrutura do prprio sistema (CHELIMSKKY et al., 2010). Para que o comportamento seja analisado, necessrio entender o ponto de vista do cliente/usurio, entendendo o comportamento que o sistema deve ter a partir da viso do cliente/usurio. De acordo com Chelimskky et al. (2010), estes so os trs prncipios do BDD: 1. O suciente suciente: parte da ideia de gerenciar o esfoo no planejamento inicial do sistema, para no fazer menos nem mais do que o necessrio para comear, o que se aplica tambm ao processo de automao. 2. Agregar valor s partes interessadas: Se voc est fazendo algo que no agrega valor ou que no aumenta a capacidade de agregar valor, pare e faa outra coisa em seu lugar. 3. Tudo comportamento: Do cdigo aplicao, pode-se usar o mesmo pensa- mento e as mesmas construes lingusticas para descrever o comportamento, em qualquer nvel de granularidade. O comportamento do sistema descrito em histrias de usurio, que so escritas com a participao tanto de clientes como desemvolvedores do sistema. Assim cada histria de usurio deve seguir, de certa forma, a seguinte estrutura: Ttulo: do que se trata a histria. Narrativa: deve identicar as partes interessadas para essa histria, as funciona- lidades requeridas, e o benefcio deste comportamento. A narrativa de uma histria pode ter vrios formatos. Critrio de aceitao: descrio de cada caso especco da narrativa, iniciado pela especicao da condio inicial do cenrio, seguidos pelos estados que ativam este cenrio, nalizado pelos estados esperados ao nal do cenrio. 3.2.3 Consideraes Finais Testes automatizados devem ser desenvolvidos com prioridade, buscando um r- pido 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 um estudo sobre usabilidade e como esta rea inserida no processo de desenvolvimento emprico. 39 4 Usabilidade Neste captulo abordaremos os conceitos e as reas que esto por trs do termo usabilidade e as relaes entre cada uma delas, entender a importncia e os benefcios que a usabilidade trs para os sistemas de software, apresentar os modelos de ciclo de vida utilizados na interao humano computador e mostrar como podemos inserir a usabilidade no ciclo de desenvolvimento de software emprico. 4.1 Usabilidade A usabilidade um termo que comeou a ser utilizado pela Cincia Cognitiva e depois pela Psicologia e Ergonomia em substituio ao termo amigvel (DIAS, 2006). A usabilidade um conjunto de propriedades de uma interface que rene os seguin- tes componentes: fcil aprendizado, ecincia, capacidade de memorizao, baixo ndice de erros e satifao e prazer ao uso (NIELSEN, 1994). A usabilidade tambm um atributo de qualidade relacionado facilidade de uso de algo. Refere-se a rapidez com que os usurios podem aprender a usar alguma coisa, a ecincia deles ao us-la, o quanto lembram daquilo, seu grau de propenso a erros e o quanto gostam de utiliz-la (NIELSEN; LORANGER, 2007). Ainda, usabilidade denida como o fator que assegura que um produto ou servio fcil de usar, eciente e agradvel a partir do ponto de vista do usurio (PREECE; ROGERS; SHARP, 2007). A qualidade em uso engloba o contexto do ambiente de trabalho para caracteri- zar a satisfao de uso, focando no apenas no usurio, mas em seu comportamento ao interagir com um sistema computacional. O conceito de qualidade em uso mais difundido o de usabilidade que engloba a facilidade e a ecincia de aprendizado de uso, bem como a satifao do usurio. Esse conceito de qualidade em uso defendido pela norma ISO/IEC 9126-1 (2003), que dene usabilidade como capacidade do produto de software ser compreendido, aprendido, operado e atraente ao usurio, quando usado sob condies especcas. J a norma ISO/IEC 9241-11 (2003) dene usabilidade como a capacidade de um produto ser usado por usurios especcos para alcanar objetivos especcos com eccia, ecincia e satisfao em um contexto de uso especco. Essa norma dene alguns termos que so amplamente utilizados quando trata-se de usabilidade. Eccia a capacidade que os sistemas conferem a diferentes tipos de usurios para alcanar seus objetivos em nmero e com a qualidade necessria. Ecincia a quantidade de recursos que os sistemas solicitam aos usurios para a observao de seu objetivos com o sistema. 40 Captulo 4. Usabilidade Satisfao a emoo que os sistemas proporciona, aos usurios em face dos re- sultados obtidos e dos recursos necessrios para alcanar tais objetivos. Tarefa: Objetivo a ser atingido ou um resultado a obter. Usurios: Pessoas que utilizam alguma instncia do sistema, Contexto: Conjunto de elementos, onde se destacam: o ambiente fsico, a tecnologia utilizada e a a motivao. Adicionalmente, existem metas de usabilidade que servem para guiar o desenvolvi- mento de produtos fceis de usar, ecientes e agradveis (PREECE; ROGERS; SHARP, 2007). So elas: 1. Utilidade: a medida na qual o sistema propicia o tipo certo de funcionalidade, de maneira que os usurios possam realizar aquilo de que precisam ou desejam. 2. Eccia: refere-se ao quanto um sistema bom em fazer o que se espera dele. 3. Ecincia: refere-se maneira como o sistema auxilia os usurios na realizao de suas tarefas. 4. Segurana: implica em proteger o usurio de condies perigosas e sitaes inde- sejveis. 5. Facilidade de aprendizado: refere-se a qual fcil aprender a usar o sistema. 6. Facilidade de lembrar como se usa: refere-se facilidade de lembrar como utiliza um sistema, depois de j ter aprendido como usar. Para entender o que usabilidade e como ela est inserida no ciclo de vida do desenvolvimento de software, precisamos compreender as relaes que o termo tem com as diversas reas que a envolve: Interao Humano Computador: O Termo Human Computer Interaction (HCI) co- meou a ser adotado na dcada de 1980 para descrever uma nova rea de estudo na qual se preocupavam em saber como o uso dos computadores poderia enriquecer a vida pessoal e prossional dos seus usurios (MOARES, 2002). A interao humano computador tem o principal objetivo de melhorar a eccia e proporcionar satisfao do usurio. O objetivo do HCI so desenvolver e aprimorar sistemas computacionais nos quais os usurios possam executar tarefas com segurana, ecincia e satisfao (PREECE; ROGERS; SHARP, 2007). 4.1. Usabilidade 41 Arquitetura da Informao: A informao algo que est presente no nosso dia-a- dia. Para Wurman (1991) a informao deve ser aquilo que leva compreenso. A quantidade de contedo que produzido na Internet extrapola a capacidade humana de reteno da informao. Esse excesso de informao contribui para o aumento dos problemas de usabilidade e da necessidade de pesquisa na rea de interao humano-computador (AGNER, 2004). A arquitetura da informao a arte e a cincia de estruturar, bem como, de organizar os ambientes informacionais para ajudar as pessoas a encontrarem e administrarem informaes (GARRET, 2003). O arquiteto de informao deve ser um prossional multidisciplinar com conhecimentos em design grco, cincia da informao, biblioteconomia, jornalismo, engenharia de usabilidade, marketing e cincia da computao. Ele deve balancear as necessidades do usurio com os objetivos do negcio (ROSENFELD; MORVILLE, 1998). Ergonomia: A ergonomia est na origem da usabilidade, pois visa proporcionar eccia e ecincia, alm de bem-estar e sade do usurio atravs da adaptao do trabalho ao homem. O seu objetivo garantir que sistemas e dispositivos estejam adaptados s maneiras de pensar, agir e trabalhar do usurio (CYBIS; BETIOL; FAUST, 2010) . Design Centrado no usurio: Design centrado no usurio um campo de estudo que rene metodologias de design nas quais o pblico lvo de um produto ou servio inuencia as diretrizes e requisitos do sistema (NORMAN, 2006). Para Norman (2006), cunhador do termo, o design centrado no usurio uma losoa baseada nas necessidades e interesses dos usurio, com nfase em fazer produtos usveis e inteligveis. As pessoas que utilizaro um produto ou servio sabem de suas neces- sidades, metas e preferncias, e papel do design descobrir isso para projetar para eles essa a losoa por trs do design centrado no usurio (SAFFER, 2010). Design de Interao: Uma grande parte dos produtos que necessitam da interao do usurio so feitos olhando apenas na perspectiva da engenharia e se esquecem de seus reais usurios. O design de interao surge para redirecionar a preocupao que se ti- nha apenas em produzir algo que funcionasse para produzir algo que sej fcil de uti- lizar, agrdavel e ecaz na perspectiva do usurio, trazendo a usabilidade para dentro do processo de design (PREECE; ROGERS; SHARP, 2007). O termo surgiu com Bill Verplank, que resume design de interao a partir da resposta de trs perguntas sobre: como voc age? como voc sente? como voc compreende?(MOGGRIDGE, 2006). Uma outra denio de design de interao o design de produtos interativos que fornecem suporte s atividades cotidianas das pessoas, seja no lar ou no traba- lho, ou seja, criar experincias que melhorem, estendem a maneira como as pessoas trabalham, se comunicam e interagem (PREECE; ROGERS; SHARP, 2007). 42 Captulo 4. Usabilidade Engenharia de Usabilidade: Surgiu no nal dos anos 80 com o esforo sistemtico das empresas e organizaes para desenvolver programas de software interativo com usa- bilidade. Sua origem parte de iniciativas de cientistas como Card, Moran e Newell (Modelo do processador Humano de 1983) e Norman (Teoria da Ao de 1989). O objetivo era produzir conhecimentos que favorecesse a concepo de interfaces humano-computador mais adaptadas. Podemos fazer um paralelo da engenharia de usabilidade com a engenharia de software. A engenharia de software ocupa do de- senvolvimento do ncleo funcional de um sistema interativo formado por estruturas de dados, algoritmos e recursos de processamento de dados. Esse ncleo construdo de forma que o sistema funcione bem, de forma correta, rpida e sem erros. J a engenharia de usabilidade ocupa-se da interface com o usurio que interliga as fun- es do sistema com os usurios de forma que a interface do sistema seja agradvel, intuitivo, eciente e fcil de operar (CYBIS; BETIOL; FAUST, 2010). Experincia do Usurio - UX: Toda a interao com um produto, servio ou marca. O termo usado frequentemente para sintetizar toda a experincia com um produto de software. No engloba somente as funcionalidades e sim o quanto o aplicativo agradvel ao usurio (LOWDERMILK, 2013). O termo User Experience (UX) foi cunhado por Donald Norman na dcada de 80 para cobrir todos os aspectos da expe- rincia da pessoa com o sistema. Acreditava que as denies de interface do usurio e usabilidade limitava o entendimento sobre o que o trabalho dele representava. A usabilidade est relacionada com os fatores humanos e corresponde como o estudo de como usurios se relacionam com qualquer produto. A interao humano com- putador est baseada na usabilidade e foca no modo como as pessoas se relacionam com os produtos ligados computao. As reas que trabalham com usabilidade so disciplinas transversais que agregam diversas reas do conhecimento tais como pscicologia, sociolo- gia, cincia da informao e da computao, fatores humanos, design grco e indstrial, ergonomia, comunicao e etc. 4.1.1 Avaliao de Usabilidade Os mtodos de avaliao so utilizados para avaliar a qualidade das interaes entre o usurio e o sistema, e para vericar, inspecionar e diagnosticar os aspectos ergonmicos das interfaces. As avaliaes de interface podem ser divididas de diversas maneiras como o tipo de dados, formas e o local da avaliao. Quanto a forma, pode ser denida como: Objetiva: So baseadas em tcnicas que utilizam medies quantitativas, em vez de opinies dos usurios ou especialistas. Subjetiva So baseadas em opinies e relatos de usurios e especialisatas. 4.2. Tcnicas e Mtodos da Engenharia de Usabilidade 43 Quanto ao tipo de dados, pode ser denida como: Quantitativa Envolvem medidas e tendem a ser vistas como objtivas e imparciais. Qualitativa Envolvem descries e relatos e so vistas como subjetivas. Quanto ao local da avaliao: Laboratrio Ocorre em ambientes controlados. Estudo de Campo ou natural Esto situados no contexto do mundo real no qual o sistema utilizado. Antes de denir as tcnicas de avaliao Preece, Rogers e Sharp (2007) identicam quatro tipos de paradigmas de avaliao: (1) avaliaes rpidas e sujas; (2) testes de usabilidade; (3) estudos de campos e; (4) avaliaes preditivas. Em relao as tcnicas de avaliao, Preece, Rogers e Sharp (2007) as dividem em cinco tcnicas de avaliao: (1) observao e monitoramento; (2) opinio dos usurios; (3) opinies dos especialistas; (4) testes com os usurios e; (5) Predio. J Cybis, Betiol e Faust (2010) dividem as tcnicas de avaliao da usabilidade de interfaces em trs grupos. Tcnicas prospectivas; tcnicas preditivas, diagnsticas, analticas e inspeco e as objetivas, denitivas e empricas. De acordo com Preece, Rogers e Sharp (2007) cada mtodo de avaliao possui caractersticas e pode ser aplicado em diferentes situaes. Eles diferem entre si em vrios aspectos. preciso entender as diferentes caracteriticas de cada mtodo para se denir qual deles o mais apropriado para avaliar a interface de um software em um determinado contexto. Cada mtodo pode se diferenciar pela etapa do ciclo que pode ser aplicado, a tcnica utilizada para coletar dados e os tipos de dados coletados (quantitativa ou qualitativa). 4.2 Tcnicas e Mtodos da Engenharia de Usabilidade Esta seo mostra as tcnicas e os mtodos que so utilizados pela interao hu- mano computador para desenvolver um sistema com usabilidade. De acordo com BERVIAN, Cervo e SILVA (2002) as tcnicas so procedimentos especcos utilizados por uma cincia determinada. O conjunto com vrias tcnicas constituem os mtodos. Algu- mas tcnicas so utilizadas em vrias cincias e os mtodos se adapta s diversas cincias a medida que h imposio de uso de tcnicas especializadas. Cybis, Betiol e Faust (2010) divide as tcnicas e os mtodos da engenharia de usabilidade em trs tipos: Concepo, Anlise e Avaliao. 44 Captulo 4. Usabilidade 4.2.1 Mtodos e tcnicas de concepo Os mtodos de concepo so utilizados para implementar as especicaes e os requisitos para a interface a usabilidade de um sistema. Brainstorming: Bastante utilizado em ambientes geis para obter ideias, entrar em consenso sobre problemas ou novas propostas. Storyboard: uma representao das interaes entre os usurios e o sistema em seu ambiente de trabalho. Corresponde ao detalhamento de um cenrio de uso especi- cado para o sistema consistindo em uma sequncia de desenhos representando no s os esboos de telas, mas tambm os elementos do contexto (usurios, equipamentos, mveis, telefones, colegas). Card Sorting: uma tcnica usada para descobrir como o usurio classica determi- nada informao em sua mente. O usurio recebe uma srie de cartes embaralhados descrevendo contedos e agrupam os cartes que tenham alguma relao. Podem ser distribuidos cartes com nomes de categorias. O card sorting pode ser aberto ou fechado podendo ser aplicado tanto de forma presencial ou remota e aplicados para grupos ou para uma nica pessoa. Recomenda-se no mnimo 15 testes e que cada teste tenha 2 pessoas. 1 Diagramas de Anidade: So utilizados para organizar uma grande quantidade de itens em grupos lgicos. Diferente do card sorting, nesta tcnica os projetistas e usurios trabalham juntos para obter consenso sobre a organizao dos itens. Essa tcnica pode ser usada para analisar os resultados de estudos de campo e analisar as concluses de uma avaliao de usabilidade. Prottipos: Os prottipos de papel so teis para detectar problemas de usabilidade logo no incio do proceso de design. So usados para esclarecer os requisitos especcos para o projeto da interface do sistema. So rpidos de construir, permitindo rpidas interaes de projeto e necessitam de poucos recursos para serem criados. Existem tambm os prottipos de baixa, mdia e alta que simulam o sistema com mais delidade do que os prottipos em papel. 4.2.2 Mtodos e tcnicas de anlise Estes mtodos so utilizados para buscar informaes sobre o contexto de uso e sobre a usabilidade de um sistema. Podem ser feitas anlises do perl do usurio, o ambiente de uso, as tarefas, possibilidades e restries do sistema. 1 <www.uxdesign.blog.br> 4.2. Tcnicas e Mtodos da Engenharia de Usabilidade 45 As tcnicas mencionadas baixo visam apoiar os projetistas de interface na busca de informaes sobre o contexto de uso e sobre a usabilidade de um sistema existente. Essas tcnicas so empregadas de forma que se complementem-se umas as outras. Observao: Essa tcnica caracteriza-se por um pesquisador observando o usurio e to- mando notas, enquanto este trabalha em seu contexto usual. uma tcnica til para obter dados quantitativos (tempo para as tarefas) e qualitativos (prticas e estrat- gias do usurio). No planejamento importante denir os objetivos e as maneiras de como ser registrada os acontecimentos. Deve-se levar em considerao o fato que muitos usurios por estarem sendo observados podem alterar seu comportamento ao utilizar a ferramenta. importante que todos estejam cientes dos objetivos do estudo, deixando claro que no ele que ser avaliado e sim conhecer uma situao de uso (CYBIS; BETIOL; FAUST, 2010). Entrevistas Tradicionais: Atravs de entrevistas podemos obter as opinies tanto dos usurios atuais como dos futuros usurios dos sistemas. Primeiramente importante identicar as necessidades das pessoas em acessar uma determinada informao. Eyetracking: uma tcnica que rastrea o movimento dos olhos e da cabea para regis- trar a tomada de informaes numa interface. Questionrios de Perl de Uso: utilizado para obter informaes sobre as caracte- risticas reais dos usurios de um sistema e saber como eles realmente utilizam tais ferramentas. importante que ao utlizar os questionrios de perl de uso preciso denir um foco para a sua pesquisa. Deve-se identicar as principais dvidas da equipe de projeto em relao ao uso do sistema (CYBIS; BETIOL; FAUST, 2010). Este tipo de questionrio pode ser enviado para os emails dos usurios da ferra- menta em anlise. importante denir o tamanho de sua amostra. De acordo com Cybis, Betiol e Faust (2010), de 20 a 30 por cento a taxa de retorno dos questio- nrios enviados. As respostas podem ser analisadas utilizando mtodos estatsticos. Questionrios de Satisfao: A aplicao de questionrios um dos mtodos mais uti- lizados para avaliao da satisfao do usurio. Eles resultam da avaliao subjetiva pelo usurio, o qual inuenciado pelos tipos de questes aplicadas. Questionrios de satifao so utilizados principalmente quando existem usurios experientes que utilizam o sistema com frequncia, podendo ter informaes de- digna sobre aspectos satisfatrios e insatisfatrios no sistema. Tambm podem ser aplicados por usurios de uma nova verso de um sistema imediatamente aps um teste de usabilidade. Essa relao com os testes de usabilidade interessante por per- mitir a correlao das medidas de desempenho (tempo, frequncia) com as medidas de satifao do usurio (CYBIS; BETIOL; FAUST, 2010). 46 Captulo 4. Usabilidade recomendado que se utilize um questionrio padronizado, pois permite a compa- rao 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 cient- ca 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 funci- onalidades ou algum problema especco. Um moderador deve preparar um roteiro com uma lista de assuntos a serem tratados. importante que os participantes se- jam 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 usrios 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 ava- liao de sistemas reconhecidos como representantes das melhores e mais ecazes paticas 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 representan- tes relevantes para criar uma listagem de caracteristicas 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 determi- nado 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). 4.2. Tcnicas e Mtodos da Engenharia de Usabilidade 47 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 infor- maes 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). 4.2.3 Tcnicas e Mtodos de avaliao Checklists: 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 repe- titivos (CYBIS; BETIOL; FAUST, 2010). Vrias vantagens so encontradas na utilizao dessa tcnica como: reduo de custos de avaliao por no precisar de especialistas; sistematizao das avaliaes; reduz a subjetividade dos processos de avaliao e fornece um conhecimento ergonmico sobre o que avaliar. O Ergolist 2 um aplicativo que pode ser utilizado para realizar uma inspeo da qualidade ergonmica da interface com o usurio do sistema. Avaliao heurstica: Representa um julgamento de valor sobre as qualidades ergon- micas das interfaces Humano-Computador. Essa avaliao realizada por especialis- tas em ergonomia e usabilidade. Eles examinam o sistema interativo e diagnosticam os problemas ou as barreiras que os usurios provavelmente encontraro durante a interao (CYBIS; BETIOL; FAUST, 2010). O principal objetivo desse tipo de avaliao avaliar a interface em fases iniciais do sistema, sem o envolvimento do usurio. Os graves problemas de interface devem ser localizados antes que realizem os testes de usabilidade com usurios reais (SANTOS, 2012). As avaliaes mais utilizadas so as 10 heursticas de Nielsen (1994). So elas: Visibilidade de acordo com o sistema Mapeamento entre o sistema e o mundo real Liberdade e controle ao usurio Consistncia e Padres Preveno de Erros 2 <http://www.labiutil.inf.ufsc.br/ergolist/check.htm> 48 Captulo 4. Usabilidade Reconhecer em vez de relembrar Flexibilidade e Ecincia de uso Design esttico e minimalista Suporte para usurio reconhecer, diagnosticar e recuperar erros Ajuda e documentao Pesquisas realizadas por Jakob Nielsen fornecem indicaes sobre a quantidade de avaliadores que devem ser consultados para que possam indenticar grande parte dos problemas de ergonomia. Cinco avaliadores com experincia tanto em usabilidade como no sistema consegue identicar 95 por cento dos problemas de ergonomia enquanto especialistas que conhece apenas de usabilidade identicam 85 por cento. Figura 7 Nmero de avaliadores (NIELSEN, 1994) A avaliao heurstica requer pouco planejamento e pode fazer parte de um pro- cesso interativo de um projeto e aplicado em todas as fases de desenvolvimento da interface, mas preciso que seja avaliado por especialistas de usabilidade com pleno conhecimento nas heursticas. Listas de Vericao: Permitem que prossionais que no necessariamente sejam espe- cialistas em ergonomia identiquem problemas menores e repetitivos das interfaces. As normas ISO 9241, partes 10 a 17, fornecem listas de vericao de ergonomia bem denidas, assim como as fornecidas pelo site Ergolist (CYBIS; BETIOL; FAUST, 2010). Percurso Cognitivo: Percurso cognitivo um mtodo de inspeo de usabilidade que tem como objetivo avaliar a interface considerando a facilidade da interface. A - nalidade do percurso cognitivo fazer com que o design de interao seja fcil de 4.3. Testes de Usabilidade 49 aprender por meio da explorao. Os inspetores aplicam uma lista de vericao orientada tarefa interativa, abordando os processos cognitivos que se estabelecem quando o usurio a realiza pela primeira vez (CYBIS; BETIOL; FAUST, 2010). Teste de Usabilidade: 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). O teste consiste em avaliar o desempenho dos usurios na execuo de tarefas cuidadosamente preparadas, tarefas estas dentro do escopo do sistema. Esse desempenho pode ser avaliado no quesito, nmero de erros e tempo de execuo da tarefa, questionrios e entrevistas tambm podem ser utilizados (PREECE; ROGERS; SHARP, 2007). Na prxima seo ser detalhado os passos comuns que devem ser seguidos para a execuo dos testes de usabilidade. As tcnicas descritas nesse captulo podem ser associadas com vrias outras tcni- cas e para a escolha de cada tcnica importante examinar as possibilidades dos recursos necessrios e os disponveis e as expectativas de resultados da avaliao da usabilidade. Cada tcnica apresentam qualidades diferentes em relao quantidade de problemas que as indenticam, sistematizao dos resultados, facilidade da aplicao. No estudo de caso detalhado e planejado no prximi captulo separamos algumas tcnicas que podem ser utilizadas na avaliao da usabilidade e na identicao dos usurios. 4.3 Testes de Usabilidade Existem vrios tipos de testes de usabilidade, mas sabe-se que todos eles tm algo em comum, que observar as pessoas utilizando algo. Escolher abordagem As abordagens de pesquisa podem ser de dois tipos: quantitativa ou qualitativas. As pesquisas quantitativas so focadas nos dados numricos e voltada para fornecer alta conana e resultados repetidos dentro de seus grupos de usurios. preciso ter o envolvimento de um nmero maior de participantes para contar as variaes que voc encontrar de indivduo para indviduo (UNGER; CHANDLER, 2009). As pesquisas qualitativas no so focadas em nveis de segurana e da possibilidade de repetio, mas sim ganhar contexto e percepo considerando o comportamento do usurio. Ela depende da interpretao do projetista sobre as descobertas, a intuio e o senso comum (UNGER; CHANDLER, 2009). Os testes quantitativos so como experimentos cientcos que precisam ser rigorosos ou os resultados no sero conveis. Deve-se denir um protocolo de teste e segui-lo 50 Captulo 4. Usabilidade consistentemente para todos os participantes (KRUG, 2010). Nos testes qualitativos voc tenta minimizar a quantidade de interao com o participante para evitar a inuncia nos resultados (KRUG, 2010). Para os testes de usabilidade possvel utilizar qualquer uma das abordagens, mas a qualitativa a mais acessvel para aqueles que no tiveram um treinamento em mto- dos cientcos mais formais e oferece uma rica fonte de dados (UNGER; CHANDLER, 2009). Planejar a pesquisa Algumas questes devem ser respondidas ao criar o teste de usabilidade: Estas questes te ajudam a oferecer foco e escopo. Abaixo algumas perguntas que devem ser respondidas no planejamento de sua pesquisa: Dena seu objetivo: Por que voc est testando? Dena Usurios: Quem voc est testando? Dena o mtodo para representar sua aplicao: O que voc est testando? Quais informaes voc est reunindo? Nas pesquisas qualitativas geralmente queremos compreender as questes que os usurios podem encontrar, os nveis de frustaes que eles podem experimentar e a gravidade de um problema em particular. Para os testes qualitativos devem se pensar em medidas que sero possveis de ser respondidas com cinco usurios (UNGER; CHANDLER, 2009). Taxa de Sucesso: O grau em que o usurio foi capaz de completar a tarefa? Satisfao do usurio Usurios Existem algumas diretrizes que podem ser adotadas para a denio da quantidade de usurios. Nielsen (1994) deniu algumas dessas diretrizes: No teste quantitativo planeje uma quantidade maior de participantes. Em m- dia 20 por rodada de pesquisa. No teste qualitativo suciente ter entre 5 e 8 participantes. Krug (2010) defende a ideia de que trs usurios so ideais para realizao de testes de usabilidade para quem est realizando o teste por conta prpria. Ele arma que mais fcil encontrar trs participantes do que uma quantidade maior e que bem provvel que eles j encontrem muitos dos problemas signicaticos relacionados as tarefas que voc est testando. 4.3. Testes de Usabilidade 51 Em equipes geis, o teste com o usurio realizado com o cliente do projeto e envolve o especialista em usabilidade como mediador do teste (SANTOS, 2012). Recrutamento e logstica Depois de ter feito o plano de pesquisa e denido os tipos de usurios que podem ser inseridos na pesquisa hora de recrutar os participantes. Para o recrutamento de participantes interessante gerar uma lista com os potenciais participantes do teste. Essa lista pode vir de usurios registrados do site da empresa relacionada; informa- es de contatos do cliente; e-mails para conhecidos que tenha relao com o assunto do teste; requisies em pequenas pesquisas que pr-qualicam os participantes, e etc. (UNGER; CHANDLER, 2009). Voc pode realizar uma ltragem com os participantes potenciais antes de seleciona- los. As perguntas do questionrio de ltragem devem ser voltadas para: Garantir que o participante seja um usurio das funes em que voc est testando. Determinar se ele se encaixa em um dos seus grupos de usurios. Ajudar a ter uma boa mistura de participantes. O questionrio de perl de usurio pode ser utilizado para realizar essa ltragem de participantes. Criao de guias de discusso Para a execuo do teste de usabilidade preciso que as instrues estejem claras aos participantes, contendo todas as informaes especcas que ele precisar para completar as tarefas com sucesso. Os seus materiais de teste deve incluir: Formulrio de consentimento para gravao de vdeo Guia de discusso para o participante, com tarefas detalhadas e perguntas sobre a satisfao do usurio. Questionrios 4.3.1 Teste da Usabilidade vs. Teste de Aceitao do Usurio (UAT) O teste de usabilidade e teste de aceitao do usurio muitas vezes so confundidos. O UAT pode trazer as questes de usabilidade, mas no o nico mtodo para ser utilizado em um projeto. Por ser feito tardiamente as mudanas baseadas em UAT 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 do teste de aceitao 52 Captulo 4. Usabilidade do usurio servir como uma vericao nal de que a aplicao atendeu aos requisitos funcionais estabelecidos pelo cliente (PREECE; ROGERS; SHARP, 2007). 4.4 Processos de Usabilidade Alguns autores como Mayhew (1999) e Hix e Hartson (1993) proposeram mode- los de processo baseados em ciclo de vidas bem denidos para as atividades de usabili- dade.Outro modelo muito utilizado para descrever processos de usabilidade o proposto pela norma ISO/IEC-13407 (1999). 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). 4.4.1 Modelo Estrela Proposto em 1989 por HIX; HARTSON, o modelo de ciclo de vida estrela derivou do trabalho emprico de entender como os designers lidavam com os problemas de design em IHC. Eles observaram dois diferentes modelos de trabalho: analtico e o sinttico. O primeiro parte-se da viso do sistema para a viso do usurio, j o segundo da viso do usurio para a do sistema (CYBIS; BETIOL; FAUST, 2010). No modelo estrela no h especicao de ordenamento de atividades. Pode-se ir de uma atividade outra h qualquer momento, desde que passe primeiramente pela avaliao. Sempre que uma atividade for completada deve-se avaliar o seus resultados. Figura 8 Ciclo de Vida Estrela 4.4. Processos de Usabilidade 53 4.4.2 O ciclo de vida da Engenharia de Usabilidade - Mayhew O ciclo proposto por Mayhew (1999) oferece uma viso holstica acerca dessa engenharia e uma descrio detalhada de como podemos realizar os testes de usabilidade 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 perl 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, sistems operacionais e etc. Anlise dos princpios gerais para o projeto: Atividade relacionada pes- quisa 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 nivis 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. 4.4.3 Design Centrado no Usurio O DCU surgiu da IHC e consiste em uma metodologia de design de software para desenvolvedores e designers. Foi denida pela norma ISO 13407 (Human Centered Design Processes for Interactive Systems) e tem como objetivo denir um processo necessrio ao desenvolvimento de produtos fceis de utilizar na qual deve envolver os usurios no processo de desenvolvimento e na avaliao dos produtos. 54 Captulo 4. Usabilidade Sabemos que a cincia experimental que utiliza-se dos mtodos empricos tradi- cionais para coletar dados e testar hipteses sobre o comportamento humano aplicam-se de vrias tcnicas em nome de pessoas. Essa abordagem preocupada 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 Design Centrado no usurio (DCU) diferente dos mtodos empricos tradicio- nais que tem o usurio apenas como referncia, 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. Deve-se iniciar com usurios e suas necessidades em vez de comear com a tecnologia. Lowdermilk (2013) arma que para criar produtos que os usurio amem, necessrio incluir os usurios no processo de criao dos produtos". Gould e Lewis (1985) estabeleceram alguns princpios para o desenvolvimento centrado no usurio na decada 70 que so utilizados at hoje que so: Foco desde o inicio nos usurios e nas tarefas, medidas empiricas e design interativo. O processo do design centrado no usurio pode ser dividido em 3 fases: anlise, desenvolvimento e ps-liberao. 4.4.3.1 ISO 13407 e 9241-210 A ISO 13407 dene um processo geral para incluir atividades centradas em humano atravs do ciclo de vida de desenvolvimento sem especicar mtodos exatos (SANTOS, 2012). A norma caracterizada por quatro princpios: Ativo envolvimento do usurio; alocao apropriada de funes entre usurios e tecnologia; Testes de soluo de design; design multidisciplinar. Em 2010 essa ISO foi revista e renomeada para a ISO 9241-210. 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 13407 prope que o envolvimento do usurio seja uma prtica frequente em empresas que desenvolvem sistemas interativos. 4.5. Aplicao de usabilidade em mtodos geis 55 Figura 9 Ciclo do design centrado no humano - Norma ISO 13407 4.5 Aplicao de usabilidade em mtodos geis Os mtodos geis uma abordagem de desenvolvimento que tm como princpios um conjunto de valores com foco no cliente e nas pessoas envolvidas, na entrega constante de software funcional, no desenvolvimento iterativo baseado em ciclos curtos de entrega e na aceitao da constante mudana dos requisitos ao longo do desenvolvimento. Tanto os mtodos geis e o IHC tem esses mesmos prncipios, o que seria interes- sante a aplicao das tcnicas utilizadas em IHC no contexto de uma abordagem gil. Essa semelhana entre os valores proporciona um quadro favorvel integrao minimalista de paticas de IHC em ambientes geis. Podemos citar alguns desse valores como por exem- plo: (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 ge- ralmente a avaliao de usabilidade feita em pares (BARBOSA; FURTADO; GOMES, 2008). Segundo Cybis, Betiol e Faust (2010) as caractersticas da abordagem gil facili- tam na utilizao da ergonomia e da usabilidade durante o desenvolvimento de software, mas arma que os ergonomistas e engenheiros de usabilidade devero adaptar suas tcni- cas de anlise, modelagem, projeto e teste adotando-se os preceitos do manifesto gil. As adaptaes so realmente necessrias, principalmente na questo da granula- ridade da pesquisa, no tempo gasto com ela e na maneira de relatar as descobertas de usabilidade (SANTOS, 2012). Hodgetts (2005) arma que os mtodos geis so quase sempre apresentados sob a viso dos programadores, deixando de lado outras disciplinas como a UED (User Experience design). Ele discute em seu artigo as experincias na integrao de prticas do Desig da experincia do usurio em iniciativas de processos geis em organizaes que 56 Captulo 4. Usabilidade utilizam XP e Scrum. 4.5.1 Estudos correlatos Alguns estudos foram feitos tentando fazer essa integrao da usabilidade em m- todos geis. Constantine e Lockwood (2002) foi um dos primeiros a iniciar a discusso sobre o tema. Sua proposta mostrar que UCD est prontamente integrado aos mtodos ditos leves". Ele arma que XP e os demais mtodos geis compartilham das mesmas fraquezas apresentadas por processos tradicionais como o processo unicado quando se refere usabilidade e ao desenho de interface do usurio. Memmel, Gundelsweiler e Reiterer (2007) mostram que possvel unir IHC e engenharia de software sob a perspectiva gil com a utilizao de um ciclo de vida de interface de usurio multidisciplinar e de Engenharia de softwre chamado CRUISER. Lee, Judge e McCrickard (2011) relata em seus estudos a utilizao da aborda- gem de usabilidade gil eXtreme Scenario-based design (XSBD) na qual concluram que os desaos que o time encontrava eram relacionados comunicao, colaborao e com- partilhamento de informao. Wolkerstorfer et al. (2008) em seu estudo mostra adaptaes feitas ao processo do XP. Ele integrou cinco instrumentos de IHC com o processo do XP. Os instrumentos so: testes de unidade estendidos para avaliao de usabilidade automatizada; Extreme Personas (variao do mtodo clssico de personas); estudos de usurios para tomar co- nhecimento sobre o usurio nal; avaliaes feitas por especialistas em usabilidade e testes de usabilidade com usurios. LEITE (2013), analisou a utilizao de mtodos de inspeo da usabilidade no contexto de uma startup. Foi abordado duas modalidades de avaliao heuristica nessa pequan empresa de desenvolvimento de software que utiliza o mtodo gil Scrum. Como concluso do estudo, relataram que a avaliao tradicional encontrou mais problemas de usabilidade e maior nmero de heursticas violadas.J na avaliao heurstica colaborativa as mdias de severidades atribuidas pelos avaliadores eram maior, no qual encontravam mais problemas srios do que na avaliao tradicional, alm de o tempo gasto foi menor do que na tradicional. A avaliao colaborativa apresentou caractersticas que permitia a melhor integrao com ambientes geis. 4.5.2 DCU gil Pode ser denido o DCU gil como a prtica de design centrado no usurio quando conduzida dentro de uma metodologia ou losoa de desenvovlimento gil de software (SANTOS, 2012). O ciclo de DCU gil foi proposto por Sy (2007) e integra tantos as ati- 4.5. Aplicao de usabilidade em mtodos geis 57 vidades de DCU como as de desenvolvimento em um nico ciclo, trabalhando nas mesmas caractersticas e garantindo que as investigaes de usabilidade sero tratadas durante a interao. Segundo Naja e Toyoshiba (2008) o design centrado no usurio pode ser in- corporado no desenvolvimento gil sem grandes impactos no processo. No mtodo de desenvolvimento gil scrum, uma funcionalidade desenvolvida, testada e documentada em uma sprint assim como no design centrado no usurio. Segundo Santos (2012) o grande desao do DCU gil encontrar a melhor maneira de realizar as atividades de pesquisa do usurio, design de verses que atendem as necessidades dos usurio, constru- o de verses interativas e realizao de testes de usabilidade, dentro de um ambiente de desenvolvimento com mtodos geis, tendo a participao dos usurios tipicos em todas as atividades. O termo experincia do usurio utilizado na comunidade gil para qualquer atividade relacionada com a pesquisa do usurio, DCU, usabilidade, design de interfaces.A utilizao do termo no indica que eles realizam todas as atividades de UX (SANTOS, 2012). Segundo Dickinson e Kunama (2010) a chave para a integrao de DCU com mtodos geis assegurar que os resultados da pesquisa de usurio so comunicados e entendidos de forma ecaz dentro de uma equipe gil. 4.5.3 DCU e XP Foram encontrados alguns estudos que descrevem a integrao do IHC com as prticas de Programao Extrema (XP). Segundo McInerney e Maurer (2005) mtodos geis e design centrado no usurio possuem uma cultura distinta mas eles mostraram que possivel unir essas duas abordagens. O processo de usabilidade gil integrar os instrumentos de IHC dentro dos pro- cessos clssico de XP. Em 2008 foi proposto uma metodologia revisional institulada XPlus que insere as tcnicas de design e de usabilidade em determinadas fases do ciclo de desen- volvimento de software.O XPlus agrega algumas prticas de User Experience s prticas tradicionais de XP. A gura mostra uma viso geral do processo de desenvolvimento de software de XPlus (GUIMARAES; CHAVES, ). Essa metodologia considera a interface um dos aspectos mais importantes de um software.Ela envolve as novas paticas de UX no processo natural de XP. O papel de designer de interao no reconhecido no ncleo XP da equipe e o XP no tem nenhum processo explcito para lidar com o design de interao.Em seu estudo Ferreira, Noble e Biddle (2007) relatam como as equipes combinaram as atividades de de- sign de interao com o XP. A natureza iterativa de desenvolvimento XP necessrio que os designers de interao tem envolvimento contnuo com o desenvolvimento do produto inuenciou a natureza da relao entre os designers de interao e os desenvolvedores. 58 Captulo 4. Usabilidade Figura 10 Viso geral do processo de desenvolvimento de software de XPlus Vasconcelos, Garcia e Turnell (2003) descreveram um processo gil centrado em usabili- dade chamado XPU no qual tinha como objetivo prover equipe de desenvolvimento um modelo para a construo de sistemas de software centrado no usurio que valorizasse a usabilidade como caracterstica fundamental da qualidade. O XPU serve para guiar o time de desenvolvimento, passo a passo em todo o projeto, seguindo tcnicas e artefatos simplicados am de no se ter apenas sistemas portteis reutilizaveis ou acoplados, mas sim com uma interface que reetiam as carac- tersticas e as necessidades dos usurios. Um problema encontrado na sustentao do processo de desenvolvimento baseado em tcnicas bem denidas, oq eu contraria o mani- festo gil. 4.6 Princpios geis aplicados ao Design centrado no usurio Alguns princpios e boas prticas de mtodos geis foram levantadas para a apli- cao no design de sistemas centrado no usurio. 1. Coompreender e identicar as necessidades reais dos usurios O Objetivo dessa etapa conhecer o usurio alvo. Deve-se projetar ferramentas que iro dar suporte aos objetivos e atividades das pessoas. Algumas tcnicas so utilizadas para identicar as necessidades dos usurios como a observao natural que serve para responder a questo do tipo: o que e como as pessoas fazem? E as entrevistas que responde o que as pessoas pensam e dizem. Os resultados da pesquisa devem ser comunicados para a equipe. 2. Focar na essncia 4.6. Princpios geis aplicados ao Design centrado no usurio 59 O foco na essncia ajuda a desenvolver solues que atendem s reais necessidades dos usurios diminuindo os riscos de desenvolvimento de funcionalidades com pouco ou nenhum uso. A ideia desse princpio que deve-se comear a desenvolver apenas pelo que essencial, comeando pela menor unidade de um sistem sem perder a viso de um todo. 3. Iterar mais rpido importante colocar o produto nas mos dos usurios para se ter um feedback o mais cedo possvel. Quando a iterao feita de forma rpida e comeando cedo podemos identicar os problemas com antecedncia o que diminui o tempo com retrabalho e evita que o produto no atenda aos usurios. 4. Criar designs alternativos Rettig em 1994 disse que para ter uma boa idia preciso que se tenha vrias". A ideia do autor da frase que devemos pensar e criar vrias solues para um mesmo problema am de que possa ter mais possibilidades de escolha. 5. Prototipar em baixa resoluo Os prottipos de baixa resoluo permite visualizar uma soluo de forma mais r- pida e concreta economizando tempo de design e desenvolvimento. Esses prtotipos ajuda a comunicar e entender idias e serve para validar uma soluo. A prototipa- o aumenta a comunicao entre a equipe de desenvolvimento e os usurios nais, funcionando como uma alternativa barata"para explorar alternativas de desenho. Um exemplo de prtotipo de baixa delidade seria os storyboards que foi detalhado na seo de tcnicas de usabilidade. 6. Menos documentao, mais comunicao essencial que tenha uma boa comunicao em todo o processo entre os desenvol- vedores, designs e stakeholders envolvidos no projeto. 7. Testes de usabilidades geis Os testes de usabilidade devem ser feitos em todos os ciclos do projeto. Recomenda- se que os testes sejam feitos mais vezes e que seja menos formal como so feitos atualmente. Os resultados encontrados nos testes deve ser comunicado equipe para que possa corrigir os erros graves rapidamente. 8. O m no o lanamento No m de cada ciclo lana-se o mnimo adequado s necessidades reais dos usurios. Ao observar o uso real identicamos que existem novas formas para usar a ferramenta e podemos propor novas melhorias para o sistema. 60 Captulo 4. Usabilidade 4.7 Consideraes nais A integrao entre os processos de usabilidade e mtodos geis esperada e possvel visto que tanto os mtodos geis como os processo de usabilidade em em comum carac- tersticas 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. 61 5 Estudos de Caso Neste captulo, apresentaremos os estudos que esto em andamento ao colaborar- mos com a plataforma livre Noosfero (cujo processo de desenvolvimento foi descrito na seo 2.1.1), explicitando alguns resultados iniciais, desta primeira fase do trabalho. O estudo deste trabalho, nesta primeira fase, foi baseado nos seguintes ambientes de rede social que utilizam a plataforma noosfero: o portal Participa.Br 1 , para as obser- vaes sobre a usabilidade do Noosfero; a rede Comunidade.UnB 2 e o Portal UnB Gama 3 , para as observaes sobre os testes automatizados no Noosfero; O Portal da participao Social (Participa.Br) um portal que agrega informaes sobre oportunidades de participao social no governo federal e estimula a formao de co- munidades em torno de temas ligados participao. Informa sobre as consultas pblicas, oferece ambientes para interao em vdeo e chat em eventos de governo. um repositrio das metodologias das conferncias de polticas pblicas. O Participa.Br capta demandas da sociedade que no passem, necessariamente, pelos uxos formais de participao. uma plataforma para ampliar o debate entre a sociedade civil e o governo. A rede Comunidade UnB, que se encontra em ambiente de testes, porm disponvel para acesso externo, uma instncia do Noosfero instalada atravs de um pacote em um servidor do Centro de Difuso de Tecnologia e Conhecimetno (CDTC) 4 da UnB. O pro- psito da rede Comunidade UnB tornar-se um ambiente de colaborao entre os alunos da Universidade de Braslia, tanto de graduao quanto de ps-graduao, possibilitando criao comunidades e blogs para discusses, ou a disponibilizao de artigos, trabalhos de graduao e ps-graduao onde qualquer membro da universidade tenha acesso. O Portal UnB Gama um portal utilizado pela Faculdade do Gama da UnB para publicaes de notcias sobre a prpria faculdade, realizao de eventos e divulgao de palestras. 5.1 Estudo sobre Usabilidade: Participa.Br O Objetivo Global deste estudo de usabilidade analisar a interao dos usurios com o portal Participa.Br a m de avaliar a qualidade em uso do portal. O Objetivos de Medio so (1) conhecer quem so os usurios do Participa.Br (2) vericar problemas de usabilidade no Participa.Br; (3) avaliar de forma subjetiva o grau de satisfao dos 1 Participa.Br 2 comunidade.unb.br 3 fga.unb.br 4 <cdtc.org.br> 62 Captulo 5. Estudos de Caso usurios com a utilizao do portal Participa.Br. O objetivo deste estudo em si analisar o Participa.Br, com propsito de avaliar qualidade em uso (ISO/IEC 9126-4), com respeito satisfao do usurio, do ponto de vista de usurio, no contexto de portais governamentais. A partir dos objetivos de medio estabelecidos, foram denidas questes sobre o que preciso saber de forma a apoi-la a entender se o objetivo especco foi alcanado. Assim, para cada questo foram denidas as mtricas relacionadas na Tabela 1: Questes Mtricas Diretrizes para interpretao Q1. Qual o perl do usurio que utiliza o Participa.Br? Perl Anlise de Dados Estatsticos, criao de personas, anlise dos dados qualitativos. Q2. Qual o grau de satisfao do usurio que utiliza o Participa.Br Grau de satisfao do usurio Escore da satisfao global pelo usurio (OVERALL) Q3. Quantidade de tempo gasto para realizar as tarefas Durao Tempo gasto Tabela 1 Questes de Pesquisa Foram levantadas algumas hipteses para este estudo experimental no Participa.Br: 1. A mdia do grau de satisfao dos usurios que j utilizaram o portal seria maior do que quem nunca utilizou? 2. O grau de satisfao dos usurios que j tinha contato com o portal diferente dos que nunca tiveram acesso? Estas hipteses foram criadas inicialmente pensando em vericar a diferena na satisfao entre um usurio que j utilizou o portal com um usurio que nunca utilizou. Em relao a seleo dos indivduos na primeira fase do experimento sero escolhidos pessoas com diferentes pers que trabalham na Presidncia da Repblica e que j utilizaram o Participa.Br. Na segunda fase seriam escolhidas pessoas que nunca utilizaram o portal. 5.1.1 Metodologia Do ponto de vista de metodolgico, elencamos algumas tcnicas para identicamos o perl dos usurios do Participa.Br: 1. Dados Estatsticos (Google analytcs, Piwiki, entre outros): Atravs dos dados estatisticos possvel identicar algumas informaes sobre o perl dos usurios que acessam o portal. Nas pesquisas quantitativas no so necessrios o contato direto 5.1. Estudo sobre Usabilidade: Participa.Br 63 com o usurio. Esses dados estatsticos podem ser coletados de base de dados, redes sociais ou sistemas de anlises de sites. 2. Questionrio de identicao de perl dos usurios: Para identicar o perl dos usurios do Portal da Participao social necessrio realizar uma pesquisa qua- litativa para levantamento das principais caractersiticas contextuais dos usurios tpicos, de modo a comprender quem so, qual o conhecimento e experincia com a internet e como utilizam para realizar seu trabalho acadmico ou prossional. A re- alizao dessa pesquisa ser feita com os usurios do Portal da Participao Social. A anlise do questionrio servir para entender o perl dos usurios do Portal da participao social, atravs da investigao de seus interesses. Foi levantado tambm algumas questes referentes ao uso das funcionalidades do Participa.Br. 3. Identicao de Personas: Para a denio de usurios podemos utilizar a tc- nica de Persona que so personagens ctcios criados com base em dados reais. Os Personas atuam como representantes dos usurios reais e representam as neces- sidades de um grupo maior. A utilizao de Personas permite ter um maior foco no usurio, deixando o projeto centrado no usurio. utilizado para a identicao de requisitos, criao de cenrios e user stories. As medidas de usabilidade neste estudo foram obtidas considerando-se trs fatores: eccia, ecincia e satifao de uso. Adotamos como paradigma de avaliao o teste de usabilidade, que consiste em avaliar o desempenho dos usurios na execuo de tarefas cuidadosamente preparadas, dentro do escopo do sistema. Esse desempenho pode ser avaliado nos quesitos: nmero de erros e tempo de execuo da tarefa. Os dados obtivos consistem em medidas de tempo e desempenho dos participantes. Elencamos algumas tcnicas para avaliar a usabilidade do portal Participa.Br: Tcnica Descrio Observar Usurios Um observador ir registrar o tempo gasto por cada par- ticipante para concluir o estudo de caso, avaliar a ferra- menta e se necessitou de alguma ajuda Perguntar aos usurios Os questionrios ASQ e PSSUQ de satisfao dos usu- rios ser utilizado para coletar as opinies dos partici- pantes. Tabela 2 Tcnicas de avaliao para os testes com usurios Segundo as pesquisas realizadas no captulo 4 sobre tcnicas de avaliaes de usa- bilidade, importante que antes que execute um teste de usabilidade seja feito uma avaliao da usabilidade por parte de especialistas de usabilidade. Atravs das Heurs- ticas de Usabilidade de Nielsen e das listas de vericao,so vericados os problemas inerentes ao Participa.Br. 64 Captulo 5. Estudos de Caso Levantamos algumas tarefas/cenrios que devem ser executadas para a realizao do teste de usabilidade com o objetivo de medir a satisfao relativa a cada tarefa. As tarefas foram pensadas levando em considerao as necessidades dos usurios do Par- ticipa.Br. Tarefas que os usurios-alvo executariam mais frequentemente e tarefas que poderiam apresentar problemas para a compreenso e execuo do usurio. Os intrumentos de coletas de informaes utilizados so dois questionrios que so amplamentes utilizados para medir a satisfao do usurio com produtos interativos e fornecem medidas padronizadas. So eles o After-Scenario Questionnaire (ASQ) 5 e o Post- Study System Usabiliy Questionnaire (PSSUQ). O ASQ destinado ao uso em testes de usabilidade baseados em cenrios. Possui trs itens que abordam os seguintes componentes de usabilidade: (1) facilidade de concluso da tarefa, (2) tempo necessrio para completar uma tarefa e,(3) a adequao das instrues ou materiais de apoio fornecidos. O PSSUQ aplicado apois a concluso de todos os cenrios com o prposito de fornecer uma avaliao geral geral da usabilidade do sistema. pois permite uma avaliao de usabilidade mais ampla, podendo avaliar 4 fatores e usabilidade (satifao geral, utilidade do sistema, qualidade da interface e qualidade da informao). Em suma, o objetivo do teste de usabilidade exibir os problemas de usabilidade por meio da voz dos usurios tpicos. Como cada um dos usurios participantes do teste se comporta na realizao das atividades. 5.1.2 Variveis a. Independentes Foram identicadas as seguintes vriavis idependentes: A interface do Portal da Participao Social Os cenrios/tarefas para realizao Perl do usurio Contexto da avaliao b. Dependentes 5 ASQ: Proposto por Lewis 5.1. Estudo sobre Usabilidade: Participa.Br 65 Nome Abreviao Entidade Faixa de Contagem Regra de contagem Grau de Satisfao do Usurio OVERALL Satisfao Discordo Fortemente / Concordo Fortemente Avalia os itens 1 at 19. Grau de Utilidade do sistema SYSUSE Utilidade Discordo Fortemente / Concordo Fortemente Avalia os itens 1 at 8. Grau de Qualidade da Informao INFOQUAL Qualidade da Informao Discordo Fortemente / Concordo Fortemente Avalia os itens 9 at 15. Grau de Qualidade da Interface INTERQUAL Qualidade da Interface Discordo Fortemente / Concordo Fortemente Avalia os itens 16 at 18. Tempo de durao de uma tarefa Tempo Hora* Minutos Cronometro Taxa de concluso da tarefa Concluso Concluso 0 a 100 % (Tarefas no concluidas/ tarefas concludas) 100 Tabela 3 Tabela de variveis dependentes 5.1.3 Recursos Estao de trabalho para cada participante. Navegador de Internet. Questionrio para a avaliao da usabilidade. Software de Vdeo (Camtasia - verso trial) ou outro. 5.1.4 Validade dos Resultados 66 Captulo 5. Estudos de Caso Ameaa Tipo Descrio da ameaa Tratamento O esforo por pessoas que j conhecem o portal poder ser maior do que com pessoas que nunca teve contato com o portal. Externa Participantes que j tenha conhecimento do portal ter uma maior facilidade de uso pois j conhecem a ferramenta. Realizar tambm a pesquisa com pessoas que nunca tiveram contato com o portal. Questionrio no preen- chido Concluso Participantes no preencherem todos os itens dos questionrios. Avisar aos participantes sobre a importncia de preencher todo o questionrio. Quantidade de participantes insuciente para obter uma melhor amostra dos resultados Externa Amostra muito pequena para anlise dos dados. Realizar outro teste com pessoas de diferentes lugares Tabela 4 Validade dos Resultados 5.1.5 Procedimentos para a execuo Para a execuo do experimento sero testados alguns cenrios de teste na qual os participantes devem executar um a um. Todos iro testar os mesmos cenrios. O estudo se inicia com a leitura da descrio do estudo de caso e como ser a agenda de atividades. Sero explicados os cenrios que cada um ir executar. Aps o perodo de explorao do portal e nalizada o estudo de caso (cerca de 30 min), os participantes devem responder o questionrio geral. Enquanto o partici- pante realiza as atividades, um observador registra se o participante completou os cenrios sem assistncia e produziu a sada completa do caso de uso. No nal os participantes preenche um formulrio de feedback. 5.1.6 Avaliao dos Resultados A avaliao dos resultados do experimento deve considerar o uso de tcnicas es- tatsticas para analisar os dados e responder as questes referentes ao objetivo especco estabelecido no planejamento deste estudo. 5.2 Estudo sobre Testes Automatizados - Rede Comunidade UnB O estudo sobre testes teve seu enfoque na rede colaborativa baseada no noosfero desenvolvida para a Universidade de Braslia (UnB) 6 . Ao decorrer deste trabalho de gra- 6 <unb.br> 5.2. Estudo sobre Testes Automatizados - Rede Comunidade UnB 67 Tcnica Descrio Avaliao da Ferramenta Aplicao do questionrio de usabilidade para o portal Participa.Br Registro de ocorrncias Durante o experimento, um observador ir registrar todas as ocorrncias referentes avaliao das ferramentas. Avaliao do Experimento Ao nal da avaliao das ferramentas os participantes iro preencher um questionrio geral, avaliando o andamento do experimento Relatrio de anlise dos dados No nal do estudo ser feito um relatrio com a anlise dos dados e lies aprendidas no que diz respeito atuao da sua equipe durante a execuo do experimento. Tabela 5 Avaliao dos resultados duao, foram desenvolvidos, juntamente com seus respectivos testes, alguns plugins que sero descritos nesta seo. 5.2.1 Plugin LDAP UnB Como rede colaborativa dos membros da Universidade de Braslia, o Comunidade UnB necessita possuir restrio de acesso aos usurios, para que somente membros ativos da universidade tenham acesso ao contedo da rede colaborativa. Para que esta necessi- dade fosse satisfeita foi desenvolvido um plugin no noosfero, que efetuasse as restries necessrias, utilizando o protocolo de autenticao da UnB, o LDAP (Lightweight Direc- tory Access Protocol ). Para o usurio, o plugin desenvolvido modica a seo de cadastro de novos usurios e a seo de login. Na seo de cadastro o usurio agora deve cadastrar a matrcula e senha que o mesmo usa no Matrcula Web 7 da UnB, alm dos dados que j eram cadastrados anteriormente. Na seo de login o usurio tambm pode entrar no Co- munidade UnB atravs de sua matrcula e senha do matrcula web da UnB (alm do email e username, que so as entradas normalmente utilizadas) Nas camadas mais inferiores, o plugin responsvel por modicar o modelo de dados do sistema, para que o usurio possa assim cadastrar sua matrcula. Assim o plugin tambm responsvel por congurar a conexo com o LDAP server da UnB e nalmente vericar se os dados do usurio esto corretos no momento do seu cadastro. Abaixo encontra-se descritas as histrias de usurio referente ao plugin Ldap UnB: 1. Plugin Ldap UnB - Cadastro: Como aluno da UnB e novo usurio Gostaria de cadastra-me no Comunidade UnB atravs da minha matrcula e senha do sistemas da UnB 7 <matriculaweb.unb.br> 68 Captulo 5. Estudos de Caso para utilizar o Comunidade UnB. Cenrio: Dado que no estou autenticado Quando eu entrar em Novo Usurio E preencher os campos nome de usurio, senha, conrmao de senha, nome completo, e-mail e matrcula E clicar no boto Registrar Ento eu devo ser redirecionado ao perl nome de usurio 2. Plugin Ldap UnB - Login: Como aluno da UnB usurio do sistema Gostaria acessar Comunidade UnB atravs da minha matrcula e senha do sistemas da UnB para facilitar a utilizao do Comunidade UnB. Cenrio: Dado que no estou autenticado Quando eu preencher os campos nome de usurio e senha E clicar em entrar Ento eu devo ser redirecionado ao perl nome de usurio Realizamos os seguintes testes com o plugin LDAP UnB: testes funcionais e testes unitrios, que foram executados atravs do prprio noosfero. Os testes funcionais do plugin LDAP foram divididos em duas categorias, sendo estas compostas por testes que no dependem do LDAP est congurado e os testes que dependem do LDAP congurado. Os testes independentes do LDAP so simples, basicamente vericando as possveis mensagem de errro ou de noticaes durante o login. Os testes que dependem do LDAP vericam os seguintes fatores: 1. Autenticao de usurio com LDAP; 2. Autenticao de usurio a partir da sua matrcula; 3. Exibio de mensagens de logs 4. Criao de usurio utilizando as propriedades do LDAP; 5. No autenticao de usurio registadro localmente, mas no com LDAP; 6. No autenticao de usurio no registrado localmente, mas com LDAP; 5.2. Estudo sobre Testes Automatizados - Rede Comunidade UnB 69 7. Criao e autenticao de um novo usurio a partir do plugin LDAP; Tambm executamos testes na interface de administrador do sistema, onde o usurio tem a opo de ativar o plugin e informar dados de congurao do mesmo, esses testes vericam os seguintes fatores: 1. Acesso pgina de administrador; 2. Exibio de mensagens de sucesso e de erro; 3. Atualizao do LDAP; 4. Atualizao do host do LDAP; 5. Atualizao da porta do LDAP; 6. Atualizao da conta do LDAP; 7. Atualizao da senha do LDAP; 8. Atualizao da base dn; 9. Atualizao do atributo de login; 10. Atualizao do atributo de email ; 11. Atualizao do ltro do LDAP; 12. Atualizao de TLS; Os testes unitrios do plugin vericam a denio dos parmetros do LDAP, veri- cao esta que realizada tanto na passagem dos parmentros quanto na vericao dos valores de default, outra vericao desses parmetros que tambm feita a tentativa de criao de uma autenticao no LDAP. Dentre esses parmetros esto os seguintes: Host do LDAP; Porta do LDAP; Conta do LDAP; Senha da conta; Base DN do LDAP; atributo de login do LDAP; atributo de nome do LDAP; 70 Captulo 5. Estudos de Caso atributo de email do LDAP; ltros do LDAP; TLS do LDAP; Com o auxlio de uma ferramenta de anlise de cdigo para Ruby chamada Rcov, foi obtida a taxa de cobertura de cdigo do plugin desenvolvido, alm de alguns dados sobre a execuo dos testes funcionais e unitrios que seguem abaixo: Quantidade de testes executados: 96 testes; Quantidade de assertivas executadas: 111 assertivas; Quantiadde de falhas obtidas: 0 falhas; Tempo de execuo dos testes: 7.8 segundos; Na imagem 11 existem dois grcos de cobertura de cdigo, o primeiro denido como total coverage representa a contagem realizada com as linhas em branco e os comentrios do cdigo, j o code coverage representa a contagem realizada sem as linhas em branco e os comentrios do cdigo. Figura 11 Cobertura de cdigo do plugin LdapUnb No desenvolvemos testes de aceitao para o plugin LDAP UnB, pelo fato de ser uma aplicao que opera a maior parte das suas funcionalidades nas camadas mais baixas do sistema, alterando muito pouco a percepo do usurio. 5.2.2 Plugin para envio de TCC Este plugin tambm foi desenvolvido para a plataforma Noosfero, porm em uma aplico diferente, o Portal UnB Gama. A ideia deste plugin surgiu da necessidade de 5.2. Estudo sobre Testes Automatizados - Rede Comunidade UnB 71 existir um ambiente virtual em que os trabalhos de concluso de curso pudessem ser sub- metidos aos professores e compartilhados com a comunidade acadmica, buscando assim manter uma forma de versionamento dos trabalhos desenvolvidos e dispensando a ne- cessidade de trabalhos de concluso de curso impressos. Este plugin responsvel por criar uma atribuio de trabalhos, chamada de work assignment. Essa atribuio possui algumas funcionalidades especcas como possibilitar que os usurios envolvidos sejam noticados via email sobre a submisso de um certo trabalho. Para tal foi necessrio instanciar um servidor de email para executar estas noticaes, assim como criar uma pgina no Portal FGA 8 para que o usurio pudesse submeter seu trabalho. Para validar o desenvolvimento desta funcionalidade desenvolvemos os seguintes tipos de testes: funci- onais, unitrio e de aceitao. Abaixo encontra-se descrita a histria de usurio referente plugin para envio de TCC: 1. Plugin para envio de TCC Como usurio Gostaria de submeter um trabalho para uma comunidade, seguindo um formulrio (ttulo, nome do remetente, email do destinatrio, nome do destinatrio e descrio) enviando um aviso para ambas as partes para manter um versionamento do trabalho. Cenrio: Dado que estou autenticado como usurio Quando eu entrar no painel de controle da Minha Comunidade E entrar em Gerenciar Contedo E entrar em Novo Contedo E entrar em Trabalho a ser entregue E preencher o campo Ttulo E clicar em Salvar Ento eu devo ser redirecionado pagina de Gerenciar Contedos E visualizar o campo Ttulo Quando eu entrar em Carregar Arquivo E marcar o campo Enviar noticao E preencher o campo Assunto E preencher o campo Destinatrio E clicar em Enviar 8 urlfga.unb.br 72 Captulo 5. Estudos de Caso Ento eu devo visualizar Enviando com sucesso Os testes funcionais do plugin para envio de TCC so responsveis por vericar os seguintes fatores: Permisso para enviar trabalhos somente para usurios autorizados; Capacidade de enviar um arquivo ou mais; Capacidade de atualizar um arquivo enviado; Validao de arquivos; Capacidade de enviar email aos usurios envolvidos; Tratamento do redirecionamento das pginas; Capacidade de deletar arquivos por usurios autorizados; Capacidade de carregar arquivos por usurios envolvidos; Os testes unitrios deste plugin so responsveis por vericar os seguintes par- metros: Nome do plugin; Descrio do plugin; Possibilidade de submisso de um arquivo por um usurio; Nome do arquivo; Verso do arquivo; Autor do arquivo; A ferramenta Rcov tambm foi utilizada para dimensionar a taxa de cobertura de cdigo do plugin para envio de TCC, segue os dados sobre a execuo dos testes funcionais e unitrios: Quantidade de testes executados: 28 testes; Quantidade de assertivas executadas: 84 assertivas; Quantiadde de falhas obtidas: 0 falhas; Tempo de execuo dos testes: 10,5 segundos; 5.2. Estudo sobre Testes Automatizados - Rede Comunidade UnB 73 Na imagem 12 est representado a cobertura de cdigo, extrada da ferramenta Rcov: Figura 12 Cobertura de cdigo do plugin para submisso de trabalho Por m, os testes de aceitao do plugin para envio de TCC so responsveis por vericar os seguintes fatores: Capacidade de criar, editar e deletar uma atribuio de trabalhos (work assignment); Validao de parmetros durante a criao e edio de uma atribuio de trabalhos; Capacidade de enviar e receber emails sobre o envio de um trabalho; Capacidade de postar comentrios sobre uma atribuio de trabalhos; Capacidade de reportar problemas; Abaixo est descrito um exemplo de teste desenvolvido para o plugin (os demais testes esto descritos no apndice B): Feature: send work plugin As an user I want to send work with notication email Background: Given Work Assignment plugin is enabled Given the following users | login | name | | joaosilva | Joao da Silva | | josesilva | Jose da Silva | And the following community | identier | name | 74 Captulo 5. Estudos de Caso | mycommunity | My Community | And Joao da Silva"is admin of My Community" And I am logged in as admin And I go to /admin/plugins And I check Work Assignment" And I press Save changes" Then I should see Plugins updated successfully." 1. Scenario: Upload a le to work assignment and send a email Given I am logged in as joaosilva" When I follow My Community" When I go to mycommunitys control panel And I follow Manage Content" And I follow New content" And I follow Work Assignment" Then I should be on /myprole/mycommunity/cms/new When I ll in Title"with test" And I press Save" Then I should be on /mycommunity/test When I follow Upload les" And I check Send notication" And I attach the le public/images/rails.png"to uploadedles" And I press Upload" Then I should be on /myprole/mycommunity/cms/sendemail When I ll in Title"with Work" And I ll in Receiver"with josesilva@example.com" And I ll in Message"with test" And I press Send" Then I should see Contact sent successfully" Aps a execuo dos testes desenvolvidos, obtivemos os seguintes dados: Quantidade de cenrios executados: 6 cenrios; 5.3. Consideraes nais 75 Quantidade de passos executadas: 130 passos; Quantiadde de falhas obtidas: 0 falhas; Tempo de execuo dos testes: 7 minutos e 18 segundos; 5.2.3 Observaes obtidas O plugin LDAP UnB encontra-se ainda em fase de testes na rede Comunidade.UnB. O plugin para envio de TCC tambm encontra-se em fase de testes, com um piloto j disponvel para utilizao pelos alunos de graduao do curso de engenharia de software da FGA. A partir da cobertura dos testes do plugin de envio de TCC, foi vericado que existe uma necessidade de refatorao desta funcionalidade, considerando alguns aspectos que dicultaram o desenvolvimento de testes desta funcionalidade, como a duplicao de cdigo. Porm estes resultados preliminares foram considerados satisfatrios, considerando que outros plugins desenvolvidos pela comunidade do Noosfero e j homolagados apresentam mtricas semelhantes. Plugin Stoa: Plugin que inclui funcionalidades ao Stoa, rede colaborativa da USP (Universidade de So Paulo) Figura 13 Cobertura de cdigo do plugin Stoa Plugin Ldap: Plugin que permite autenticao via Ldap; plugin Statistics: Plugin que permite adicionar um bloco de estatsticas ao perl do usurio 5.3 Consideraes nais O desenvolvimento de testes automatizados uma prtica constante no desenvolvi- mento da plataforma noosfero e importante na validao de novos recursos desenvol- vidos. Assim conseguimos vericar que a utilizao de prticas de TDD e BDD como 76 Captulo 5. Estudos de Caso Figura 14 Cobertura de cdigo do plugin Ldap Figura 15 Cobertura de cdigo do plugin Statistics base para o desenvolvimento trouxe resultados satisfatrios, como ser mostrado no captulo a seguir. Com a proposta de algumas tcnicas de avaliao da usabilidade para o Portal da Participao Social, vericamos que muitas delas precisam ser adaptadas para uma melhor adoo nos ambientes de software livre e em mtodos geis. O teste de usabilidade proposto foi planejado pensando nas prticas clssicas de avaliao da usabilidade que considerada por vrios autores como uma das melhores maneiras de avaliar uma interface. 77 6 Consideraes nais Durante esta primeira parte do trabalho de concluso de curso, estudamos o desen- volvimento de software emprico e suas caractersticas, assim como a forma que esse desenvolvimento est ligado com testes automatizados e como as prticas de testes podem ser aplicadas ou no em um ambiente real de desenvolvimento que j se encontra estabelecido. Sobre o desevolvimento de testes automatizados, vericamos que possvel aplicar grande parte das prticas de BDD e TDD no desenvolvimento de uma nova funcionalidade para a plataforma Noosfero, quando esse desenvol- vimento est ainda no levantamento da histria, pois observamos diculdades de desenvolver testes quando o desenvolvimento de uma nova funcionalidade j foi ini- ciado, o que aconteceu no plugin para o envio de TCC, resultando num desempenho menor dos testes executados. Tambm observamos que necessrio conhecer a es- trutura da funcionalidade que ser desenvolvida para saber que tipo de testes tero mais inuncia no desenvolvimento, como no caso dos testes para o plugin LDAP UnB, onde decidimos no utilizar os testes de aceitao, por se tratar de uma funci- onalidade com requisitos de mudanas mais tcnicas, que alteraria pouco o sistema pela viso do usurio. Com as pesquisas realizadas sobre usabilidade de software, podemos notar que existe estudos na rea onde foram criadas metodologias que unem tanto as abordagem geis com a abordagem centrada no usurio. possvel fazer a integrao das abordagens, mas necessrio que tenha algumas adaptaes. Os testes de usabilidade clssico, no qual observa-se uma pessoa enquanto utiliza o software, naturalmente uma das melhores maneiras de avaliar a usabilidade. Mas, especialmente em ambientes de software livre muitos outros mtodos so mais viveis (BORCHARDT, 2010). Cada tcnica e mtodo servem como padres e sua utilidade depende da estrutura do projeto que a pessoa responsvel pelo teste se encontra. Muitos desenvolvedores de software livre j sabem da importncia da usabilidade, mas no sabem como melhor-la e para que as prticas possam ser integradas ao ciclo de desenvolvimento de software preciso comunicar abertamente suas descobertas e mtodos a todos os integrantes da equipe. Assim, considerando o que levantamos neste trabalho, chegamos a algumas hipteses que sero respondidas na segunda fase deste trabalho. Como inserir os princpios de usabilidade dentro do processo desenvolvimento emprico de software? 78 Captulo 6. Consideraes nais possvel alcanar melhores resultados em testes de usabilidade utilizando prticas do BDD e TDD, durante o desenvolvimento de software? Nesse contexto, a ideia do estudo de caso inicial sobre projeto Participa.Br foi co- nhecer como funciona algumas tcnicas de avaliao da usabilidade. Foi escolhido o Portal da Participao Social por ser um dos projetos apoiados pela faculdade. Propomos algumas tcnicas para anlise do perl do usurio: como aplicao de questionrio de perl de uso, anlise de dados estatsticos e criao de persona do usurio. A Persona foi criada analisando alguns usurios e atravs de informaes no perl do portal. Com a persona identicada criamos alguns cenrios de uso do sistema, na qual as tarefas levantadas faro parte do teste de usabilidade. Antes de realizar o teste de usabilidade com o usurio importante que sejam vericadas as tarefas que sero executadas pelos participantes.Essas tarefas podem ser encontradas atravs da avaliao por heursticas de usabilidade onde podemos descobrir antecipadamente os principais problemas na interface do sistema. Para analisar o grau de satisfao do usurio foi feito uma pesquisa com os prin- cipais questionrios existentes e escolhemos o PSSUQ por ser um questionrio que possui maior grau de conabilidade e que retorna quatro fatores, sendo esses: Satis- fao Geral, Qualidade da Interface, qualidade da informao e utilidade do sistema. Tambm foi escolhido o questionrio ASQ que aplicado depois de cada tarefa exe- cutada. Alm disso ao aplicar o teste de usabilidade preciso observar atentamente os passos que os usurio est realizando para concluir cada tarefa. 6.1 Prximos Passos Aplicamos as tcnicas de usabilidade pesquisadas durante o trabalho, em um pro- cesso baseado em BDD e TDD, a m de vericar problemas de usabilidade, e sa- tisfao e uso em um estudo de caso especco, no caso plataforma Noosfero. Para concluir este estudo, nalizaremos o processo de homologao as funcionalidades desenvolvidas (plugins) e as mesmas sero disponibilizadas para produo. Alm disso, os questionrios levantados (PSSUQ e ASQ) sero aplicados ao Participa.Br, para sabermos o grau de satisfao do usurio. Assim, partiremos para a segunda fase do trabalho, que ser aplicar o estudo realizado no Portal do Software Pblico, a m de vericar a inuncia de testes automatizados na usabilidade do sistema, buscando responder as hipteses levantadas no incio deste captulo. Outro passo a ser realizado vericar os padres de design e usabilidade adotados pelo Noosfero, propor e implementar possveis melhorias. 6.1. Prximos Passos 79 6.1.1 Cronograma Esta seo descreve o planejamento inicial dos prximos passos a serem realizados no trabalho de concluso de curso 2. Abaixo esto descritas as atividades planejadas: Fase Atividade Prazo Planejamento Estudar o plugin (21 de julho) Levantar testes (28 de julho) Execuo Aplicar estudo de usabilidade (4 de agosto) Relatos Levantar problemas (11 de agosto) Planejamento Propor melhorias (18 de agosto) Execuo Executar melhorias (1 de setembro) Relatos Relatar resultados (8 de setembro) Planejamento Iniciar novo plugin (29 de setembro) Execuo Inserir prticas (27 de outubro) Relatos Avaliar prticas bem sucedidas (10 de novembro) a) Estudar o plugin: Ser realizado um estudo sobre o plugin assets do portal do software pblico, que j encontra-se em desenvolvimento. b) Levantar testes: Levantamento de possveis testes a serem incorporados ao plugin. c) Aplicar estudo de usabilidade: Aplicao do estudo de usabilidade reali- zado neste trabalho. d) Levantar problemas: Levantamento de problemas do plugin, a partir do estudo aplicado. e) Propor melhorias: Propor melhorias a partir dos testes de aceitao, a m de vericar hipteses levantadas. f) Executar melhorias: Realizar execuo das melhorias propostas para o plu- gin. g) Vericar melhorias: Vericar se as melhorias na usabilidade a partir dos testes de aceitao. h) Relatar resultados: Descrever os resultados obtidos. i) Iniciar novo plugin: j) Inserir prticas: Inserir as prticas estudadas no incio do desenvolvimento de um novo plugin. k) Avaliar prticas bem sucedidas: Avaliar o desenvolvimento e denir quais prticas obtiveram resultados positivos. 81 A Apndice 1 A.1 Questionrio de Perl do Usurio Este questionrio foi utilizado para identicar o perl do usurio e algumas de suas necessidades. Figura 16 Questionrio de perl do usurio 82 Apndice A. Apndice 1 A primeira parte do questionrio mostra perguntas gerais referentes ao perl social dos usurios como idade, ocupao/prosso, gnero, formao adadmica e reas de interesse. Figura 17 Questionrio de perl do usurio - Continuao A.1. Questionrio de Perl do Usurio 83 Na seo dois do questionrio, as informaes sobre o uso dos meios de comunica- o que cada usurio. Informaes sobre locais de acesso internet, velocidade de conexo, principais redes sociais e as principais atividades que realiza na internet. Figura 18 Informaes sobre o uso dos meios de comunicao 84 Apndice A. Apndice 1 Na terceira seo do questionrio so feitas perguntas referentes ao engajamento poltico/social dos usurios como atuaes em movimentos polticos e sociais e par- ticipaes em manifestaes, alm de saber sobre o meio de informao na qual se informa sobre os movimentos. Figura 19 Participaes sociais A.1. Questionrio de Perl do Usurio 85 Depois que foram preenchidas a primeira parte do questionrio, os usurios que j usavam o portal da participao social iriam preencher algumas outras questes referente a utilizao do portal, tentando entender as principais atividades e funci- onalidades que cada usurio utilizava. Figura 20 Portal da Participao Social 86 Apndice A. Apndice 1 Na seo cinco do questionrio, as questes servem para conhecer o tempo e o local de acesso dos usurios do portal da participao social Figura 21 Ambiente e tempo de acesso no portal A.2 Questionrio de Satisfao Levantamos informaes sobre alguns questionrios de satisfao de uso existentes na literatura e foi feito uma comparao entre cada um deles. A.2.1 QUIS - Questionnaire for User Interaction Satisfaction O QUIS mede a satisfao do usurio quanto usabilidade do produto de maneira padronizada, segura e vlida, a m de obter informaes precisas em relao reao dos usurios a novos produtos (QUIS, 2009); 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 softwa- res estatsticos at que se implementem recursos de anlise no servidor web dos proprietrios. A.2. Questionrio de Satisfao 87 A.2.2 SUS System Usability Scale O SUS uma escala de usabilidade do tipo Likert que possui uma viso global e subjetiva em suas avaliaes de usabilidade. Ele apresenta ao entrevistado uma lista de perguntas que devem ser respondidas em uma escala de satisfao (indica o grau de concordncia ou discordncia do usurio) (BROOKE, 1996). O autor se baseou na armao de que no contexto industrial, as avaliaes com- pletas no so prticas e requerem muito esforo e custo. O SUS foi criado pela necessidade de se ter uma avaliao de usabilidade simples e rpida. Os mtodos de avaliao foram simplicados e o nmero de questes reduzidas, pois uma quan- tidade grande de questes desanima os usurios que possivelmente no preenche- ria todas as questes, resultando assim problemas na captura de reaes subjeti- vas do usurio. Foi ento proposto um questionrio com 10 questes que utiliza a escala Likert de cinco ou sete pontos. Este questionrio abrange vrios aspec- tos da usabilidade, tais como: necessidade de suporte, treinamento e complexidade. (PREECE; ROGERS; SHARP, 2007) A.2.3 SUMI Usability Measurement Inventory O SUMI proposto por Kirakowski e Corbett (1988) um questionrio para medio da qualidade de um software do ponto de vista do usurio, um mtodo consistente usado para avaliar a qualidade de uso de um produto de software ou prottipo, e pode ajudar na descoberta de falhas de usabilidade. mencionado na norma ISO 9241 como um mtodo reconhecido para testar a satisfao do usurio. O SUMI um questionrio comercial. Inicialmente continha 150 itens onde o participante escolhia se (concordo fortemente, concordo, no sei, discordo ou discordo totalmente). Atualmente so 50 itens divi- didos em 5 grupos de 10 itens. Os grupos de itens so: ecincia, afeto, eccia, controle e aprendizado. Os entrevistados preenchem o questionrio no seu local de trabalho e devem decidir entre as opes: concordo, no sei ou discordo totalmente. A.2.4 ASQ The After-Scenario Questionnaire O ASQ um questionrio de trs itens que so utilizados para avaliar a satisfao do usurio aps a concluso de cada cenrio/tarefa. So realizadas umas sries de tarefas que esto de acordo com a realidade do usurio.Este questionrio aborda questes como: facilidade de concluso da tarefa, tempo para completar uma tarefa e adequao das informaes de suporte.So questes do tipo Likert, aplicando uma escala de 1 a 7, onde 1 representa Concordo totalmente e 7 para Discordo totalmente. (LEWIS, 1995) 88 Apndice A. Apndice 1 O participante gasta em mdia 1 hora pra realizar cada cenrio, no m de cada cenrio preenchido o questionrio ASQ. Aps completar todos os cenrios, no m de 1 dia de trabalho (8 horas), os participantes preenchem o questionrio PSSUQ para avaliao geral do sistema.O ASQ foi aplicado na IBM por diferentes tipos de usurios, cada grupo possua um tempo de experincia com sistemas de computador, o que permitiu a anlise psicomtrica do questionrio. Figura 22 ASQ - The After-Scenario Questionnaire A.2.5 PSQ The Printer-Scenario Questionnaire O PSQ uma verso inicial do ASQ, mas difere no formato e numero de itens. So escalas de 5 pontos com os termos Aceitvel com nota 1 e Precisa de muita Melhoria com nota 5, e no marcado Para Avaliar (LEWIS, 1995). A.2.6 PSSUQ The Post-Study System Questionnaire O PSSUQ fornece uma avaliao global do sistema utilizado. Esse questionrio pos- sui 19 itens para avaliao da satisfao do usurio com a usabilidade do sistema. A.2. Questionrio de Satisfao 89 gasto em mdia 10 minutos para completar o questionrio, mas s preciso com- pletar uma vez o questionrio no m do estudo de usabilidade. (LEWIS, 1995) Este questionrio ajuda a entender quais aspectos do sistema o usurio est mais preocupado. Ele avalia as caractersticas como facilidade de uso e de aprendizado, simplicidade, eccia, informao e a interface com o usurio. Existem 4 tipos de pontuaes para as respostas aos itens do PSSUQ: Escore da satisfao geral (OVERALL), a utilidade do sistema(SYSUSE), a qualidade da in- formao (INFOQUAL) e a qualidade da interface (INTERQUAL). A escala Global est relacionada com a soma das classicaes ASQ que os partici- pantes deram aps completar cada cenrio. Figura 23 PSSUQ The Post-Study System Questionnaire 90 Apndice A. Apndice 1 Figura 24 PSSUQ: The Post-Study System Questionnaire - Questes de 8 19 A.2.7 CSUQ - Computer System Usability Questionnaire Este questionrio parecido com o PSSUQ, mas a sua redao e diferente. Enquanto no PSSUQ arma que Eu poderia efetivamente realizar as tarefas e cenrios usando este sistema o CSUQ escreve: Eu posso terminar meu trabalho de forma ecaz usando esse sistema?. Na IBM, este questionrio foi aplicado atravs de e-mail, enviado para funcionrios de diferentes locais, o que houve uma maior quantidade de participantes, do que feito com grupos reduzidos presencialmente. (LEWIS, A.2. Questionrio de Satisfao 91 1995) O CSUQ utilizado quando o estudo de usabilidade em um ambiente fora do laboratrio. A conabilidade relatada foi de 0,93. A.2.8 Comparativo dos questionrios Os questionrios ASQ e PSQ so utilizados aps a realizao de um cenrio. Con- tm os mesmos itens, mas possuem escalas diferentes. O ASQ possui uma maior conabilidade em relao ao PSQ. PSSUQ e CSUQ so ambos os questionrios de satisfao global. O PSSUQ utiliza itens adequados para uma situao de teste de usabilidade, j o CSUQ so apropri- ados para uma situao de teste de campo. Os questionrios possuem propriedades psicomtricas aceitveis de usabilidade e podem ser usados com conana como medidas padronizadas de satisfao. interessante utilizar o PSSUQ junto com o ASQ. O ideal que o questionrio seja mais genrico possvel. Cada questionrio possui um nvel de conana. Nome Criador Questes Licena Interface Avaliada Conab. Escala ASQ IBM 3 Aberto Qualquer 0,93 Discordo Fortemente / Concordo Fortemente CSUQ IBM 19 Aberto Baseado em computador 0,95 Discordo Fortemente / Concordo Fortemente PSSUQ IBM 19 Aberto Baseado em computador 0,96 Discordo Fortemente / Concordo Fortemente SUMI HERG 27 Proprietrio Software 0,89 Discordo Fortemente / Concordo Fortemente SUS DEC 10 Aberto Qualquer 0,85 Discordo Fortemente / Concordo Fortemente QUIS UMD 50 Proprietrio - - 0 a 9 Tabela 6 Comparativo dos questionrios 92 Apndice A. Apndice 1 A.3 Portal da Participao Social A.3.1 Persona A estrutura da persona foi feita seguindo o modelo criado por Edu Agni, autor do blog uxdesign.blog.br para o curso de UX Design na qual ele ministra em vrias cidades do pas. Persona 1 Nome: Leo Silva Idade: 27 anos Localidade: So Paulo Citao: "Minha vida andar por este pas" Interesses e motivaes: Comunismo, culinria e poltica Frustaes: Problemas sociais do Brasil Background: Estudou Servio Social Objetivos do usurio: Informas s pessoas sobre as lutas sociais propostas pelo seu grupo. Persona 2 Nome: Jos Teixeira Idade: 45 anos Localidade: Bahia Ocupao: Deputado Interesses: Poltica, movimentos sociais Background: Lder de movimentos sociais, sindicatos e associaes Objetivos do usurio: Debater leis, projetos e emendas participativas, criao de enquetes. A.3.2 Cenrios Os cenrios foram levantados atravs de uma anlise do que era permitido de re- alizar no portal e quais seriam mais importantes para as principais atividades de um usurio. Foram pensadas levando em considerao as necessidades dos usurios do portal da participao social. Tarefas que os usurios-alvo executariam mais fre- quentemente e tarefas que poderiam apresentar problemas para a compreenso e execuo do usurio. Atravs das redes sociais e do perl do usurio no portal da participao social foi identicado que uma das atividades mais realizadas pelos usurios so de edio de A.3. Portal da Participao Social 93 textos no blog do perl, alm da criao de mecanismos de participao social como a votao em pares (parwise). Entender o perl do usurio um dos principais pontos que devem ser levados em considerao pelos desenvolvedores de software em geral. Cada perl de usurio tem suas particularidades e suas expectativas quanto a utilizao do sistema. a) Faa seu cadastro no portal Participa.Br e ative sua conta. b) Personalize o seu perl inserindo uma foto, escolha 5 categorias de interesse. c) Localize e adicione Jnatas Medeiros de Mendona sua rede. d) Localize e ingresse na comunidade Participao Social. Informe a quantidade de membros. e) Localize a pessoa Henrique Parra Filho e infome a quantidade de amigos, n o de comunidades. f) Jos deseja criar um artigo para seu blog. Ele possui o texto j criado em doc, mas precisa inserir alguns outros detalhes em seu artigo como: links, imagens, tamanhos de fonte e subttulos e inserir a licena de uso. g) Joo necessita criar um outro artigo e inserir a mesma imagem. h) Visualizar galeria de imagens, remova a imagem adicionada e adicione novas imagens. i) Entre no portal e acesse o painel de controle e modique a aparncia de seu perl. j) Escreva uma descrio para o seu blog e inseria uma imagem. k) Crie um contedo para sua pgina e adicione um item de menu para esse novo contedo. l) Adicione um novo bloco na pgina de seu perl. m) Crie um questionrio Pairwise. A.3.3 Problemas levantados com as questes Ao realizar uma vericao das tarefas levantadas foram analisados alguns proble- mas de usabilidade que o portal apresentava: a) Ao editar um texto, apenas voltando no navegador e tentar salvar novamente no ser mais possvel devido o sistema considerar como um novo artigo e aparece uma mensagem de erro. O problema encontrado nessa mensagem de erro se d pelo fato da mensagem vir em ingls, dicultando a leitura por muitas pessoas. 94 Apndice A. Apndice 1 b) Ao colocar o item como justicado no funcionava, ento no possvel saber se o texto realmente caria justicado. c) No comeo, uma das dvidas era aonde inserir a imagem, a primeira tentativa foi pelo cone de imagem do prprio editor de texto, que ao abrir o pop up precisava ser redimensionado. Utilizando essa funo do editor o usurio pre- cisaria saber do link da imagem o que inviabilizaria. Essa opo ento deve ser usada apenas para redimensionar a imagem. d) Ao inserir uma imagem no informado ao usurio quais as mdias podem ser inseridas e nem o tamanho permitido. e) Na insero de uma imagem, quando arrasta o nome da mdia para o texto, aparece um link escrito (adicionar Artigo) ao invs da imagem; f) Na busca da imagem, caso o usurio no lembre o nome da imagem ser im- possvel adiciona-la. Se o usurio escolher inserir mdia e escolher a mesma imagem acontecer um erro e no ser possvel adicionar a imagem devido que ela j existe na pasta. Mas no informado o por que no conseguiu inserir a imagem. g) Na galeria de imagens existe um boto chamado remover que pode confundir o usurio pensando que serviria para remover a imagem, e ao clicar era removido toda a galeria. O navegador deu aviso, mas veio em ingls. h) Outro problema encontrado nao se refere a questo de usabilidade em si, mas de aparncia no tema Confernce na qual os cones dos menus no esto for- matados. i) Na criao do questionrio pairwise, o problema encontrado que no h ex- plicao do que seria esse tipo de questionrio. A.3.4 Ferramenta de anlise de websites Utilizamos uma ferramenta de anlise de websites, Woorank 1 , para vericar alguns problemas existentes no portal da participao social. Em relao ao acesso em dispositivos mveis foram encontrados alguns problemas como lentido e no renderizao na pgina em celulares. 1 <http://www.woorank.com/> A.3. Portal da Participao Social 95 Figura 25 Printabilidade - Portal da Participao Social Figura 26 Validaes - Portal da Participao Social Figura 27 Carregamento de Pgina - Portal da Participao Social 96 Apndice A. Apndice 1 Figura 28 Renderizao de pgina em dispositivos mveis Figura 29 Carregamento por dispositivos mveis - participa.br 97 B Apndice 2 B.1 Cenrios dos testes de aceitao - plugin para envio de TCC Feature: send work plugin As an user I want to send work with notication email Background: Given Work Assignment plugin is enabled Given the following users | login | name | | joaosilva | Joao da Silva | | josesilva | Jose da Silva | And the following community | identier | name | | mycommunity | My Community | And Joao da Silva"is admin of My Community" And I am logged in as admin And I go to /admin/plugins And I check Work Assignment" And I press Save changes" Then I should see Plugins updated successfully." 2. Scenario: Create a work assignment and continue edition Given I am logged in as joaosilva" When I follow My Community" When I go to mycommunitys control panel And I follow Manage Content" And I follow New content" 98 Apndice B. Apndice 2 And I follow Work Assignment" Then I should be on /myprole/mycommunity/cms/new When I ll in Title"with test" And I press Save and continue" Then I should be on /myprole/mycommunity/cms/edit/13 3. Scenario: Cant create work assignment without name Given I am logged in as joaosilva" When I follow My Community" When I go to mycommunitys control panel And I follow Manage Content" And I follow New content" And I follow Work Assignment" Then I should be on /myprole/mycommunity/cms/new When I ll in Title"with " And I press Save" Then I should see There were problems with the following elds:" 4. Scenario: Cant create work assignment without le Given I am logged in as joaosilva" When I follow My Community" When I go to mycommunitys control panel And I follow Manage Content" And I follow New content" And I follow Work Assignment" Then I should be on /myprole/mycommunity/cms/new When I ll in Title"with test" And I press Save" Then I should be on /mycommunity/test When I follow Upload les" And I press Upload" Then I should be on /myprole/mycommunity/cms/uploadles B.1. Cenrios dos testes de aceitao - plugin para envio de TCC 99 5. Scenario: Cancel create work assignment Given I am logged in as joaosilva" When I follow My Community" When I go to mycommunitys control panel And I follow Manage Content" And I follow New content" And I follow Work Assignment" Then I should be on /myprole/mycommunity/cms/new When I ll in Title"with test" And I press Save" Then I should be on /mycommunity/test When I follow Upload les" And I follow Cancel" Then I should be on /mycommunity/test 6. Scenario: Edit work assignment Given I am logged in as joaosilva" When I follow My Community" When I go to mycommunitys control panel And I follow Manage Content" And I follow New content" And I follow Work Assignment" Then I should be on /myprole/mycommunity/cms/new When I ll in Title"with test" And I press Save" Then I should be on /mycommunity/test When I follow Edit" And I ll in Title"with test2" And I press Save" Then I should be on /mycommunity/test2 100 Apndice B. Apndice 2 7. Scenario: Delete a work assignment Given I am logged in as joaosilva" When I follow My Community" When I go to mycommunitys control panel And I follow Manage Content" And I follow New content" And I follow Work Assignment" Then I should be on /myprole/mycommunity/cms/new When I ll in Title"with test" And I press Save" Then I should be on /mycommunity/test When I follow Edit" And I follow Delete" And I conrm the browser dialog Then I should see /test"was removed./ 101 Referncias AGNER, L. Arquitetura da informao: Testes de sabilidade. 2004. Citado na pgina 41. AKITA, F. A controvrsia test::unit vs rspec/cucumber. 2011. Citado na pgina 34. AVRITZE, A.; WEYUKER, E. J. Generating test suites for software load testing in international symposium on software testing and analysis (issta). 1994. Disponvel em: <http://dl.acm.org/citation.cfm?id=186258.186507>. Citado na pgina 32. 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 55. BECK, K. Test-Driven Development by Example. [S.l.]: Addison-Wesley Prefessional, 2002. Citado 3 vezes nas pginas 9, 35 e 36. 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 3 vezes nas pginas 31, 32 e 36. BERVIAN, P. A.; CERVO, A. L.; SILVA, R. d. Metodologia cientca. So Paulo, 2002. Citado na pgina 43. BORCHARDT, J.-C. Usability in free software - freedom 4: The freedom to use the program eectively, eciently and satisfactorily. 2010. Disponvel em: <http:// jancborchardt.net/usability-in-free-software>. Citado na pgina 77. 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 87. CHAU, M. Convite a losoa. [S.l.: s.n.], 2003. Citado na pgina 25. CHELIMSKKY, D. et al. The RSpeec Book: Behaviour-Driven Development with RSpec, Cucumber, and Friends. [S.l.: s.n.], 2010. Citado 2 vezes nas pginas 33 e 36. 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 55. CORBUCCI, H. Mtodos geis e software livre: um estudo da relao entre estas duas comunidades. Tese (Doutorado) Universidade de So Paulo, 2011. Citado 2 vezes nas pginas 27 e 28. CYBIS, W.; BETIOL, H.; FAUST, R. Ergonomia e Usabilidade: Conhecimentos, Mtodos e Aplicaes. [S.l.: s.n.], 2010. Citado 9 vezes nas pginas 41, 42, 43, 45, 46, 47, 48, 52 e 55. 102 Referncias DIAS, C. Usabilidade na Web: Criando websites mais acessveis. [S.l.: s.n.], 2006. Citado na pgina 39. DICKINSON, J.; KUNAMA, D. How user-centered design can put user stories in proper contex. New Riders Press, Pearson Education, 2010. Citado na pgina 56. EASON, K. D. User-centred design: for users or by users? 2005. Citado na pgina 53. EVERETT, G. D. et al. Software Testing. [S.l.: s.n.], 2007. Citado na pgina 31. FERREIRA, J.; NOBLE, J.; BIDDLE, R. Interaction designers on extreme programming teams: Two case studies from the real world. In: Proceedings of the Fifth New Zealnad Computer Science Research Student Conference. [S.l.: s.n.], 2007. Citado na pgina 57. GARRET, J. The Elements of user experience. [S.l.: s.n.], 2003. Citado na pgina 41. GIL, A. C. Mtodos e tcnicas de pesquisa social. 3. ed. So Paulo:r. [S.l.: s.n.], 1991. Citado na pgina 21. GOULD, J. D.; LEWIS, C. Designing for usability: key principles and what designers think. Communications of the ACM, ACM, v. 28, n. 3, p. 300311, 1985. Citado na pgina 53. 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 na pgina 57. HARING, R. Behavior driven development: Beter dan test driven development. Java Magazine, 2011. Citado na pgina 36. 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 51 e 52. 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 55. ISO/IEC 9126-1. NBR ISO/IEC 9126-1: Engenharia de software - Qualidade de produto, Parte 1: Modelo de qualidade. [S.l.], 2003. Citado na pgina 39. ISO/IEC 9241-11. NBR ISO/IEC 9241-11: ERequisitos ergonmicos para o trabalho com dispositivos de interao visual Parte 11: Orientaes sobre usabilidade. [S.l.], 2003. Citado 2 vezes nas pginas 39 e 53. 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 87. KOSKELA, L. Test Driven: Pratical TDD and Acceptance TDD for Java Developers. [S.l.]: Manning Publications, 2007. Citado na pgina 35. KRUG, S. Simplicando coisas que parecem complicadas. [S.l.: s.n.], 2010. Citado 2 vezes nas pginas 49 e 50. Referncias 103 LEE, J. C.; JUDGE, T. K.; MCCRICKARD, D. S. Evaluating extreme scenario-based design in a distributed agile team. In: CHI 11 Extended Abstracts on Human Factors in Computing Systems. New York, NY, USA: ACM, 2011. (CHI EA 11), p. 863877. ISBN 978-1-4503-0268-5. Disponvel em: <http://doi.acm.org/10.1145/1979742.1979681>. Citado na pgina 55. LEITE, S. F. C. Inspeo de usabilidade aplicada a mtodos geis: Um estudo de caso. 2013. Citado na pgina 56. 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 4 vezes nas pginas 87, 88, 89 e 90. LIU, H. H. Software Performance and Scalability: A Quantitative Approach (Quantitative Software Engineering Series). [S.l.: s.n.], 2009. Citado na pgina 32. LOWDERMILK, t. Design Centrado no Usurio: Um guia para o desenvolvimento de aplicativos amigveis. [S.l.: s.n.], 2013. Citado 2 vezes nas pginas 42 e 53. MARTIN, R. C. The test bus imperative: Architectures that support automated acceptance testing. 2005. Disponvel em: <http://www.martinfowler.com/ieeeSoftware/ testBus.pdf>. Citado na pgina 32. MASSOL, V.; HUSTED, T. JUnit in Action. [S.l.]: Manning Publications, 2003. Citado na pgina 36. MAYHEW, D. The usability engineering lifecycle: a practitioners handbbok for user interface design. [S.l.: s.n.], 1999. Citado 2 vezes nas pginas 51 e 52. MCINERNEY, P.; MAURER, F. Ucd in agile projects: dream team or odd couple? Interactions, ACM, v. 12, n. 6, p. 1923, 2005. Citado na pgina 56. MEMMEL, T.; GUNDELSWEILER, F.; REITERER, H. Agile human-centered software engineering. In: Proceedings of the 21st British HCI Group Annual Conference on People and Computers: HCI...But Not As We Know It - Volume 1. Swinton, UK, UK: British Computer Society, 2007. (BCS-HCI 07), p. 167175. ISBN 978-1-902505-94-7. Disponvel em: <http://dl.acm.org/citation.cfm?id=1531294.1531317>. Citado na pgina 55. MESZAROS, G.; WESLEY, A. XUnit Test Patterns: Refactoring Test Code. [S.l.: s.n.], 2007. Citado na pgina 31. MOARES, A. M. Design e Avaliao de Interface. [S.l.: s.n.], 2002. Citado na pgina 40. MOGGRIDGE, B. Design Interactions. [S.l.: s.n.], 2006. Citado na pgina 41. MOLINARI, L. Teste de Software. Produzindo Sistemas Melhores e Mais Conveis. [S.l.: s.n.], 2003. Citado na pgina 31. MOREIRA, T. et al. Proposta de processo de desenvolvimento distribudo de software livre com usabilidade. 2012. Citado na pgina 19. MUGRIDGE, R.; DCUNNINGHAM, W. Fit for Developing Software: Framework for Integrated Tests. [S.l.: s.n.], 2005. Citado na pgina 32. 104 Referncias 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 56. NERUR, S.; MAHAPATRA, R.; MANGALARAJ, G. Challenges of migrating to agile methodologies. [S.l.: s.n.], 2005. Citado na pgina 27. NIELSEN, J. Usability engineering. [S.l.: s.n.], 1994. Citado 5 vezes nas pginas 9, 39, 47, 48 e 50. NIELSEN, J.; LORANGER, H. Usabilidade na web: Projetando websites com qualidade. [S.l.: s.n.], 2007. Citado na pgina 39. NORMAN, D. O design do dia-a-dia. Rocco, 2006. ISBN 9788532520838. Disponvel em: <http://books.google.com.br/books?id=8zd8PgAACAAJ>. Citado na pgina 41. POTEL, M.; COTTER, S. Inside Taligent Technology. [S.l.]: Taligent Press, 1995. Citado 2 vezes nas pginas 20 e 31. PREECE, J.; ROGERS, Y.; SHARP, H. Design de Interao: Alm do homem computador. [S.l.: s.n.], 2007. Citado 8 vezes nas pginas 19, 39, 40, 41, 43, 48, 51 e 87. ROSENFELD, L.; MORVILLE, P. Information architecture of the world wide web. [S.l.: s.n.], 1998. Citado na pgina 41. SAFFER, D. Designing for Interaction: Creating Innovative Applications and Devices. New Riders, 2010. (Voices that matter). ISBN 9780321643391. Disponvel em: <http:// books.google.com.br/books?id=k28yVW3SEyYC>. Citado na pgina 41. SANTOS, A. P. Aplicao de prticas de usabilidade gil em software livre. 2012. Citado 8 vezes nas pginas 19, 20, 47, 48, 50, 54, 55 e 56. SATO, D. T. Uso ecaz de mtricas em mtodos geis de desenvolvimento de software. 2007. Citado na pgina 28. SCHWABER, K. Agile Project Management with Scrum. [S.l.]: Microssoft Press, 2004. Citado na pgina 25. SPENDOLINI, M. J. Benchmarking. [S.l.: s.n.], 1994. Citado na pgina 46. STALLMAN, R. M. Free Software: Freedom and Cooperation. 2001. Disponvel em: <http://www.gnu.org/events/rms-nyu-2001-transcript.txt>. Citado na pgina 25. SY, D. Adapting usability investigations for agile user-centered design. Journal of usability Studies, New Riders Press, Pearson Education, v. 2, n. 3, p. 112132, 2007. Citado na pgina 56. UNGER, R.; CHANDLER, C. O Guia para projetar a experincia do usurio (UX) para projetistas de contudo digital, aplicaes e web sites. [S.l.: s.n.], 2009. Citado 2 vezes nas pginas 49 e 50. VASCONCELOS, C.; GARCIA, F.; TURNELL, M. Integrando usabilidade e engenharia de software: um modelo para o desenvolvimento de sistemas centrado no usurio. WIHC-ES2003, Rio de Janeiro, 2003. Citado na pgina 57. Referncias 105 VICENTE, A. A. Denio e gerenciamento de mtricas de teste no contexto de mtodos geis. Dissertao (Mestrado) USP - Universidade de So Paulo, 2010. Citado na pgina 19. WHITTAKER, M. A. J. A. How to break Web software: functional and security testing of Web applications and Web services. [S.l.: s.n.], 2006. Citado na pgina 32. WOLKERSTORFER, P. et al. Probing an agile usability process. In: ACM. CHI08 Extended Abstracts on Human Factors in Computing Systems. [S.l.], 2008. p. 21512158. Citado na pgina 55. WURMAN, R. S. Ansiedade de Informao. [S.l.: s.n.], 1991. Citado na pgina 40.