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- 80 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 de engenharia de software apresenta um estudo sobre usabilidade e testes automatizados no desenvolvimento emprico de software a m de vericar como essas tcnicas de tests podem afetar as avaliaes de usabilidade de um software. Para isso, realizamos um estudo sobre aplicabilidade de tcnicas de usabilidade, alm de tcnicas de BDD (desenvolvimento de software dirigido por comportamento) e TDD (desenvolvimento de software dirigido por testes) em projetos de software, alm de compreender como inserir as prticas de usabilidade estudadas no ciclo de vida de desenvolvimento de um software livre utilizando uma abordagem gil. Este estudo serviu de base para levantamento de algumas hipteses a respeito do desenvolvimento emprico de software, quando pensamos em testes usabilidade, estudo que seviu como base para este trabalho de concluso de curso vericando as hipteses levantadas sobre a inuncia dos testes automatizados na usabilidade de um sistema de software. Palavras-chaves: software livre. testes automatizados. usabilidade. Lista de ilustraes Figura 1 Descrio do ttulo (feature) de um teste . . . . . . . . . . . . . . . . . 26 Figura 2 Descrio de pr condies (background) de um teste . . . . . . . . . . 26 Figura 3 Descrio do cenrio (scenario) de um teste . . . . . . . . . . . . . . . 26 Figura 4 Descrio do setup de um teste . . . . . . . . . . . . . . . . . . . . . . 27 Figura 5 Cdigo de teste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Figura 6 Ciclo de atividades TDD (BECK, 2002) . . . . . . . . . . . . . . . . . 28 Figura 7 Nmero de avaliadores (NIELSEN, 1994) . . . . . . . . . . . . . . . . . 40 Figura 8 Ciclo de Vida Estrela . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Figura 9 Ciclo do design centrado no humano - Norma ISO 13407 . . . . . . . . 47 Figura 10 Viso geral do processo de desenvolvimento de software de XPlus . . . 50 Figura 11 Questionrio de perl do usurio . . . . . . . . . . . . . . . . . . . . . 65 Figura 12 Questionrio de perl do usurio - Continuao . . . . . . . . . . . . . 66 Figura 13 Informaes sobre o uso dos meios de comunicao . . . . . . . . . . . 67 Figura 14 Participaes sociais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Figura 15 Portal da Participao Social . . . . . . . . . . . . . . . . . . . . . . . 69 Figura 16 Ambiente e tempo de acesso no portal . . . . . . . . . . . . . . . . . . 70 Figura 17 ASQ - The After-Scenario Questionnaire . . . . . . . . . . . . . . . . . 72 Figura 18 PSSUQ The Post-Study System Questionnaire . . . . . . . . . . . . . 73 Figura 19 PSSUQ: The Post-Study System Questionnaire - Questes de 8 19 . 74 Lista de tabelas Tabela 1 Comparativo dos questionrios . . . . . . . . . . . . . . . . . . . . . . 75 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.1 Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.2.1 Objetivo geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.2.2 Objetivos especcos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.3 Questes de pesquisa . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.4 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.5 Organizao do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . 19 2 MTODOS EMPRICOS DE DESENVOLVIMENTO DE SOFTWARE 21 2.1 Software Livre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.2 Mtodos geis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.3 Consideraes nais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3 TESTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.1 Testes Automatizados . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.1.1 Testes de aceitao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.1.2 Testes Funcionais e Unitrios . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.2 Tcnicas de desenvolvimento de testes automatizados . . . . . . . . 27 3.2.1 TDD - Test Driven Development . . . . . . . . . . . . . . . . . . . . . . . 28 3.2.2 BDD - Behavior Driven Development . . . . . . . . . . . . . . . . . . . . 29 3.2.3 Consideraes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4 USABILIDADE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.1 Usabilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.1.1 Avaliao de Usabilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.2 Tcnicas e Mtodos da Engenharia de Usabilidade . . . . . . . . . . 35 4.2.1 Mtodos e tcnicas de concepo . . . . . . . . . . . . . . . . . . . . . . 36 4.2.2 Mtodos e tcnicas de anlise . . . . . . . . . . . . . . . . . . . . . . . . 36 4.2.3 Tcnicas e Mtodos de avaliao . . . . . . . . . . . . . . . . . . . . . . . 39 4.3 Testes de Usabilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.3.1 Teste da Usabilidade vs. Teste de Aceitao do Usurio (UAT) . . . . . . . 43 4.4 Processos de Usabilidade . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.4.1 Modelo Estrela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.4.2 O ciclo de vida da Engenharia de Usabilidade - Mayhew . . . . . . . . . . . 45 4.4.3 Design Centrado no Usurio . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.4.3.1 ISO 13407 e 9241-210 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.5 Aplicao de usabilidade em mtodos geis . . . . . . . . . . . . . . 47 4.5.1 Estudos correlatos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.5.2 DCU gil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.5.3 DCU e XP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.6 Princpios geis aplicados ao Design centrado no usurio . . . . . . 52 4.7 Consideraes nais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 5 PROJETO DE ESTUDO DE CASO . . . . . . . . . . . . . . . . . . 55 5.1 Denio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 5.1.1 Objetivo Global . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 5.1.2 Objetivo de Medio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 5.2 Planejamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 5.2.1 Denio de Hipteses . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.2.2 Seleo do Contexto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.2.3 Seleo dos Indivduos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.3 Fonte e Mtodo de Coleta de Dados . . . . . . . . . . . . . . . . . . 57 5.4 Validade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.5 Estudo de Campo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.6 Anlise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.7 Consideraes nais do captulo . . . . . . . . . . . . . . . . . . . . . 58 6 ESTUDO DE CASO . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 6.1 Objeto de Estudo: Portal do Software Pblico Brasileiro - SPB . . . 59 6.1.1 Viso Geral do Projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 6.2 Execuo do estudo de caso . . . . . . . . . . . . . . . . . . . . . . . 59 6.2.1 Guia de usabilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 6.2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 6.3 Execuo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 6.4 Anlise e Interpretao dos Resultados . . . . . . . . . . . . . . . . . 61 6.4.1 Anlise dos Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 6.4.2 Anlise dos Resultados de Medio . . . . . . . . . . . . . . . . . . . . . . 61 6.4.3 Vericao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 6.5 Consideraes nais do captulo . . . . . . . . . . . . . . . . . . . . . 61 7 CONSIDERAES FINAIS . . . . . . . . . . . . . . . . . . . . . . . 63 A APNDICE 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 A.1 Questionrio de Perl do Usurio . . . . . . . . . . . . . . . . . . . . 65 A.2 Questionrio de Satisfao . . . . . . . . . . . . . . . . . . . . . . . . 70 A.2.1 QUIS - Questionnaire for User Interaction Satisfaction . . . . . . . . . . . 70 A.2.2 SUS System Usability Scale . . . . . . . . . . . . . . . . . . . . . . . . 71 A.2.3 SUMI Usability Measurement Inventory . . . . . . . . . . . . . . . . . . 71 A.2.4 ASQ The After-Scenario Questionnaire . . . . . . . . . . . . . . . . . . 71 A.2.5 PSQ The Printer-Scenario Questionnaire . . . . . . . . . . . . . . . . . 72 A.2.6 PSSUQ The Post-Study System Questionnaire . . . . . . . . . . . . . . 72 A.2.7 CSUQ - Computer System Usability Questionnaire . . . . . . . . . . . . . 74 A.2.8 Comparativo dos questionrios . . . . . . . . . . . . . . . . . . . . . . . . 75 Referncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 17 1 Introduo O desenvolvimento de software usando mtodos empricos, como software livre e mtodos geis, uma realidade. Uma prtica bsica de mtodos geis so os testes automa- tizados, preocupando-se com as aplicaes de testes em sistemas cada vez mais dinmicos, com propostas para aumento de qualidade e produtividade de software (VICENTE, 2010). Adicionalmente, as reas relacionadas a usabilidade vem sendo estudadas para serem apli- cadas no contexto de desenvolvimento emprico de software. Criar software que seja til e fcil de usar um fator importante para a evoluo dos sistemas (SANTOS, 2012). Um dos grandes problemas encontrados em projetos de software livre a pouca ateno dada aos aspectos referentes a usabilidade das aplicaes. Para Moreira et al. (2012) enfatizar na criao, melhoria e teste do cdigo fonte pode ser um dos principais problemas que contribui para a falta de usabilidade dos softwares livres. 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 preocupa 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. O Noosfero, um sistema para desen- volvimento de redes sociais na qual faz parte este estudo, tem tido algumas iniciativas por parte dos desenvolvedores da plataforma para a melhoria da usabilidade da ferramenta. A adoo das prticas de usabilidade no contexto de mtodos geis vm sendo estudada por vrios autores no qual armam que possvel a integrao visto que tanto os mtodos geis como os processo de usabilidade tm em comum caractersticas que colocam o foco do desenvolvimento nas necessidades e anseios dos usurios nais, na interao entre os stakeholders envolvidos e na qualidade nal do produto a ser desenvolvido. A automao de testes uma prtica gil, ecaz e de baixo custo que tambm busca melhorar a qualidade dos sistemas de software (POTEL; COTTER, 1995). O que este trabalho busca encontrar um ponto de interseco entre os testes automatizados e a usabildiade, utilizados no desenvolvimento gil. 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 18 Captulo 1. Introduo sistema (SANTOS, 2012). Outro problema do desenvolvimento de software atualmente est em garantir qua- lidade de software de forma prtica e econmica, testes podem interferir nestas caracte- rsticas se no forem bem planejados. 1.2 Objetivos 1.2.1 Objetivo geral Este trabalho de concluso de curso busca analisar tcnicas e mtodos de usabili- dade, assim como tcnicas de desenvolvimento de testes no desenvolvimento emprico de software para vericarmos os possveis efeitos de tcnicas como TDD (desenvolvimento dirigido por testes) e BDD (desenvolvimento dirigido por comportamento) na usabilidade de um software, a partir de tcnicas como testes de usabilidade, dentre outras. 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. Integrar 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. Como inserir os princpios de usabilidade dentro do processo gil de desenvolvimento de software? 3. Como o processo de desenvolvimento utilizando prticas do BDD e TDD podem inuenciar os testes de usabilidade? 1.4. Metodologia 19 1.4 Metodologia 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 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 o estudo de caso realizado no Portal do Software Pblico, baseado na plataforma Noosfero. O trabalho se encerra com as consideraes nais, assim como as anlises obtidas de todo o processo do trabalho. 21 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 software 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. 22 Captulo 2. Mtodos Empricos de Desenvolvimento de Software 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 1 . 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 negociao de contrato; 4. Responder s mudanas sobre seguir um planejamento; Existe uma relao entre 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. 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. 1 <http://manifestoagil.com.br> 2.3. Consideraes nais 23 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 cli- ente/usurio. A partir desses curtos ciclos 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 baixo custo e poucos defeitos, de acordo com Sato (2007). O XP conta com algumas prticas que so: refatorao, integrao contnua, testes automatizados, cdigo coletivo e programao em pares. Em suma, o ambiente de desenvolvimento que este trabalho est inserido baseado em mtodoodos de desenvolvimento empricos de software, como XP e Software Livre, buscando seguir os princpios geis para o desenvolvimento de software livre. 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 acordo com a percepo do mundo externo. Nos prximos captulos abordaremos como o desenvolvimento de testes abordado no desenvolvimento emprico e como a usabilidade pode ser inserida neste contexto. 25 3 Testes Testar uma pratica intrnseca ao desenvolvimento e antiga a necessidade de criar programas para testar cenrios especcos, de acordo com Everett et al. (2007). Testes de software sero abordados neste captulo, iniciando com uma viso geral de testes automatizados e conhecendo algumas prticas e padres utilizados para desenvolver os mesmos. Para Potel e Cotter (1995) a automao de testes uma prtica gil, ecaz e de baixo custo para melhorar a qualidade dos sistemas de software. No entanto utilizar testes automatizados como uma premissa bsica do desenvolvimento um fenmeno 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 automtica 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). Ser abordado neste trabalho o desenvolvimento de testes de aceitao para vericar sua relao com a usabilidade. 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 fun- cionalidade, o cucumber executa testes, proporcionando uma melhor comunicao entre equipe de desenvolvimento e cliente. No cucumber, uma feature um requisito de alto nvel expressado da perspectiva 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. 26 Captulo 3. Testes 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 cenrio possui uma srie de passos que demonstram 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. 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 3.2. Tcnicas de desenvolvimento de testes automatizados 27 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. 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. 28 Captulo 3. Testes 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; Figura 6: Ciclo de atividades TDD (BECK, 2002) 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 regresso, 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 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. 3.2. Tcnicas de desenvolvimento de testes automatizados 29 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 dirigido 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 desenvolvimento, substituindo 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 coloca em foco o comportamento em vez da estrutura de uma funcionali- dade e faz isso em todos os nveis de desenvolvimento. Uma vez reconhecido isso, muda-se a forma de pensar sobre desenvolvimento para fora do cdigo. Assim o foco parte para as in- teraes, as pessoas e o sistema, sobre 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 princpios do BDD: 1. O suciente suciente: parte da ideia de gerenciar o esforo 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 desenvolvedores do sistema. 30 Captulo 3. Testes 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 a usabilidade e como esta rea inserida no processo de desenvolvimento emprico. 31 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 satisfao 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 satisfao 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. 32 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 situaes 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 33 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 ser fcil de uti- lizar, agradvel 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). 34 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 psicologia, sociolo- gia, cincia da informao e da computao, fatores humanos, design grco e industrial, 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 especialistas. 4.2. Tcnicas e Mtodos da Engenharia de Usabilidade 35 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 inspeo 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 caractersticas 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. 36 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 distribudos 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 37 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 rastreia o movimento dos olhos e da cabea para re- gistrar a tomada de informaes numa interface. Questionrios de Perl de Uso: utilizado para obter informaes sobre as caracte- rsticas reais dos usurios de um sistema e saber como eles realmente utilizam tais ferramentas. importante que ao utilizar 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 e-mails 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 satisfao 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 satisfao do usurio (CYBIS; BETIOL; FAUST, 2010). 38 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 prticas com a nalidade de comparar desempenhos e identicar oportunidades de melhoria (SPENDOLINI, 1994). Esse mtodo parte da denio dos critrios de avaliao e seleo de representan- tes relevantes para criar uma listagem de caractersticas desejveis para o futuro sistema, como tambm os aspectos que so desfavorveis e que devem ser evitados. Cenrios de uso: uma tcnica simples e ecaz para analisar e comunicar uma parte das especicaes de requisitos produzidos para a usabilidade e a interface. So utilizados para comunicar os cenrios atuais de uma tarefa (problema) e o cenrio futuro (soluo). Os cenrios de soluo deve descrever em linguagem natural, como determinados usurios realizaro tarefas especcas com o sistema em um 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 39 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> 40 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 identicar 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 41 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 identicam, sistematizao dos resultados, facilidade da aplicao. No estudo de caso detalhado e planejado no prximo 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 indivduo (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 42 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 frustraes 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 signicativos relacionados as tarefas que voc est testando. 4.3. Testes de Usabilidade 43 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 estejam 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 44 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 45 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, sistemas 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 nveis de aspectos de uma interface: No primeiro nvel sendo a interface denida conceitualmente; no segundo nvel refere-se as denies em termos de estilo; e no terceiro nvel as interaes e componentes relacionados com os contextos das tarefas especiais. A ltima fase a de instalao do sistema onde depois que o usurio j estiver acostumado com o sistema ele pode dar um feedback sobre a usabilidade do produto de forma mais dedigna por j ser um especialista"da ferramenta como cita a autora. Uma das tcnicas utilizadas para coletar feedback so os testes de usabilidade no local do trabalho dos usurios ou utilizando mtodos de anlise como entrevistas, observaes, questionrios, grupos de discusses. 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. 46 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 dcada 70 que so utilizados at hoje que so: Foco desde o inicio nos usurios e nas tarefas, medidas empricas 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 47 Figura 9: Ciclo do design centrado no humano - Norma ISO 13407 4.5 Aplicao de usabilidade em mtodos geis Os mtodos geis so 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 princpios, 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 design da experincia do usurio em iniciativas de processos geis em organizaes que 48 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 software 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. Foram abordados duas modalidades de avaliao heurstica nessa pequena 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 atribudas 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 desenvolvimento 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 49 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 tpicos 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 possvel 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 intitulada 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 praticas 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. 50 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 reutilizveis 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, o que contraria o mani- festo gil. O mtodo XPU foi denido a partir do processo de usabilidade Praxis-u (Padua, 2006). As atividades no XPu esto divididas em atividades tcnicas e gerenciais. As ati- vidades tcnicas esto relacionadas execuo correta do processo de usabilidade, j as atividades gerenciais garantem o controle do andamento e execuo dessas prticas. Na tabela abaixo apresentado as atividades tcnicas e gerenciais de cada viso (projeto, iterao e desenvolvimento) estabelecidas pelo XP e adaptadas pelo mtodo XPu: Viso de Projeto Atividades Tcnicas 4.5. Aplicao de usabilidade em mtodos geis 51 Atividade Tcnica Descrio Anlise de Usurios Personas Caracterizar grupos de usurios nais. Descrever hbitos, a procincia e a expectativa de um usurio em relao ao que vai ser desenvolvido. Anlise de Tarefas Roteiros Prope uma narrativa textual real, concreta e rica em detalhes contextuais para descrever a execuo de uma tarefa por um usurio tpico. Anlise de Contexto de uso Histrias de usabilidade So formadas pela descrio do uxo de uma tarefa (Roteiro) sendo realizada por um usurio tpico (Persona). Denio de requisitos e metas de usabilidade Benchmarks Servem de balizadores para avaliar a qualidade da usabilidade entregue e cada iterao. Benchmarks so gerados a partir dos atributos de usabilidade Avaliao da Usabilidade Cenrios de Testes escrever Avaliao da Usabilidade Testes de Usabilidade Estes testes podem ser feitos atravs de avaliaes preditivas, experimentais, Atividades Gerenciais Atividade Tcnica Descrio Atores Insumos Planejamento de usabilidade Planning Poker Essa atividade ocorre simultaneamente do planejamento da release. O Projetista de interao contribui com o seu parecer sobre as estimativas de tamanho das histrias de usabilidade. Todos os stakeholders + o projetista de interao Histrias de usabilidade Planejamen das avalia Controle de Usabilidade Velocity Acompanhamento das tarefas relativas usabilidade, comparando o esforo previ- sto com o realizado. Projetista de Interao e o Tracker do XP Estimativas recursos, Viso de Iterao Atividade Tcnica Descrio Insumos Sadas Denio de estilos de interao. Template So modelos estruturados de interface que permite denir um guia de estilo padro. O guia de estilo descreve diretrizes e padres para o desenvolvimento de software. Requisitos de Usabilidade Guia estilos (T Desenho de Interao Interface Final As interfaces geradas devem estar em conformidade com os templates denidos pelo projeto. Templates In nais Viso de Desenvolvimento 52 Captulo 4. Usabilidade Atividade Tcnica Descrio Insumos Sadas Prototipao de Interface Prottipao Rpida feita atravs de prottipos de baixa delidade em papel. So feitos pelos projetistas de interao e apresentados aos usurios com objetivo de avali-los e discutir alternativas de desenhos. Templates Prottip Simplicado Avaliao de Usabilidade Podem ser utilizadas vrias tcnicas Diversas avaliaes podem ser utilizadas durante o ciclo de desenvolvimento. Cenrios de Testes 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. Compreender 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 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 sistema 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 ideia 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 4.7. Consideraes nais 53 Os prottipos de baixa resoluo permite visualizar uma soluo de forma mais r- pida e concreta economizando tempo de design e desenvolvimento. Esses prottipos ajudam a comunicar e entender ideias 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 prottipo 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. 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. 55 5 Projeto de Estudo de Caso Este captulo apresenta a parte de projeto do estudo de caso desenvolvido no trabalho, compondo os objetivos, global e especcos, do estudo, alm das questes de pesquisa, questes especcas e mtricas que sero utilizadas. Este estudo de caso classicado como exploratrio, pois no esperamos obter uma resposta denitiva para o problema proposto...... 5.1 Denio Neste trabalho foi apresentado um estudo terico relacionado integrao das tcnicas de usabilidade ao longo do ciclo de vida gil de desenvolvimento de software livre juntamente com um estudo dos testes de softwares existentes e como estes testes podem impactar a usabilidade de um sistema. Assim, a proposta deste trabalho consiste na investigao, coleta, anlise e discus- so dos resultados de dados na adoo de prticas de usabilidade no desenvolvimento de emprico de software. 5.1.1 Objetivo Global O objetivo global desse estudo analisar possveis efeitos da adoo de prticas e tcnicas de testes automatizados na usabilidade, durante o processo de desenvolvimento emprico de software. 5.1.2 Objetivo de Medio Tendo em vista a utilizao de vrias tcnicas de usabilidade e de testes de software em um projeto de desenvolvimento emprico, os objetivos de medio foram denidos m de: 1. Avaliar a inuncia de prticas de BDD e TDD na usabilidade de um software. 2. Avaliar o impacto da adoo de tcnicas de usabilidade em um contexto especco de desenvolvimento emprico de software. A partir dos objetivos de medio estabelecidos, foram denidas questes de pes- quisa: 56 Captulo 5. Projeto de Estudo de Caso 1. Como os testes automatizados so denidos e implementados em um ambiente de desenvolvimento de software emprico? 2. Como inserir os princpios e tcnicas de usabilidade dentro do processo gil de desenvolvimento de software? 3. Como o processo de desenvolvimento utilizando prticas do BDD e TDD podem inuenciar os testes de usabilidade? A partir das quesqtes de pesquisa, foram denidas questes especicas e para cada questo, foram denidas mtricas: ======= 1. Questo 01: Qual a estimativa de esforo gasto com testes? Mtrica: Pontos de histria / horas gastas com testes por sprint. 2. Questo 02: Qual a cobertura de testes apresentada? Mtrica: Porcentagem de cobertura de testes. 3. Questo 03: Qual a viabilidade da adoo de prticas de usabilidade em conjunto com as metodologias geis utilizadas no projeto? Observar a integrao das atividades ao longo do ciclo de vida do projeto e reali- zar entrevista com os participantes sobre as principais diculdades encontradas na integrao das duas metodologias. 4. Questo 04: Qual a conformidade do sistema com as heursticas de usabilidade? Mtrica: 5. Questo 05: Qual a capacidade do sistema de atrair o usurio? Mtrica: 6. Questao 06: QUal a capacidade do sistema de possibilitar ao usurio aprender a manuse-lo? Mtrica: 5.2 Planejamento Nessa seo so apresentados a seleo dos contextos, a formulao das hipteses, a seleo das variveis, a seleo dos participantes. 5.3. Fonte e Mtodo de Coleta de Dados 57 5.2.1 Denio de Hipteses Hiptese nula (H0) A integrao das prticas de usabilidade e de testes de software no ciclo de vida de desenvolvimento gil de software possvel e acrescenta melhorias na usabilidade do sistema? Hiptese A utilizao de prticas de BDD/TDD inuencia nos testes de usabili- dade... Obs: Falta denir as hipteses de forma correta. 5.2.2 Seleo do Contexto O contexto selecionado para o estudo de caso o desenvolvimento do novo Portal do Software Pblico, que vem sendo desenvolvido no LAPPIS a partir das metodologias geis Scrum e XP. 5.2.3 Seleo dos Indivduos O projeto do portal do software pblico envolve a equipe de desenvolvimento do LAPPIS, coordenados pelos professores responsveis, envolve tambm a SLTI (Secretaria de Logstica e Tecnologia da Informao) e sua direo. Secretria Executiva: responsvel pelo nanciamento dos projetos do ministrio. Diretor: responsvel estratgico pelos projetos do ministrio, seria o Product Ow- ner do projeto. Equipe SLTI: responsvel pelo levantamento e validao dos requisitos do projeto. Coordenadores: responsveis estratgicos pela equipe de desenvolvimento do projeto (LAPPIS). Equipe de desenvolvimento: responsvel pelo desenvolvimento do portal do software pblico, que dividida em duas equipes, uma responsvel pelo Colab e outra pelo Noosfero, cada equipe com seu coach. 5.3 Fonte e Mtodo de Coleta de Dados Os dados foram coletados por meio de entrevistas informais, observaes, questi- onrios ..... 58 Captulo 5. Projeto de Estudo de Caso 5.4 Validade As principais ameaas aplicveis aos estudos de caso so mencionadas por Yin (2010). Dentre elas, esto a validade do constructo, validade interna, validade externa e conabilidade. 5.5 Estudo de Campo 5.6 Anlise 5.7 Consideraes nais do captulo Este captulo apresentou o planejamento do estudo de caso.... 59 6 Estudo de Caso Neste captulo ser apresentado o estudo de caso sobre a utilizao de prticas de usabilidade e testes automatizados no desenvolvimento do Portal do Software Pblico, baseado na plataforma Noosfero, onde ser denido um guia de como essas prticas podem ser inseridas nesse contexto especco. 6.1 Objeto de Estudo: Portal do Software Pblico Brasileiro - SPB O Portal do Software Pblico Brasileiro consiste em um sistema que permite o compartilhamento de softwares e faz parte da poltica de software livre no setor pblico. O SPB ser o objeto de estudo de caso, assim como o processo de colaborao com o SPB, que realizado no LAPPIS da UnB. 6.1.1 Viso Geral do Projeto O processo de colaborao com o SPB baseia-se no desenvolvimento emprico e nas metodologias geis scrum e XP. O desenvolvimento de testes automatizados intrnseco ao processo de desenvolvimento. A partir destes pontos mencionados, buscamos evoluir a forma com que o processo de colaboraao com o SPB lida com problemas de usabilidade. O processo de desenvolvimento feito a partir de sprints de duas semanas, em que so realizadas reunies com as equipes e reunies de planejamento (Planning Poker) em cada equipe para denir as atividades de cada sprint. 6.2 Execuo do estudo de caso 6.2.1 Guia de usabilidade Seguindo as pesquisas realizadas sobre as tcnicas de usabilidade e as metodologias existentes propostas por vrios autores sobre a integrao de tais tcnicas em um contexto de dedesnvolvimento emprico de software, propomos para este estudo de caso o seguinte guia que deve ser executado nas sprints de desenvolvimento do Portal do Software Pblico: 1. Anlise de Usurios No nicio de qualquer projeto importante conhecer quem so os usurios que iro utilizar o sistema ser desenvolvido. Para isso existe algumas tcnicas que foram criadas para conhecer melhor quem so os usurios: 60 Captulo 6. Estudo de Caso Persona Roteiros 2. Anlise do contexto de uso As Personas e os Roteiros geram as Histrias de usabilidade. 3. Denio de Requisitos e Metas de usabilidade Criao de Benchmarks pelos projetistas de interao e usurios para servir como balizadores para avaliar a qualidade da usabilidade que est sendo entregue ao nal de cada iterao. Baseado nos atributos de usabilidade so estabelecidos instru- mentos de medida para se obter valores quantitativos para cada atributo. Esses benchmarks so utilizados para planejar a avaliao de usabilidade e para realizar os testes que iro compor cada avaliao. 4. Planejamento de Usabilidade Estimar os recursos relativos usabilidade que sero utilizados ao longo do desenvol- vimento. Previses de tempo e custo no planejamento da release. No planejamento da Release do projeto deve-se pensar tambm em estimativas de tamanho para as histrias de usabilidade e para o planejamento das avaliaes de usabilidade. 5. Avaliao da usabilidade Ao longo do ciclo de vida diversas avaliaes podem ser realizadas: Avaliao Heurstica Antes de executar um teste de usabilidade importante primeiro fazer uma avaliao heurstica para identicar possveis problemas que possam ser encon- trados pelos usurios. Testes com usurios Em nosso estudo vamos propor que ao nal de cada release seja feito um teste de usabilidade com 5 usurios, como proposto por Nielsen. . 6. Controle de Usabilidade Ao nal de cada interao a velocidade do projeto avaliada. Deve-se acompanhar as tarefas relativas usabilidade comparando o esforo previsto com o realizado. Esse protocolo foi extrado do estudo de vrias metodologias criadas para a integrao das tcnicas de usabilidade no contexto de desenvolvimento gil de software, so elas XPu e XPlus. 6.3. Execuo 61 6.2.2 6.3 Execuo O estudo de caso 6.4 Anlise e Interpretao dos Resultados Esta seo apresenta a discusso e a interpretao dos resultados observados du- rante a execuo do estudo de caso descrito. 6.4.1 Anlise dos Dados Baseado nos objetivos do estudo de caso, os dados a serem levantados dizem res- peito ??? 6.4.2 Anlise dos Resultados de Medio Analisa os resultados alcanados no estudo de caso, baseado ... 6.4.3 Vericao Esta subseo analisa os resultados alcanados no estudo de caso, baseado nas hipteses levantadas e apresentadas no nicio desta seo........ 6.5 Consideraes nais do captulo 63 7 Consideraes nais 65 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 11: Questionrio de perl do usurio 66 Apndice A. Apndice 1 A primeira parte do questionrio mostra perguntas gerais referentes ao perl social dos usurios como idade, ocupao/prosso, gnero, formao e reas de interesse. Figura 12: Questionrio de perl do usurio - Continuao A.1. Questionrio de Perl do Usurio 67 Na seo dois do questionrio, as informaes sobre o uso dos meios de comunicao que cada usurio. Informaes sobre locais de acesso internet, velocidade de conexo, principais redes sociais e as principais atividades que realiza na internet. Figura 13: Informaes sobre o uso dos meios de comunicao 68 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 partici- paes em manifestaes, alm de saber sobre o meio de informao na qual se informa sobre os movimentos. Figura 14: Participaes sociais A.1. Questionrio de Perl do Usurio 69 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 funcionalidades que cada usurio utilizava. Figura 15: Portal da Participao Social 70 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 16: 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 questi- onrio 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, te- leconferncia e instalao de software. Pode ser congurado de acordo com a necessidade e interesse do usurio. um questionrio proprietrio, sugerido o uso de planilhas eletrnicas e softwares estatsticos at que se implementem recursos de anlise no servidor web dos proprietrios. A.2. Questionrio de Satisfao 71 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 quantidade grande de questes desanima os usurios que possivelmente no preencheria todas as questes, resultando assim problemas na captura de reaes subjetivas do usurio. Foi ento proposto um questionrio com 10 questes que utiliza a escala Likert de cinco ou sete pontos. Este questionrio abrange vrios aspectos 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 medi- o 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 forte- mente, 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) 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 72 Apndice A. Apndice 1 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 17: 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 possui 19 itens para avaliao da satisfao do usurio com a usabilidade do sistema. gasto em mdia 10 minutos para completar o questionrio, mas s preciso completar uma vez o questionrio no m do estudo de usabilidade. (LEWIS, 1995) A.2. Questionrio de Satisfao 73 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, simpli- cidade, 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 informao (INFOQUAL) e a qualidade da interface (INTERQUAL). A escala Global est relacionada com a soma das classicaes ASQ que os parti- cipantes deram aps completar cada cenrio. Figura 18: PSSUQ The Post-Study System Questionnaire 74 Apndice A. Apndice 1 Figura 19: 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. En- quanto 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, 1995) O CSUQ utilizado A.2. Questionrio de Satisfao 75 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 cona- bilidade em relao ao PSQ. PSSUQ e CSUQ so ambos os questionrios de satisfao global. O PSSUQ uti- liza itens adequados para uma situao de teste de usabilidade, j o CSUQ so apro- priados 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 1: Comparativo dos questionrios 77 Referncias AGNER, L. Arquitetura da informao: Testes de sabilidade. 2004. Citado na pgina 33. 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 47. BECK, K. Test-Driven Development by Example. [S.l.]: Addison-Wesley Prefessional, 2002. Citado 2 vezes nas pginas 7 e 28. BERNARDO, P. C. Padres de testes automatizados. Dissertao (Mestrado) Instituto de Matemtica e Estatstica Universidade de So Paulo, 2011. Disponvel em: <http://www.teses.usp.br/teses/disponiveis/45/45134/tde-02042012-120707/>. Citado 2 vezes nas pginas 25 e 29. BERVIAN, P. A.; CERVO, A. L.; SILVA, R. d. Metodologia cientca. So Paulo, 2002. Citado na pgina 35. 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 71. CHAU, M. Convite a losoa. [S.l.: s.n.], 2003. Citado na pgina 21. 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 25 e 29. 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 48. CORBUCCI, H. Mtodos geis e software livre: um estudo da relao entre estas duas comunidades. Tese (Doutorado) Universidade de So Paulo, 2011. Citado na pgina 22. CYBIS, W.; BETIOL, H.; FAUST, R. Ergonomia e Usabilidade: Conhecimentos, Mtodos e Aplicaes. [S.l.: s.n.], 2010. Citado 10 vezes nas pginas 33, 34, 35, 37, 38, 39, 40, 41, 44 e 47. DIAS, C. Usabilidade na Web: Criando websites mais acessveis. [S.l.: s.n.], 2006. Citado na pgina 31. DICKINSON, J.; KUNAMA, D. How user-centered design can put user stories in proper contex. New Riders Press, Pearson Education, 2010. Citado na pgina 49. EASON, K. D. User-centred design: for users or by users? 2005. Citado na pgina 46. EVERETT, G. D. et al. Software Testing. [S.l.: s.n.], 2007. Citado na pgina 25. 78 Referncias 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 49. GARRET, J. The Elements of user experience. [S.l.: s.n.], 2003. Citado na pgina 33. 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 46. 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 49. HARING, R. Behavior driven development: Beter dan test driven development. Java Magazine, 2011. Citado na pgina 29. HIX, D.; HARTSON, H. R. Developing User Interfaces: Ensuring Usability Through Product &Amp; Process. New York, NY, USA: John Wiley & Sons, Inc., 1993. ISBN 0-471-57813-4. Citado na pgina 44. 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 47. 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 31. 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 31 e 45. 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 71. KOSKELA, L. Test Driven: Pratical TDD and Acceptance TDD for Java Developers. [S.l.]: Manning Publications, 2007. Citado na pgina 28. KRUG, S. Simplicando coisas que parecem complicadas. [S.l.: s.n.], 2010. Citado na pgina 42. 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 48. LEITE, S. F. C. Inspeo de usabilidade aplicada a mtodos geis: Um estudo de caso. 2013. Citado na pgina 48. LEWIS, J. R. Ibm computer usability satisfaction questionnaires: psychometric evaluation and instructions for use. International Journal of Human-Computer Interaction, Taylor and Francis, v. 7, n. 1, p. 5778, 1995. Citado 3 vezes nas pginas 71, 72 e 74. Referncias 79 LOWDERMILK, t. Design Centrado no Usurio: Um guia para o desenvolvimento de aplicativos amigveis. [S.l.: s.n.], 2013. Citado 2 vezes nas pginas 34 e 46. MASSOL, V.; HUSTED, T. JUnit in Action. [S.l.]: Manning Publications, 2003. Citado na pgina 28. MAYHEW, D. The usability engineering lifecycle: a practitioners handbbok for user interface design. [S.l.: s.n.], 1999. Citado 2 vezes nas pginas 44 e 45. 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 49. 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 48. MESZAROS, G.; WESLEY, A. XUnit Test Patterns: Refactoring Test Code. [S.l.: s.n.], 2007. Citado na pgina 25. MOARES, A. M. Design e Avaliao de Interface. [S.l.: s.n.], 2002. Citado na pgina 32. MOGGRIDGE, B. Design Interactions. [S.l.: s.n.], 2006. Citado na pgina 33. MOREIRA, T. et al. Proposta de processo de desenvolvimento distribudo de software livre com usabilidade. 2012. Citado na pgina 17. 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 49. NERUR, S.; MAHAPATRA, R.; MANGALARAJ, G. Challenges of migrating to agile methodologies. [S.l.: s.n.], 2005. Citado na pgina 22. NIELSEN, J. Usability engineering. [S.l.: s.n.], 1994. Citado 5 vezes nas pginas 7, 31, 39, 40 e 42. NIELSEN, J.; LORANGER, H. Usabilidade na web: Projetando websites com qualidade. [S.l.: s.n.], 2007. Citado na pgina 31. 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 33. POTEL, M.; COTTER, S. Inside Taligent Technology. [S.l.]: Taligent Press, 1995. Citado 2 vezes nas pginas 17 e 25. PREECE, J.; ROGERS, Y.; SHARP, H. Design de Interao: Alm do homem computador. [S.l.: s.n.], 2007. Citado 8 vezes nas pginas 17, 31, 32, 33, 35, 41, 44 e 71. ROSENFELD, L.; MORVILLE, P. Information architecture of the world wide web. [S.l.: s.n.], 1998. Citado na pgina 33. 80 Referncias 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 33. SANTOS, A. P. Aplicao de prticas de usabilidade gil em software livre. 2012. Citado 9 vezes nas pginas 17, 18, 39, 41, 43, 46, 47, 48 e 49. SATO, D. T. Uso ecaz de mtricas em mtodos geis de desenvolvimento de software. 2007. Citado na pgina 23. SCHWABER, K. Agile Project Management with Scrum. [S.l.]: Microssoft Press, 2004. Citado na pgina 21. SPENDOLINI, M. J. Benchmarking. [S.l.: s.n.], 1994. Citado na pgina 38. STALLMAN, R. M. Free Software: Freedom and Cooperation. 2001. Disponvel em: <http://www.gnu.org/events/rms-nyu-2001-transcript.txt>. Citado na pgina 21. 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 48. 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 3 vezes nas pginas 41, 42 e 43. 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 50. 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 17. 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 48. WURMAN, R. S. Ansiedade de Informao. [S.l.: s.n.], 1991. Citado na pgina 33.