tcc2 rodrigo jonatas

101
Universidade de Brasília - UnB Faculdade UnB Gama - FGA Engenharia de Software Um estudo do relacionamento entre técnicas de usabilidade e testes automatizados em métodos empíricos de desenvolvimento de software Autores: Rodrigo Medeiros Soares da Silva, Jônatas Medeiros de Mendonça Orientador: Prof. Dr. Paulo Roberto Miranda Meirelles Brasília, DF 2014

Upload: jonatas-medeiros-de-mendonca

Post on 19-Nov-2015

23 views

Category:

Documents


0 download

DESCRIPTION

Um estudo do relacionamento entre técnicas de usabilidade e testes automatizados em métodosempíricos de desenvolvimento de software

TRANSCRIPT

  • Universidade de Braslia - UnB

    Faculdade UnB Gama - FGA

    Engenharia de Software

    Um estudo do relacionamento entre tcnicas deusabilidade e testes automatizados em mtodos

    empricos de desenvolvimento de software

    Autores: Rodrigo Medeiros Soares da Silva,Jnatas Medeiros de Mendona

    Orientador: Prof. Dr. Paulo Roberto Miranda Meirelles

    Braslia, DF

    2014

  • Rodrigo Medeiros Soares da Silva,Jnatas Medeiros de Mendona

    Um estudo do relacionamento entre tcnicas de

    usabilidade e testes automatizados em mtodos

    empricos de desenvolvimento de software

    Monografia submetida ao curso de graduaoem Engenharia de Softwareda Universidadede Braslia, como requisito para obteno doTtulo de Bacharel em Engenharia de Soft-ware.

    Universidade de Braslia - UnB

    Faculdade UnB Gama - FGA

    Orientador: Prof. Dr. Paulo Roberto Miranda Meirelles

    Braslia, DF

    2014

  • Rodrigo Medeiros Soares da Silva,Jnatas Medeiros de Mendona

    Um estudo do relacionamento entre tcnicas de usabilidade e testes automati-zados em mtodos empricos de desenvolvimento de software / Rodrigo MedeirosSoares da Silva,Jnatas Medeiros de Mendona . Braslia, DF, 2014-

    99 p. : il. (algumas color.) ; 30 cm.

    Orientador: Prof. Dr. Paulo Roberto Miranda Meirelles

    Trabalho de Concluso de Curso Universidade de Braslia - UnBFaculdade UnB Gama - FGA , 2014.

    1. Testes automatizados. 2. Desenvolvimento emprico. 3. Usabilidade. I.Prof. Dr. Paulo Roberto Miranda Meirelles. II. Universidade de Braslia. III.Faculdade UnB Gama. IV. Um estudo do relacionamento entre tcnicas de usabili-dade e testes automatizados em mtodos empricos de desenvolvimento de software

    CDU 02:141:005.6

  • Rodrigo Medeiros Soares da Silva,Jnatas Medeiros de Mendona

    Um estudo do relacionamento entre tcnicas deusabilidade e testes automatizados em mtodos

    empricos de desenvolvimento de software

    Monografia submetida ao curso de graduaoem Engenharia de Softwareda Universidadede Braslia, como requisito para obteno doTtulo de Bacharel em Engenharia de Soft-ware.

    Trabalho aprovado. Braslia, DF, Dezembro de 2014:

    Prof. Dr. Paulo Roberto MirandaMeirellesOrientador

    Prof. Hilmer Rodrigues NeriConvidado 1

    Prof. Tiago Barros Pontes e SilvaConvidado 2

    Braslia, DF2014

  • Resumo

    Este trabalho de concluso de curso de engenharia de software apresenta um estudo so-

    bre usabilidade e testes automatizados no desenvolvimento emprico de software a fim de

    verificar como essas tcnicas de testes podem se relacionar com as avaliaes de usabi-

    lidade de um software. Para isso, realizamos um estudo sobre aplicabilidade de tcnicas

    de usabilidade, alm de tcnicas de BDD (desenvolvimento de software dirigido por com-

    portamento) em projetos de software, alm de compreender como inserir as prticas de

    usabilidade estudadas no desenvolvimento emprico de software. Este estudo serviu de

    base para levantamento e apurao de algumas hipteses a respeito da relao dos testes

    automatizados na usabilidade de um sistema de software.

    Palavras-chaves: software livre. testes automatizados. usabilidade.

  • Abstract

    This degree monograph presents a study about software usability and how to automate

    testing on the empirical software development to verify how automated testing may be

    related to software usability. For this, we conducted a study about applicability of BDD

    (Behaviour Driver Development) and usability techniques in software projects, as well as

    understand how to insert some studied techniques. In this study, we have tested some

    hypotheses to investigate the relationship between about automated testing approaches

    and software usability techniques.

    Key-words: free software. automated tests. usability.

  • Lista de ilustraes

    Figura 1 Ciclo de atividades TDD (BECK, 2002) . . . . . . . . . . . . . . . . . 29

    Figura 2 Planilha de Avaliao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    Figura 3 Ciclo do design centrado no humano (ISO/IEC 13407, 1999). . . . . . 39

    Figura 4 Viso geral do processo de desenvolvimento de software de XPlus (GUIMARAES; CHA

    Figura 5 Prottipos de cadastro de usurio . . . . . . . . . . . . . . . . . . . . . 48

    Figura 6 Prottipos de cadastro de software . . . . . . . . . . . . . . . . . . . . 49

    Figura 7 Resultado das avaliaes de Cadastro de Usurio . . . . . . . . . . . 51

    Figura 8 Resultado das avaliaes de Cadastro de Instituio . . . . . . . . . . 51

    Figura 9 Resultado das avaliaes de Cadastro de Software . . . . . . . . . . . 51

    Figura 10 Atividades do estudo de caso . . . . . . . . . . . . . . . . . . . . . . . 53

    Figura 11 Ciclo de Vida Estrela . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

    Figura 12 ASQ - The After-Scenario Questionnaire . . . . . . . . . . . . . . . . . 69

    Figura 13 PSSUQ The Post-Study System Questionnaire . . . . . . . . . . . . . 70

    Figura 14 PSSUQ: The Post-Study System Questionnaire - Questes de 8 19 . 71

    Figura 15 Checklist de usabilidade- Questes da seo 01 . . . . . . . . . . . . . . 73

    Figura 16 Checklist de usabilidade- Questes da seo 02 . . . . . . . . . . . . . . 73

    Figura 17 Checklist de usabilidade- Questes da seo 03 . . . . . . . . . . . . . . 74

    Figura 18 Checklist de usabilidade- Questes da seo 03 . . . . . . . . . . . . . . 74

    Figura 19 Checklist de usabilidade- Questes da seo 04 . . . . . . . . . . . . . . 75

    Figura 20 Checklist de usabilidade- Questes da seo 05 . . . . . . . . . . . . . . 75

    Figura 21 Checklist de usabilidade- Questes das sees 06 e 07 . . . . . . . . . . 76

    Figura 22 Checklist de usabilidade- Questes da seo 08 . . . . . . . . . . . . . . 76

    Figura 23 Checklist de usabilidade- Questes da seo 09 . . . . . . . . . . . . . . 77

    Figura 24 Checklist de usabilidade- Questes da seo 10 . . . . . . . . . . . . . . 77

    Figura 25 Checklist de usabilidade- Questes da seo 11 . . . . . . . . . . . . . . 77

    Figura 26 Checklist de usabilidade- Questes da seo 12 . . . . . . . . . . . . . . 78

    Figura 27 Descrio do ttulo (feature) de um teste . . . . . . . . . . . . . . . . . 79

    Figura 28 Descrio de pr condies (background) de um teste . . . . . . . . . . 79

    Figura 29 Descrio do cenrio (scenario) de um teste . . . . . . . . . . . . . . . 80

    Figura 30 Descrio do setup de um teste . . . . . . . . . . . . . . . . . . . . . . 80

    Figura 31 Cdigo de teste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

    Figura 32 Perfil dos entrevistados . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

    Figura 33 Tempo de trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

    Figura 34 Quando e quem responsvel por garantir a usabilidade . . . . . . . . 88

    Figura 35 Tcnicas de contexto de uso . . . . . . . . . . . . . . . . . . . . . . . . 89

    Figura 36 Tcnicas de concepo de interfaces . . . . . . . . . . . . . . . . . . . . 89

  • Figura 37 Tcnicas de avaliao utilizadas . . . . . . . . . . . . . . . . . . . . . . 89

    Figura 38 Tcnicas de concepo - Brainstorming e Storyboard . . . . . . . . . . 90

    Figura 39 Tcnicas de concepo - Card Sorting e Diagramas de Afinidade . . . . 91

    Figura 40 Tcnicas de concepo - Prottipos . . . . . . . . . . . . . . . . . . . . 92

    Figura 41 Tcnicas de anlise - Observao e entrevistas tradicionais . . . . . . . 92

    Figura 42 Tcnicas de anlise - Entrevistas Informais e Eytracking . . . . . . . . 93

    Figura 43 Tcnicas de anlise Questionrios de perfil de uso e de satisfao . . . 93

    Figura 44 Tcnicas de anlise - Grupo Focal e Dirios . . . . . . . . . . . . . . . 94

    Figura 45 Tcnicas de anlise - Benchmarking e Cenrios de uso . . . . . . . . . . 94

    Figura 46 Tcnicas de anlise - Persona . . . . . . . . . . . . . . . . . . . . . . . 95

    Figura 47 Tcnicas de avaliacao - Heursticas e Listas de Verificao . . . . . . . . 95

    Figura 48 Tcnicas de avaliao - Percursos Cognitivos e Testes de Usabilidade . 96

  • Lista de tabelas

    Tabela 1 Mtodos e Tcnicas de Concepo . . . . . . . . . . . . . . . . . . . . 34

    Tabela 2 Mtodos e Tcnicas de Anlise da usabilidade . . . . . . . . . . . . . . 35

    Tabela 3 Mtodos e Tcnicas de Avaliao . . . . . . . . . . . . . . . . . . . . . 36

    Tabela 4 Atividades Tcnicas de Viso de Projeto . . . . . . . . . . . . . . . . . 41

    Tabela 5 Atividades Gerenciais de Viso de Projeto . . . . . . . . . . . . . . . . 42

    Tabela 6 Atividades Tcnicas de Viso de Interao . . . . . . . . . . . . . . . . 42

    Tabela 7 Atividades Tcnicas de Viso de Desenvolvimento . . . . . . . . . . . . 42

    Tabela 8 Avaliaes de usabilidade - sprint 17 . . . . . . . . . . . . . . . . . . . 47

    Tabela 9 Avaliaes de usabilidade - sprint 18 . . . . . . . . . . . . . . . . . . . 49

    Tabela 10 Avaliaes de usabilidade - sprint 19 . . . . . . . . . . . . . . . . . . . 50

    Tabela 11 Comparativo dos questionrios . . . . . . . . . . . . . . . . . . . . . . 72

  • 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 Cientfica

    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 Profissionais de

    usabilidade

    UnB Universidade de Braslia

    USP Universidade de So Paulo

    UI User Interface

    UX User Experience

    W3C World Wide Web Consortium

    XP Extreme Programming

  • Sumrio

    1 INTRODUO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    1.1 Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    1.3 Organizao do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . 20

    2 MTODOS EMPRICOS DE DESENVOLVIMENTO DE SOFTWARE 23

    2.1 Software Livre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    2.2 Mtodos geis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    2.3 Consideraes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    3 TESTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    3.1 Testes Automatizados . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    3.1.1 Testes de aceitao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    3.1.2 Testes Funcionais e Unitrios . . . . . . . . . . . . . . . . . . . . . . . . . 28

    3.2 Tcnicas de desenvolvimento de testes automatizados . . . . . . . . 28

    3.2.1 TDD - Test Driven Development . . . . . . . . . . . . . . . . . . . . . . . 28

    3.2.2 BDD - Behavior Driven Development . . . . . . . . . . . . . . . . . . . . 29

    3.2.3 Consideraes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    4 USABILIDADE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    4.1 Conceitos de Usabilidade . . . . . . . . . . . . . . . . . . . . . . . . . 31

    4.2 Tcnicas e Mtodos da Engenharia de Usabilidade . . . . . . . . . . 33

    4.2.1 Mtodos e Tcnicas de Concepo . . . . . . . . . . . . . . . . . . . . . . 33

    4.2.2 Mtodos e Tcnicas de Anlise . . . . . . . . . . . . . . . . . . . . . . . . 34

    4.2.3 Mtodos e Tcnicas de Avaliao da Usabilidade . . . . . . . . . . . . . . 35

    4.3 Processos de Usabilidade . . . . . . . . . . . . . . . . . . . . . . . . . 38

    4.3.1 Design Centrado no Usurio - DCU . . . . . . . . . . . . . . . . . . . . . 38

    4.4 Aplicao de Usabilidade nos Mtodos Empricos . . . . . . . . . . . 39

    4.4.1 Integrao de prticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

    4.4.2 DCU gil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

    4.4.3 Princpios de Desenvolvimento Emprico Aplicados ao DCU . . . . . . . . . 43

    4.5 Consideraes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

    5 ESTUDO DE CASO . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

    5.1 Objeto de Estudo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

    5.1.1 Ciclo 1 de Avaliaes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

  • 5.1.2 Ciclo 2 de Avaliaes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

    5.1.3 Ciclo 3 de Avaliaes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

    5.2 Anlise e Interpretao dos Resultados . . . . . . . . . . . . . . . . . 50

    5.3 Insero das Prticas de Usabilidade . . . . . . . . . . . . . . . . . . 52

    5.4 Consideraes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

    6 CONCLUSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

    6.1 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

    A APNDICE 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

    A.1 Processos de Usabilidade . . . . . . . . . . . . . . . . . . . . . . . . . 59

    A.1.1 Modelo Estrela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

    A.1.2 O ciclo de vida da Engenharia de Usabilidade - Mayhew . . . . . . . . . . . 59

    A.2 Tcnicas e Mtodos da Engenharia de Usabilidade . . . . . . . . . . 60

    A.2.1 Mtodos e tcnicas de concepo . . . . . . . . . . . . . . . . . . . . . . 61

    A.2.2 Mtodos e tcnicas de anlise . . . . . . . . . . . . . . . . . . . . . . . . 61

    A.2.3 Mtodos e tcnicas de avaliao . . . . . . . . . . . . . . . . . . . . . . . 64

    A.3 Testes de Usabilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

    A.3.1 Protocolo rpido de teste com usurios . . . . . . . . . . . . . . . . . . . 67

    A.4 Questionrio de Satisfao . . . . . . . . . . . . . . . . . . . . . . . . 67

    A.4.1 QUIS - Questionnaire for User Interaction Satisfaction . . . . . . . . . . . 67

    A.4.2 SUS System Usability Scale . . . . . . . . . . . . . . . . . . . . . . . . 68

    A.4.3 SUMI Usability Measurement Inventory . . . . . . . . . . . . . . . . . . 68

    A.4.4 ASQ The After-Scenario Questionnaire . . . . . . . . . . . . . . . . . . 69

    A.4.5 PSQ The Printer-Scenario Questionnaire . . . . . . . . . . . . . . . . . 70

    A.4.6 PSSUQ The Post-Study System Questionnaire . . . . . . . . . . . . . . 70

    A.4.7 CSUQ - Computer System Usability Questionnaire . . . . . . . . . . . . . 71

    A.4.8 Comparativo dos questionrios . . . . . . . . . . . . . . . . . . . . . . . . 72

    A.5 Checklist de Usabilidade . . . . . . . . . . . . . . . . . . . . . . . . . . 73

    B APNDICE 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

    B.1 Descrio de testes de aceitao . . . . . . . . . . . . . . . . . . . . . 79

    B.2 Descrio de funcionais e unitrios . . . . . . . . . . . . . . . . . . . . 80

    B.3 Cenrios de Uso da release 1 . . . . . . . . . . . . . . . . . . . . . . . 80

    B.4 Cenrios de Uso da release 1 . . . . . . . . . . . . . . . . . . . . . . . 83

    B.5 Cenrios de uso da release 2 . . . . . . . . . . . . . . . . . . . . . . . 84

    C APNDICE 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

    C.1 Pesquisa com profissionais de software livre e mtodos geis . . . . 87

  • Referncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

  • 19

    1 Introduo

    O desenvolvimento de software usando mtodos empricos, como software livre e

    mtodos geis, uma realidade. Uma prtica bsica de mtodos geis so os testes 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).

    Por exemplo, um problema encontrado em projetos de software livre a pouca

    ateno dada aos aspectos referentes a usabilidade das aplicaes. Para Moreira et al.

    (2012) enfatizar na criao, melhoria e teste do cdigo fonte pode ser um dos principais

    problemas que contribui para a falta de usabilidade dos softwares livres. Ainda, segundo

    Preece, Rogers e Sharp (2007), uma das causas da baixa adoo de softwares livres em

    mercados de larga escala a baixa qualidade dos estilos de interao implementados nas

    interfaces dos produtos.

    Atualmente, algumas comunidades de software livre vm se atentando usabi-

    lidade como forma de manter o software no mercado. O Noosfero1, um sistema para

    desenvolvimento de redes sociais na qual faz parte este estudo, tem tido algumas inici-

    ativas 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 afirmam 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 finais, na interao entre

    os stakeholders envolvidos e na qualidade final do produto a ser desenvolvido.

    A automao de testes uma prtica gil, eficaz e de baixo custo que tambm

    busca melhorar a qualidade dos sistemas de software (POTEL; COTTER, 1995). O que

    este trabalho busca encontrar um ponto de interseco entre os testes automatizados e

    a usabilidade, utilizados no desenvolvimento gil.

    1.1 Problemas

    Um dos problemas encontrados no desenvolvimento emprico a baixa usabili-

    dade de suas interfaces, o que resulta na perda de usurios. Os desenvolvedores possuem

    1

    noosfero.org

  • 20 Captulo 1. Introduo

    uma mentalidade mais voltada para a funcionalidade do que para os usurios do sis-

    tema (SANTOS, 2012). Outro problema do desenvolvimento emprico est em garantir

    qualidade de software de forma prtica e econmica, testes podem interferir nestas carac-

    tersticas se no forem bem planejados.

    A partir destes problemas levantamos as seguintes questes:

    1. Como os testes automatizados so definidos e implementados em um ambiente de

    desenvolvimento de software emprico?

    2. Como inserir os princpios de usabilidade no desenvolvimento emprico de software?

    3. Como as prticas do BDD podem se relacionar com as prticas de usabilidade?

    1.2 Objetivos

    Durante este trabalho de concluso de curso buscamos analisar tcnicas e mto-

    dos de usabilidade, assim como tcnicas de desenvolvimento de testes no desenvolvimento

    emprico de software para verificarmos as possveis relaes de tcnicas de BDD (desen-

    volvimento dirigido por comportamento) na usabilidade de um software.

    Para satisfazer os objetivos gerais do trabalho definimos objetivos especficos abaixo:

    1. Verificar aplicao das prticas do BDD no processo de desenvolvimento emprico

    de software;

    2. Integrar prticas de usabilidade no ciclo de vida de desenvolvimento emprico de

    software;

    3. Identificar quais tcnicas de usabilidade podem ser utilizadas em cada fase do de-

    senvolvimento emprico.

    4. Verificar a relao de prticas de BDD e prticas de usabilidade no desenvolvimento

    emprico de software.

    1.3 Organizao do Trabalho

    Nesta seo apresentamos a organizao deste trabalho, e o que se refere cada

    captulo. O estudo inicia-se no segundo captulo, em que se aborda o desenvolvimento

    emprico, 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 destaca-se as prticas do

  • 1.3. Organizao do Trabalho 21

    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 computador 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, assim como

    os resultados obtidos. O trabalho se encerra com as concluses, assim como as anlises

    obtidas de todo o processo do trabalho.

  • 23

    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 modifica 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

    em 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

    De acordo com Stallman (2001), ativista fundador do movimento software livre,

    um software livre 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 modificaes pblicas de modo que

    a comunidade se beneficie da melhoria.

    Um software considerado software livre se segue esses quatro princpios, portanto o

    usurio deve poder utilizar, estudar e modificar o software como ele bem entender. No

    significa que o software necessariamente de graa, mas a partir do momento em que se

    obtm posse de um programa um usurio pode modificar 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 benfica do que potenciais lucros para o produtor.

  • 24 Captulo 2. Mtodos Empricos de Desenvolvimento de Software

    2.2 Mtodos geis

    A utilizao de mtodos geis no desenvolvimento de software tem como carac-

    tersticas intrnsecas a flexibilidade e rapidez nas respostas a mudanas. A agilidade,

    para uma organizao de desenvolvimento de software, a habilidade de adotar e reagir

    rapidamente e apropriadamente a mudanas no seu ambiente e por exigncias impos-

    tas 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 gil1. 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.

    Para Corbucci (2011) os 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. Em projetos geis, o cliente/usurio

    mais ativo durante o processo de desenvolvimento, determinando em conjunto com a

    equipe de desenvolvimento o que ser desenvolvido, 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.

    Os projetos geis tambm buscam estabelecer um tempo determinado e curto

    para entrega de novas verses do sistema, com o objetivo de trazer mais satisfao ao

    cliente/usurio. A partir desses curtos ciclos a equipe de desenvolvimento deve se preo-

    cupar 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 final. Um mtodo gil conhecido como programao extrema (Extreme Programing -

    1

    http://manifestoagil.com.br

  • 2.3. Consideraes 25

    XP), tornou-se bastante popular por utilizar prticas focadas em codificao. 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 base-

    ado em mtodos de desenvolvimento empricos de software, como XP e Software Livre,

    buscando seguir os princpios geis para o desenvolvimento de software livre.

    2.3 Consideraes

    O desenvolvimento baseado em software livre e as prticas geis compartilham os

    mesmos valores, pois ambos so mtodos empricos, que buscam tomar decises rpidas de

    acordo com a percepo do mundo externo. Nos prximos captulos abordaremos como o

    desenvolvimento de testes abordado no desenvolvimento emprico e como a usabilidade

    pode ser inserida neste contexto.

  • 27

    3 Testes

    Testar uma pratica intrnseca ao desenvolvimento e antiga a necessidade de

    criar programas para testar cenrios especficos, 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, eficaz 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 verificaes, tudo automtica

    e dinamicamente (MESZAROS; WESLEY, 2007). Os testes automatizados afetam dire-

    tamente a qualidade dos sistemas de software, portanto, agregam valor ao produto final,

    mesmo que os artefatos adicionais produzidos no sejam visveis para os usurios finais

    dos sistemas (BERNARDO, 2011).

    Ser abordado neste trabalho o desenvolvimento de testes de aceitao para veri-

    ficar 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 cucumber1, uma ferramenta que

    pode executar uma funcionalidades escrita em texto puro. Com base nas especificaes

    da funcionalidade, 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).

    1

    cukes.info

  • 28 Captulo 3. Testes

    3.1.2 Testes Funcionais e Unitrios

    Os testes funcionais tem como objetivo no desenvolvimento na plataforma noosfero,

    verificar a integrao da aplicao desenvolvida. Os testes unitrios so executados em

    conjunto com os testes funcionais, porm com o objetivo de verificar trechos menores de

    cdigos.

    A descrio detalhada de testes de aceitao e de testes funcionais e unitrios

    encontra-se no apndice B.

    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 definidas 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 influenciam diretamente na qualidade do sistema.

    Essas tcnicas geralmente possuem um processo de atividades pequeno e simples, como

    TDD e BDD.

    3.2.1 TDD - Test Driven Development

    Desenvolvimento dirigido por testes, TDD (Test-Driven Develepment), uma tc-

    nica de desenvolvimento de software que se d pela repetio disciplinada de um ciclo

    curto de passos de implementao de testes e do sistema (KOSKELA, 2007). O ciclo de

    TDD definido pelos seguintes passos:

    1. Implementar um caso de teste;

    2. Implementar um trecho do cdigo suficiente 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 fique mais organizado;

    A tcnica de desenvolvimento dirigido por testes foi definida por Beck (2002),

    como representados na Figura 1. 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.

  • 3.2. Tcnicas de desenvolvimento de testes automatizados 29

    Figura 1 Ciclo de atividades TDD (BECK, 2002)

    Para Massol e Husted (2003), o objetivo de TDD cdigo claro que funciona. TDD

    prope o desenvolvimento sempre em pequenos passo, deve-se escrever testes sempre para

    uma menor funcionalidade possvel, escrever o cdigo mais simples que faa o teste passar

    e fazer sempre apenas uma refatorao por vez (BECK, 2002). Assim o desenvolvedor se

    detm a criar solues simples, sempre acompanhado de um constante feedback dos testes.

    O ciclo curto de passos definidos por TDD cria uma dependncia forte entre codificao 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, specification (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 funcionalidade 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 interaes, as pessoas e

    o sistema, sobre a estrutura do prprio sistema (CHELIMSKKY et al., 2010).

  • 30 Captulo 3. Testes

    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 suficiente suficiente: 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.

    3.2.3 Consideraes

    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 definidos junto equipe. No prximo captulo abordaremos

    a usabilidade e como esta rea inserida no processo de desenvolvimento emprico, para

    na sequncia mostrarmos o estudo de como relacionar as prticas de testes e as tcnicas

    de usabilidade.

  • 31

    4 Usabilidade

    Neste captulo abordaremos os conceitos de usabilidade e suas relaes, alm de

    entender a sua importncia em um software, apresentar os modelos de ciclo de vida

    utilizados na usabilidade e mostrar como pode ser inserida a usabilidade no ciclo de

    desenvolvimento emprico de software.

    4.1 Conceitos de 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 seguintes com-

    ponentes: fcil aprendizado, eficincia, capacidade de memorizao, baixo ndice de erros,

    satisfao e prazer ao uso (NIELSEN, 1994). Ainda de acordo com Nielsen e Loranger

    (2007) usabilidade 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 eficincia

    deles ao us-la, o quanto lembram daquilo, seu grau de propenso a erros e o quanto

    gostam de utiliz-la.

    A norma ISO/IEC 9241-11 (2003) define alguns termos que so amplamente uti-

    lizados quando trata-se de usabilidade:

    Eficcia: a capacidade que os sistemas conferem a diferentes tipos de usurios

    para alcanar seus objetivos em nmero e com a qualidade necessria.

    Eficincia: a quantidade de recursos que os sistemas solicitam aos usurios para

    a observao de seu objetivos com o sistema.

    Satisfao: a emoo que os sistemas proporciona, aos usurios em face dos

    resultados 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 desenvol-

    vimento de um software (PREECE; ROGERS; SHARP, 2007). So elas:

  • 32 Captulo 4. Usabilidade

    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. Eficcia: refere-se ao quanto um sistema bom em fazer o que se espera dele.

    3. Eficincia: 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 como usabilidade 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: A interao humano computador Human Compu-

    ter Interaction (HCI) tem o principal objetivo de melhorar a eficcia e proporcionar

    satisfao do usurio, desnvolvendo sistemas computacionais nos quais os usurios

    possam executar tarefas com segurana, eficincia e satisfao

    (PREECE; ROGERS; SHARP, 2007).

    Arquitetura da Informao: A arquitetura da informao 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 in-

    formao deve balancear as necessidades do usurio com os objetivos do neg-

    cio (ROSENFELD; MORVILLE, 1998).

    Ergonomia: A ergonomia pois visa proporcionar eficcia e eficincia para o usurio atra-

    vs da adaptao do trabalho ao homem. O seu objetivo garantir que sistemas e

    dispositivos estejam adaptados s maneiras de pensar, agir e trabalhar do usu-

    rio (CYBIS; BETIOL; FAUST, 2010) .

    Design Centrado no usurio: Para Norman (2006) design centrado no usurio uma

    filosofia 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 necessidades, metas e preferncias, e papel do design descobrir

    isso para projetar para eles essa a filosofia por trs do design centrado no

    usurio (SAFFER, 2010).

  • 4.2. Tcnicas e Mtodos da Engenharia de Usabilidade 33

    Design de Interao: O design de interao redireciona a preocupao que se tinha

    apenas em produzir algo que funcionasse para produzir algo que ser fcil de utilizar,

    agradvel e eficaz na perspectiva do usurio, trazendo a usabilidade para dentro

    do processo de design (PREECE; ROGERS; SHARP, 2007). Bill Verplank resume

    design de interao a partir da resposta de trs perguntas sobre: como voc age?

    como voc sente? como voc compreende?(MOGGRIDGE, 2006).

    Engenharia de Usabilidade: A engenharia de usabilidade ocupa-se da interface com

    o usurio que interliga as funes do sistema com os usurios de forma que a interface

    do sistema seja agradvel, intuitivo, eficiente e fcil de operar (CYBIS; BETIOL; FAUST,

    2010). J a engenharia de software ocupa do desenvolvimento 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.

    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).

    A usabilidade est relacionada com os fatores humanos e corresponde ao estudo

    de como usurios se relacionam com qualquer produto. A interao humano computador

    est baseada na usabilidade e foca no modo como as pessoas se relacionam com softwares.

    4.2 Tcnicas e Mtodos da Engenharia de Usabilidade

    Existem diversas tcnicas e mtodos que so utilizados pela interao humano

    computador para desenvolver um sistema com usabilidade. Cybis, Betiol e Faust (2010)

    divide as tcnicas da engenharia de usabilidade em trs tipos: Concepo, Anlise e Ava-

    liao.

    4.2.1 Mtodos e Tcnicas de Concepo

    Os mtodos de concepo so utilizados para implementar as especificaes e os

    requisitos para a interface e usabilidade de um sistema:

  • 34 Captulo 4. Usabilidade

    Tcnica DescrioBrainstorming uma tcnica utilizada para obter ideias, en-

    trar em consenso sobre problemas ou novaspropostas

    Storyboard uma representao das interaes entre osusurios e o sistema em seu ambiente de tra-balho

    Card Sorting uma tcnica usada para descobrir comoo usurio classifica determinada informaoem sua mente.

    Diagramas de Afini-dade

    So utilizadas para organizar uma grandequantidade de itens em grupos lgicos.

    Prottipos So utilizados para esclarecer os requisitosespecficos para o projeto de interface do sis-tema.

    Tabela 1 Mtodos e Tcnicas de Concepo

    No apndice A h uma definio melhor de como aplicada cada tcnica.

    4.2.2 Mtodos e Tcnicas de Anlise

    Os mtodos e tcnicas de anlise so utilizados para buscar informaes sobre a

    usabilidade de um sistema. Podem ser feitas anlises do perfil do usurio, do ambiente

    de uso, das tarefas, possibilidades e restries do sistema, etc. As tcnicas mencionadas

    na tabela 2 visam apoiar a equipe na busca de informaes sobre a usabilidade de um

    sistema.

  • 4.2. Tcnicas e Mtodos da Engenharia de Usabilidade 35

    Tcnica DescrioPersona A tcnica de persona descreve o perfil de uma pessoa fictcia

    envolvida com o produto. Trata-se de inventar um conjuntode pessoas (trs ou quatro) que estejam dentro da populaode usurios pretendidos e descrev-las em detalhes.

    Entrevistas Tradicio-nais

    Tcnica utilizada para obter as opinies tanto dos usuriosatuais como dos futuros usurios dos sistemas.

    Eyetracking uma tcnica que rastreia o movimento dos olhos e da cabeapara registrar a tomada de informaes numa interface.

    Questionrios de Per-fil de uso

    uma tcnica utilizada para obter informaes sobre as ca-ractersticas reais dos usurios de um sistema e saber comoeles realmente utilizam tais ferramentas.

    Questionrios de Sa-tisfao

    So questionrios utilizados para medir a satisfao do usurioao utilizar um sistema. Resultam da avaliao subjetiva pelousurio.

    Grupo Focal uma reunio informal de usurios que manifestam suas opi-nies sobre o determinado assunto, que pode ser tanto umaoportunidade de novas funcionalidades ou algum problemaespecfico.

    Dirios uma tcnica na qual os usurios carregam consigo um pe-queno dirio para nele anotar as informaes do seu dia-a-diana utilizao do sistema.

    Bechmarking de Usa-bilidade

    um mtodo utilizado para criar critrios de avaliao e sele-o de representantes para criar caractersticas desejveis parao futuro sistema.

    Cenrios de Uso uma tcnica simples e eficaz para analisar e comunicar umaparte das especificaes de requisitos produzidos para a usa-bilidade e a interface.

    Observao Essa tcnica caracteriza-se por um pesquisador observandoo usurio e tomando notas, enquanto este trabalha em seucontexto usual.

    Tabela 2 Mtodos e Tcnicas de Anlise da usabilidade

    No apndice A esto detalhadas as tcnicas mencionadas nesta seo.

    4.2.3 Mtodos e Tcnicas de Avaliao da Usabilidade

    Utilizados para avaliar a qualidade das interaes entre o usurio e o sistema. As

    avaliaes de interface podem ser divididas quanto a: formas, tipo de dados e o local da

    avaliao. Quanto a forma, temos objetiva, quando so baseadas em tcnicas que utilizam

    medies quantitativas em vez de opinies dos usurios/especialistas e subjetivas, quando

    so baseadas em opinies e relatos de usurios e especialistas. J quanto ao tipo de dados

    podem ser definidas como: quantitativa, quando envolvem medidas e tendem a ser vistas

    como objetivas e imparciais, e qualitativas quando envolvem descries e relatos e so

    vistas como subjetivas. Quanto ao local da avaliao podem ser feita em laboratrio,

  • 36 Captulo 4. Usabilidade

    onde o ambiente controlado ou estudo de campo quando esto situadas no contexto do

    mundo real no qual o sistema utilizado.

    Tcnica DescrioChecklists uma tcnica de inspeo que oferece

    uma maneira de abordagem rpida, fcil ede baixo custo para a avaliao de umainterface. Permite com que usurios queno so especialistas em ergonomia iden-tificarem problemas menores e repetitivos(CYBIS; BETIOL; FAUST, 2010).

    Avaliao heurstica uma tcnica de avaliao realizada porespecialistas de usabilidade para identificarproblemas iniciais de usabilidade de um sis-tema.

    Percurso Cognitivo um mtodo de inspeo de usabilidade quetem como objetivo avaliar a interface consi-derando a facilidade da interface

    Testes de usabilidade um dos mtodos de teste de experincia dousurio (UX) mais frequentemente utilizadoe conhecido entre aqueles que no so pro-jetistas da UX. Realizar testes com usurios o ncleo do Design Centrado no Usurio,pois atravs destes que podemos saber se asreais expectativas dos usurios so atendidas(SANTOS, 2012).

    Tabela 3 Mtodos e Tcnicas de Avaliao

    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 definir

    qual deles o mais apropriado para avaliar a interface de um software em um determinado

    contexto. No estudo de caso aplicamos as seguintes tcnicas:

    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 identificarem 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. Os checklists

    utilizados encontra-se na seo apncie A.5.

    Avaliao heurstica: Representa um julgamento de valor sobre as qualidades ergon-

    micas das interfaces Humano-Computador. Essa avaliao realizada por especialis-

  • 4.2. Tcnicas e Mtodos da Engenharia de Usabilidade 37

    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:

    Dilogos simples e naturais: Deve-se apresentar exatamente a informao

    que o usurio precisa no momento, nem mais nem menos. A seqncia da

    interao e o acesso aos objetos e operaes devem ser compatveis com o

    modo pelo qual o usurio realiza suas tarefas.

    Falar a linguagem do usurio: A terminologia deve ser baseada na lingua-

    gem do usurio e no orientada ao sistema. As informaes devem ser organi-

    zadas conforme o modelo mental do usurio.

    Minimizar a sobrecarga de memria do usurio: O sistema deve mostrar

    os elementos de dilogo e permitir que o usurio faa suas escolhas, sem a

    necessidade de lembrar um comando especfico.

    Consistncia e Padres: Um mesmo comando ou ao deve ter sempre o

    mesmo efeito. A mesma operao deve ser apresentada na mesma localizao

    e deve ser formatada/apresentada da mesma maneira para facilitar o reconhe-

    cimento.

    Feedback: O sistema deve informar continuamente ao usurio sobre o que

    ele est fazendo. 10 segundos o limite para manter a ateno do usurio

    focalizada no dilogo.

    Sadas claramente marcadas: O usurio controla o sistema. Ele pode, a

    qualquer momento, abortar uma tarefa, ou desfazer uma operao e retornar

    ao estado anterior.

    Atalhos: Para usurios experientes executarem as operaes mais rapida-

    mente. Abreviaes, teclas de funo, duplo clique no mouse, funo de volta

    em sistemas hipertexto. Atalhos tambm servem para recuperar informaes

    que esto numa profundidade na rvore navegacional a partir da interface prin-

    cipal.

    Boas mensagens de erro: Linguagem clara e sem cdigos. Devem ajudar

    o usurio a entender e resolver o problema. No devem culpar ou intimidar o

    usurio.

  • 38 Captulo 4. Usabilidade

    Prevenir erros: Evitar situaes de erro. Conhecer as situaes que mais

    provocam erros e modificar a interface para que estes erros no ocorram.

    Ajuda e documentao: O ideal que um software seja to fcil de usar

    (intuitivo) que no necessite de ajuda ou documentao. Se for necessria a

    ajuda deve estar facilmente acessvel e on-line.

    As avaliaes podem ser feitas em planilhas (como a figura 4.2.3), onde so descritos

    o local do problema de usabilidade, sua descrio, a heurstica que foi desobedecida

    e a criticidade do problema (alta, mdia ou baixa).

    Figura 2 Planilha de Avaliao

    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 conhecer as heursticas para serem aplicadas.

    No apndice A esto detalhadas as tcnicas mencionadas nesta seo.

    4.3 Processos de Usabilidade

    Alguns autores como Mayhew (1999) e Hix e Hartson (1993) propuseram modelos

    de processo baseados em ciclo de vidas bem definidos para as atividades de usabilidade. O

    modelo estrela e o de Engenharia de Usabilidade propostos pelos autores esto definidos

    no A. Outro modelo muito utilizado para descrever processos de usabilidade o proposto

    pela norma ISO/IEC 13407 (1999), que define o Design Centrado no Usurio.

    4.3.1 Design Centrado no Usurio - DCU

    O DCU consiste em uma metodologia de design de software. Definida pela norma

    ISO/IEC 13407 (1999), tem como objetivo definir um processo necessrio ao desenvol-

    vimento de produtos fceis de utilizar na qual deve envolver os usurios no processo de

    desenvolvimento.

  • 4.4. Aplicao de Usabilidade nos Mtodos Empricos 39

    Sabemos que a cincia experimental que utiliza-se dos mtodos empricos tradici-

    onais para coletar dados e testar hipteses. Essa abordagem preocupa-se com os usurios

    quando as representa mas ela no leva em conta diversos aspectos do usurio real, por

    no envolv-los no processo. No basta fazer para o usurio, preciso fazer com o usurio

    (EASON, 2005).

    No DCU o usurio tem que ser o elemento central e necessrio envolv-lo do

    incio ao fim do projeto. Baseia-se nas necessidades, desejos e limitaes das pessoas.

    Lowdermilk (2013) afirma que para criar produtos que os usurio amem, necessrio

    incluir os usurios no processo de criao dos produtos.

    Existem quatro atividades de Design Centrado no Usurio que devem estar pre-

    sentes no inico do projeto:

    Entender e especificar o contexto de uso;

    Especificar os requisitos de usurio;

    Produzir solues de design;

    Avaliar o design frente aos requisitos;

    A ISO/IEC 13407 (1999) prope que o envolvimento do usurio seja uma prtica

    frequente em empresas que desenvolvem sistemas interativos.

    Figura 3 Ciclo do design centrado no humano (ISO/IEC 13407, 1999).

    4.4 Aplicao de Usabilidade nos Mtodos Empricos

    Partindo do que foi conceituado sobre desenvolvimento emprico e IHC, podemos

    ver semelhana entre seus valores, o que proporciona um quadro favorvel integrao de

    prticas de usabilidade em desenvolvimento emprico. Podemos citar alguns desse valores:

  • 40 Captulo 4. Usabilidade

    (i) ciclos curtos com entregas contnuas e incrementais, que favorecem a aplicao de

    tcnicas de prototipagem; (ii) forte envolvimento do usurio que favorece a aplicao de

    princpios de projetos participativos e (iii) programao em pares onde em IHC geralmente

    a avaliao de usabilidade feita em pares (BARBOSA; FURTADO; GOMES, 2008).

    Segundo Cybis, Betiol e Faust (2010) as caractersticas da abordagem gil facilitam na

    utilizao da ergonomia e da usabilidade durante o desenvolvimento de software.

    Porm adaptaes so necessrias, principalmente na questo da granularidade da

    pesquisa, no tempo gasto com ela e na maneira de relatar as descobertas de usabilidade

    (SANTOS, 2012). Hodgetts (2005) afirma que os mtodos de desenvolvimento emprico

    so quase sempre apresentados sob a viso dos programadores, deixando de lado outras

    disciplinas como Design de Experincia do Usurio.

    No modo geral, os projetistas sabem da importncia de desenvolver com enfoque

    no usurio e na usabilidade, mas normalmente os projetos so desenvolvidos sem que

    tenham sido realizadas pesquisas e aplicados mtodos e tcnicas de usabilidade. O tempo

    e os recursos limitados so as principais razes que impede a implantao dos testes de

    usabilidade nas equipes de desenvolvimento de software. Tambm h o desconhecimento

    por parte da equipe de desenvolvimento das tcnicas a serem empregadas.

    4.4.1 Integrao de prticas

    Alguns estudos foram encontrados tentando integrar prticas de usabilidade com

    os mtodos empricos. Constantine e Lockwood (2002) foi um dos primeiros a iniciar a

    discusso sobre o tema. Sua proposta mostrar que o DCU est prontamente integrado

    aos mtodos ditos leves. Ele afirma que XP e os demais mtodos empricos compartilham

    das mesmas fraquezas apresentadas por processos tradicionais como o processo unificado

    quando se refere usabilidade e ao desenho de interface do usurio.

    Em 2008 foi proposto uma metodologia revisional intitulada XPlus que insere as

    tcnicas de design e de usabilidade em determinadas fases do ciclo de desenvolvimento

    de software. O XPlus agrega algumas prticas de User Experience s prticas tradici-

    onais de XP. A figura 4 mostra o processo de desenvolvimento de software de XPlus

    (GUIMARAES; CHAVES, ).

    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.

    O XPU, processo gil centrado em usabilidade descrito por Vasconcelos, Garcia e Turnell

    (2003) tinha como objetivo prover equipe de desenvolvimento um modelo para a cons-

    truo 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 seguindo tcnicas e artefatos

  • 4.4. Aplicao de Usabilidade nos Mtodos Empricos 41

    Figura 4 Viso geral do processo de desenvolvimento de software de XPlus(GUIMARAES; CHAVES, )

    simplificados afim de no se ter apenas sistemas portteis reutilizveis ou acoplados, mas

    sim com uma interface que reflete as caractersticas e as necessidades dos usurios. As

    atividades no XPu esto divididas em atividades tcnicas e gerenciais. As atividades

    tcnicas esto relacionadas execuo correta do processo de usabilidade, j as gerenciais

    garantem o controle e execuo dessas prticas.

    Nas prximas tabelas so apresentadas 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

    Atividade Tcnica Descrio

    Anlise de Usurios Personas Caracterizar grupos de usurios finais. Descrever ex-pectativas de um usurio em relao ao desenvol-vido.

    Anlise de Tarefas Roteiros Prope uma narrativa textual para descrever a exe-cuo de uma tarefa pelo usurio.

    Anlise de Contextode uso

    Histrias deusabilidade

    So formadas pelo Roteiro sendo realizada pela Per-sona.

    Definio de requisitos emetas de usabilidade

    Benchmarks Servem de balizadores para avaliar a usabilidade.So gerados a partir dos atributos de usabilidade

    Avaliao da Usabilidade Cenrios de Testes So utilizados como insumos de avaliaes de usa-bilidade.

    Avaliao da Usabilidade Testes de Usabilidade Estes testes podem ser feitos atravs de avaliaespreditivas, experimentais.

    Tabela 4 Atividades Tcnicas de Viso de Projeto

  • 42 Captulo 4. Usabilidade

    Atividades Gerenciais

    Atividade Tcnica Descrio Insumos Sadas

    Planejamentode usabilidade

    PlanningPoker

    Ocorre simultaneamente aoplanejamento da release. OProjetista de interao contribuicom o seu parecer sobreas estimativas de tamanhodas histrias de usabilidade.

    Histrias deusabilidade ePlanejamentodas avaliaes

    Estimativasde Recursos(Tempo eCusto)

    Controle deUsabilidade

    Velocity

    Acompanhamento das tarefasrelativas usabilidade,comparando o esforo previstocom o realizado.

    Estimativas derecursos

    Refinamentode estimativase Velocidadedo projeto

    Tabela 5 Atividades Gerenciais de Viso de Projeto

    Viso de Iterao

    Atividade Tcnica Descrio Insumos Sadas

    Definio de estilosde interao.

    Template

    So modelos estruturadosde interface que permite definirum guia de estilo padro. Oguia de estilo descrevediretrizes e padres parao desenvolvimento de software.

    Requisitos deUsabilidade

    Guia deestilos(Templates)

    Desenho de InteraoInterfaceFinal

    As interfaces geradasdevem estar em conformidadecom os templates definidospelo projeto.

    TemplatesInterfacesfinais

    Tabela 6 Atividades Tcnicas de Viso de Interao

    Viso de Desenvolvimento

    Atividade Tcnica Descrio Insumos Sadas

    Prototipao deInterface

    PrototipaoRpida

    feita atravs de prottiposde baixa fidelidade em papel.So feitos pelos projetistasde interao e apresentadosaos usurios com objetivode avali-los e discutiralternativas de desenhos.

    TemplatesProttipoSimplificado

    Avaliao deUsabilidade

    Podem serutilizadas vriastcnicas

    Diversas avaliaes podemser utilizadas durante ociclo de desenvolvimento.

    Cenriosde Testes

    Tabela 7 Atividades Tcnicas de Viso de Desenvolvimento

  • 4.4. Aplicao de Usabilidade nos Mtodos Empricos 43

    4.4.2 DCU gil

    Pode ser definido o DCU gil como a prtica de design centrado no usurio quando

    conduzida dentro de uma metodologia ou filosofia de desenvolvimento gil de software

    (SANTOS, 2012). O ciclo de DCU gil foi proposto por Sy (2007) e integra tantos as ati-

    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 Najafi e Toyoshiba (2008) o design centrado no usurio pode ser in-

    corporado no desenvolvimento emprico sem grandes impactos no processo. No mtodo

    de desenvolvimento gil scrum, uma funcionalidade desenvolvida, testada e documen-

    tada em uma sprint assim como no design centrado no usurio. Segundo Santos (2012)

    o grande desafio do DCU gil encontrar a melhor maneira de realizar as atividades de

    pesquisa do usurio, design de verses que atendem s necessidades dos usurio, constru-

    o de verses interativas e realizao de testes de usabilidade, dentro de um ambiente de

    desenvolvimento emprico, tendo a participao dos usurios tpicos em todas as ativida-

    des.

    4.4.3 Princpios de Desenvolvimento Emprico Aplicados ao DCU

    Alguns princpios do desenvolvimento emprico foram levantados pela comunidade

    envolvida em usabilidade para a aplicao no design de sistemas centrado no usurio.

    1. Compreender e identificar 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.

    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.

    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 identificar os problemas com antecedncia o que diminui o tempo com

    retrabalho e evita que o produto no atenda aos usurios.

    4. Criar designs alternativos

    Deve-se pensar em criar vrias solues para um mesmo problema afim de que possa

    ter mais possibilidades de escolha.

  • 44 Captulo 4. Usabilidade

    5. Prototipao em baixa resoluo

    Os prottipos de baixa resoluo permite visualizar uma soluo de forma mais r-

    pida e concreta economizando tempo de design e desenvolvimento. Esses prottipos

    ajudam a comunicar e entender ideias e serve para validar uma soluo.

    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. Os resultados

    encontrados nos testes devem ser comunicados equipe para que possa corrigir

    possveis erros.

    8. O fim no o lanamento

    No fim de cada ciclo lana-se o mnimo adequado s necessidades reais dos usurios.

    Ao observar o uso real identificamos que existem novas formas para usar a ferramenta

    e podemos propor novas melhorias para o sistema.

    4.5 Consideraes

    A integrao entre os processos de usabilidade e os mtodos empricos esperada

    e possvel. Tanto o desenvolvimento emprico como os processo de usabilidade tem em

    comum caractersticas que colocam o foco do desenvolvimento nas necessidade e anseios

    dos usurios finais, na interao entre os stakeholders envolvidos e na qualidade final do

    produto a ser desenvolvido.

    Os testes de usabilidade e testes de aceitao muitas vezes so confundidos. Testes

    de aceitao podem trazer as questes de usabilidade, mas no o nico mtodo para ser

    utilizado em um projeto. Por ser feito tardiamente as mudanas baseadas em testes de

    aceitao so muito mais caras. J os testes de usabilidade foram projetados para oferecer

    informaes verdadeiras de desempenho desde o incio do processo. O principal objetivo

    dos testes de aceitao servir como uma verificao final de que a aplicao atendeu aos

    requisitos funcionais estabelecidos pelo cliente (PREECE; ROGERS; SHARP, 2007).

    No proximo captulo, utilizamos no estudo de caso algumas tcnicas de usabilidade

    que foram aplicadas juntamente com os testes de desenvolvimento emprico de software.

  • 45

    5 Estudo de Caso

    Neste captulo apresentamos o estudo de caso sobre a utilizao de prticas de

    usabilidade e testes automatizados no desenvolvimento do Portal do Software Pblico,

    onde ser definido um guia de como essas prticas podem ser inseridas nesse contexto.

    O objetivo global desse estudo introduzir tcnicas de usabilidade no desenvol-

    vimento emprico a partir das prticas de BDD. Tendo em vista a utilizao de vrias

    tcnicas de usabilidade e de testes de software em um projeto de desenvolvimento emp-

    rico, definimos os objetivos especficos fim de:

    1. Avaliar relao entre prticas de BDD e prticas de usabilidade de um software.

    2. Integrar tcnicas de usabilidade em um contexto especfico de desenvolvimento em-

    prico de software.

    Para nos guiarmos em ralao aos objetivos estabelecidos, definimos as seguintes

    questes-problemas:

    1. Como os testes automatizados so definidos e implementados em um ambiente de

    desenvolvimento de software emprico?

    2. Como inserir os princpios e tcnicas de usabilidade dentro do desenvolvimento em-

    prico de software?

    3. Como o processo de desenvolvimento utilizando prticas do BDD podem se relaci-

    onar com testes de usabilidade?

    Para respondermos as questes-problemas, definimos a seguinte hiptese:

    Hiptese H1: A integrao de prticas de usabilidade a partir do desenvolvi-

    mento por comportamento (BDD) melhor introduz as tcnicas de usabilidade no ciclo de

    desenvolvimento.

    Esta hiptese foi definida levando em considerao que o desenvolvimento emprico

    tem como prtica bsica os testes automatizados, e em contrapartida se d pouca ateno

    usabilidade. Assim pensamos em utilizar as prticas de testes que j so constantes para

    introduzir no ciclo as prticas de usabilidade.

  • 46 Captulo 5. Estudo de Caso

    5.1 Objeto de Estudo

    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.

    O processo de colaborao com o SPB baseia-se no desenvolvimento emprico. O

    desenvolvimento de testes automatizados intrnseco ao processo de desenvolvimento,

    assim buscamos evoluir a forma com que o processo de colaborao com o SPB lida com

    problemas de usabilidade. O 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 definir as atividades de cada sprint.

    O estudo de caso abrange algumas funcionalidades, que foram desenvolvidas du-

    rante o projeto, sendo as seguintes histrias: (1) Cadastro de Usurio, (2) Cadastro de

    Instituio e (3) Cadastro de Software, que passaram por ciclos de avaliaes de usabili-

    dade.

    5.1.1 Ciclo 1 de Avaliaes

    As avaliaes comearam durante a release 2, a partir da sprint 17, seguindo a

    descrio de avaliao de heurstica na seo 4.2.3. Para cada funcionalidade desenvolvida

    foi determinado um cenrio de uso, base para a implementao dos testes de aceitao e

    consequentemente o seu desenvolvimento. Durante a release 1 (sprint 17) foi desenvolvida

    a histria de Cadastro de Usurio, que possui o seguinte cenrio de sucesso:

    Cenrio 01: Cadastro com sucesso de apenas campos obrigatrios

    [Dado] que no existe nenhum usurio com o nome de usurio josesilva

    [Quando] eu clicar em cadastrar novo usurio

    [E] eu preencho os seguintes campos:

    nome de usurio: josesilva

    e-mail: [email protected]

    senha: 123456

    confirmao da senha: 123456

    nome completo: Jos da Silva

    pas: Brasil

    estado: Distrito Federal

    cidade: Braslia

  • 5.1. Objeto de Estudo 47

    [E] eu clico em cadastrar

    [Ento] eu recebo uma confirmao de cadastro realizado com sucesso

    Outra funcionalidade desenvolvida foi a histria chamada Manter Instituio, que possui

    o seguinte cenrio de sucesso:

    Cenrio 01: Cadastro de nova instituio com sucesso

    [Dado] que eu estou na pgina de cadastro de usurio

    [Quando] eu clicar em Cadastrar nova instituio

    [E] eu preencher os seguintes campos:

    sigla: MP

    poder: executivo

    esfera: federal

    tipo: pblica

    cnpj: 00.489.828/0002-36

    [Ento] eu devo visualizar a mensagem Instituio cadastrada com sucesso!

    Os demais cenrios encontram-se na seo apndice B.3.

    Aps desenvolvidos, estes cenrios apresentaram alguns problemas de usabilidade

    na avaliao das heursticas de Nielsen (seo 4.2.3). Estes problemas esto descritos na

    tabela 8

    ID Local Descrio do Problema Heurstica Desobe-

    decida

    Criticidade

    1 Cadastro de Usurio Linguagens estrangeiras e avisos em outros idi-

    omas

    Dilogos simples Mdia

    2 Cadastro de Usurio Boto de adicionar nova instituio no claro

    para o usurio.

    Minimizar a sobrecarga

    de memria do usurio;

    Alta

    3 Cadastro de Usurio Diferena entre boto adicionar nova instituio

    e criar nova instituio para o usurio

    Minimizar a sobrecarga

    de memria do usurio

    Media

    4 Cadastro de Instituio Seleo de Pas deve ter Brasil como default Dilogos simples e na-

    turais

    Baixa

    5 Cadastro de Instituio Opo de escolha do estado: Random button

    no posicionado e no funciona no primeiro cli-

    que.

    Dilogos simples e na-

    turais

    Baixa

    6 Cadastro de Usurio Caso voc no preencha o email secundrio ele

    informa a seguinte mensagem: E-mail or secon-

    dary e-mail already taken

    Boas mensagens de er-

    ros

    Mdia

    7 Cadastro de Usurio Opo recaptcha s aparece na segunda vez Consistncia Alta

    8 Perfil de Usurio Ao clicar em hide no bloco de progresso de perfil

    ele some e no foi encontrada uma opo fcil

    para reverter a situao.

    Preveno de erros Baixa

    9 Cadastro de Usurio Caso se tenha uma infinidade de grupos, fica

    invivel a opo de checkbox. Ou ser utilizada

    apenas para grupos mais conhecidos?

    Atalhos Mdia

    10 Cadastro de Usurio Mensagem de erro um pouco confusa: Usurio

    com este Usurio j existe.

    Consistncia Baixa

    Tabela 8 Avaliaes de usabilidade - sprint 17

  • 48 Captulo 5. Estudo de Caso

    Cada problema levantado nas avaliaes gerou uma proposta de melhorias para

    os cenrios envolvidos. Essas melhorias, quando aceitas, geraram mudanas nos cenrios

    de testes de aceitao, consequentemente no desenvolvimento da funcionalidade em si. Os

    testes de aceitao alterados foram utilizados para verificar os seguintes fatores:

    Capacidade de cadastrar informaes de usurio;

    Capacidade de editar informaes de usurio;

    Capacidade de cadastrar informaes de instituio;

    Capacidade de editar informaes de instituio;

    5.1.2 Ciclo 2 de Avaliaes

    O ciclo 2 de avaliaes foi realizado na sprint 18. Durante a release 2 a histria

    de Cadastro de Usurio foi desenvolvida novamente com novo cenrio B.4. Para este

    cenrio foi desenvolvido o seguinte prottipo, baseando-se nos requisitos definidos pelos

    clientes.

    Figura 5 Prottipos de cadastro de usurio

    Assim a histria de Novo Software tambm foi desenvolvida, com o seguinte

    cenrio de sucesso:

    Cenrio 01: Novo Software

    [Dado] que no existe nenhum software com o localhost software

    [Quando] eu clicar em Novo Software

    [E] eu preencho os seguintes campos:

    localhost: software

    finalidade: Finalidade do software

  • 5.1. Objeto de Estudo 49

    licena: licena

    [E] eu clico em Salvar

    [Ento] eu recebo uma confirmao de cadastro realizado com sucesso, e encontro

    a pagina de edio de software

    Assim como os cenrios anteriores, os demais cenrios da histria de Novo Software

    encontra-se em B.5. Para esta histria tambm foi desenvolvido um prottipo:

    Figura 6 Prottipos de cadastro de software

    Para dar continuidade ao processo avaliamos os cenrios da histria de Novo

    Software (tabela 9) durante a sprint 18:

    ID Local Descrio do Problema Heurstica Desobe-

    decida

    Criticidade

    1 Prottipo - Novo Soft-

    ware

    Ao escolher um nome para o software, no

    h evidncia do que aconteceria caso o nome

    fosse igual a outro existente

    Preveno de erros Mdia

    2 Prottipo - Novo Soft-

    ware

    No h informao para o usurio do que

    seria o Link

    Ajuda e documenta-

    o

    Mdia

    3 Prottipo - Nova Co-

    munidade

    Palavras em ingls e portugus Linguagem Clara Baixa

    4 Prottipo - Nova Co-

    munidade

    Falta de informao sobre as tags e as cate-

    gorias do noosfero

    Ajuda e documenta-

    o

    Baixa

    5 Prottipo - Novo Soft-

    ware

    Campos obrigatrios no so definidos Preveno de erros Mdia

    6 Prottipo - Novo Soft-

    ware

    Mensagens de ajuda ao preenchimentos dos

    campos

    Preveno de erros Baixa

    7 Prottipo - Nova Co-

    munidade

    Boto de Save e Continue altera estrutura

    da pagina de software

    Consistncia Baixa

    Tabela 9 Avaliaes de usabilidade - sprint 18

    Cada problema levantado nas avaliaes da sprint 18 gerou uma proposta de me-

    lhorias para os cenrios envolvidos. Como fizemos as avaliaes do segundo ciclo em cima

    dos prottipos, geramos insumos para o desenvolvimento dos testes de aceitao, que

    verificam os seguintes fatores:

    Capacidade de cadastrar informaes software;

    Capacidade de editar informaes de software;

    Capacidade de desativar software;

  • 50 Captulo 5. Estudo de Caso

    5.1.3 Ciclo 3 de Avaliaes

    No ciclo 3, realizado durante a sprint 19, aplicamos checklists (A.5) para auxiliar

    nas avaliaes e levantamos os seguintes problemas em relao as histrias de Cadastro

    de Usurio e Cadastro de Software, na tabela 10:

    ID Local Descrio do Problema Heurstica Deso-

    bedecida

    Criticidade

    1 Cadastro de Usurio Rtulos dos campos de registro no contmum elemento de convite entrada de dados( : )

    Dilogos simples enaturais

    Baixa

    2 Cadastro de Usurio Usurio no encontra informaes suficien-tes sobre grupos que pode participar

    Dilogos simples enaturais

    Mdia

    3 Cadastro de Usurio Ao se excluir um e-mail secundrio, noexiste solicitao de confirmao

    Feedback Alta

    4 Cadastro de Software Dificuldade para acessar o boto de criarsoftware

    Minimizar sobre-carga

    Baixa

    5 Cadastro de Software Funcionalidade de criar software tambmcria comunidade, porm o usurio no informado disto

    Feedback Mdia

    6 Cadastro de Software Dificuldade para acessar o boto de editarsoftware

    Minimizar sobre-carga

    Baixa

    7 Cadastro de Software Fluxo de edio no est claro (etapas) Feedback Mdia8 Cadastro de Software frase The highlighted fields are manda-

    tory no especifica o char (*)Dilogos simples enaturais

    Baixa

    Tabela 10 Avaliaes de usabilidade - sprint 19

    Aps as melhorias propostas serem desenvolvidas e longo do processo de evolu-

    o das histrias mencionadas, os testes de aceitao foram utilizados para verificar os

    seguintes fatores:

    Capacidade editar informaes de usurio;

    Capacidade de registrar informaes de software;

    Capacidade de desativar usurio;

    Capacidade de validar software pblico;

    5.2 Anlise e Interpretao dos Resultados

    Analisamos a evoluo de cada histria ao longo dos ciclos de avaliaes. Cada

    ciclo de avaliao representa um sprint, em que foram realizadas as avaliaes. O ciclo 1

    foi realizado na sprint 17, o ciclo 2 na sprint 18 e o ciclo 3 na sprint 19. Uma das histrias

    avaliadas foi a de Cadastro de Usurio:

    J em Cadastro de Instituio, temos:

    Quanto histria de Cadastro de Software, temos:

  • 5.2. Anlise e Interpretao dos Resultados 51

    Figura 7 Resultado das avaliaes de Cadastro de Usurio

    Figura 8 Resultado das avaliaes de Cadastro de Instituio

    Figura 9 Resultado das avaliaes de Cadastro de Software

  • 52 Captulo 5. Estudo de Caso

    Quanto aos testes de aceitao dos cenrios avaliados tivemos os seguintes resul-

    tados de medio: Histria: Cadastro de Usurio:

    Quantidade de cenrios executados: 22 cenrios;

    Quantidade de passos executadas: 162 passos

    Quantidade de falhas obtidas: 0 falhas;

    Histria: Cadastro de Instituio:

    Quantidade de cenrios executados: 2 cenrios;

    Quantidade de passos executadas: 23 passos

    Quantidade de falhas obtidas: 0 falhas;

    Histria: Cadastro de Software:

    Quantidade de cenrios executados: 6 cenrios;

    Quantidade de passos executadas: 68 passos

    Quantidade de falhas obtidas: 0 falhas;

    5.3 Insero das Prticas de Usabilidade

    Durante o estudo de caso inserimos algumas prticas ( prototipao, checklist e

    avaliao de heursticas) de usabilidade no objeto de estudo, integrando com prticas

    de mtodos empricos j utilizadas como os testes de aceitao. A prototipao feita

    durante o lenvantamento de requisitos com base nos cenrios de testes, esses prottipos

    devem ser submetidos aos checklists A.5, que sero usados como base para as avaliaes de

    heursticas. As avaliaes devem apresentar os problemas de usabilidade, que devem ser

    utilizadas como insumo para possveis atividades de melhorias e verificar a implementao

    das melhorias atravs dos testes de aceitao, tornando possvel o incio de um novo ciclo:

    1. Elaborao dos cenrios de uso/testes levantados a partir dos requisitos do

    sistema;

    2. Criao dos prottipos de acordo com cenrios;

    3. Aplicao dos checklists A.5 nos prottipos criados;

    4. Avaliao de heurstica nos prottipos criados, com o auxlio dos resultados dos

    checklists, levantando problemas de usabilidade;

  • 5.4. Consideraes 53

    5. Propor atividades de melhorias para cada problema levantado durante as ava-

    liaes;

    6. Verificao pelos testes de aceitao de cada atividade de melhoria implemen-

    tada;

    7. Reincio do ciclo no item 1;

    Estes passos esto ilustrados na figura 10.

    Figura 10 Atividades do estudo de caso

    Com este ciclo possibilitamos a insero de prticas de usabilidade de forma em-

    prica, diminuindo assim a curva de apredizagem da equipe e agregando a importncia da

    usabilidade no processo de desenvolvimento, ficando assim uma grande contribuio para

    a equipe de desenvolvimento, mesmo com o trmino do estudo de caso.]

    5.4 Consideraes

    Este captulo apresentou o estudo de caso sobre o desenvolvimento do Portal do

    Software Pblico a partir de mtodos empricos, utilizando prticas de BDD e usabilidade.

  • 55

    6 Concluso

    Durante este trabalho de concluso de curso, estudamos o desenvolvimento de

    software emprico e suas caractersticas, focando nos mtodos geis de desenvolvimento de

    software e nas prticas de software livre. Assim como a forma que esse desenvolvimento

    est ligado com prticas de BDD e como as prticas (testes de aceitao) podem ser

    aplicadas ou no em um ambiente real de desenvolvimento que j se encontra estabelecido,

    alm da aplicao de prticas de melhorias de usabilidade, como avaliaes de heursticas

    e aplicaes de checklists, atravs dos cenrios de testes automticos.

    Os objetivos deste estudo de caso foram:

    1. Verificar aplicao das prticas do BDD no processo de desenvolvimento emprico

    de software emprico;

    2. Integrar usabilidade no ciclo de vida de desenvolvimento emprico de software;

    3. Identificar quais tcnicas de usabilidade podem ser utilizadas em cada fase do de-

    senvolvimento emprico.

    4. Verificar a relao de prticas de BDD e prticas de usabilidade no desenvolvimento

    emprico de software.

    O estudo de caso deste trabalho foi o projeto de desenvolvimento do Portal do

    Software Pblico Brasileiro, em que focamos para este trabalho no estudo das prticas de

    desenvolvimento dos cenrios de testes de aceitao, prototipao, avaliao de heursticas

    de usabilidade, aplicao de checklists de usabilidade; assim como a relao entre essas

    prticas.

    Para atingir dos objetivos do estudo de caso, buscamos responder as seguintes

    questes:

    1. Como os testes automatizados so definidos e implementados em um ambiente de

    desenvolvimento de software emprico?

    2. Como inserir os princpios de usabilidade no desenvolvimento emprico de software?

    3. Como as prticas do BDD podem se relacionar com as paticas de usabilidade?

    A partir do estudo de caso, verificamos que os testes automatizados so imple-

    mentados atravs das prticas de BDD, como os testes de aceitao, que so utilizados

  • 56 Captulo 6. Concluso

    constantemente durante o desenvolvimento emprico, tambm inserimos algumas prti-

    cas de usabilidade dentro do processo de desenvolvimento do Portal do Software Pblico

    Brasileiro, sendo estas prticas: prototipao, avaliao de heursticas de usabilidade, apli-

    cao de checklists de usabilidade. Porm existe uma certa dificuldade em aderir tanto

    prticas de testes, quanto prticas de usabilidade pela equipe de desenvolvimento, prin-

    cipalmente durante sprints de final de release, onde o prazo de entrega encontra-se mais

    perto, e a equipe tende a se preocupar mais com o desenvolvimento da funcionalidade em

    si. Quando essas prticas so utilizadas de forma frequente e como planejadas, verifica-

    mos que o desenvolvimento dos testes de aceitao , assim como o uso de prottipos, pode

    agilizar o processo de avaliaes de usabilidade por meio de checklists e heursticas, pois

    no existe a necessidade de uma funcionalidade est totalmente desenvolvida. Tambm

    verificamos que os testes de aceitao podem ser usados para verificar a aplicao das

    melhorias estabelecidas atravs das avaliaes de heursticas de usabilidade.

    Entretanto necessrio dar continuidade as prticas de usabilidade durante todo

    o processo de desenvolvimento, para que a usabilidade possa evoluir juntamente com o

    processo de desenvolvimento, assim as atividades de usabilidade estar sempre frente

    das atividades de desenvolvimento, pois necessitam de planejamento de avaliaes de

    usabilidade e da produo de de cenrios e prottipos.

    Durante este estudo de caso, formulamos a seguinte hiptese:

    Hiptese: A integrao de prticas de usabilidade a partir de prticas do BDD

    resulta em melhores avaliaes de usabilidade durante desenvolvimento emprico de soft-

    ware.

    De acordo com a anlise dos resultados coletados na subseo 5.2 deste estudo,

    verificamos que a aplicao de prticas de usabilidade como prototipao, avaliao de

    heursticas e checklists a partir dos cenrios dos testes de aceitao apresentaram evoluo

    na usabilidade do Portal do Software Pblico. Podemos ver tambm nas figuras 7, 8 e 9

    que a partir das avaliaes de heursticas nos prottipos e cenrios diminuiu ou se manteve

    o numero de casos com problemas de criticidade alta, mdia ou baixa, apresentando assim

    indcios que o desenvolvimento emprico e suas prticas combinadas com as prticas de

    usabilidade, pode trazer grandes ganhos em usabilidade.

    6.1 Trabalhos Futuros

    Encerramos este estudo antes da entrega oficial do Portal do SPB, assim a atividade

    de testes de usabilidade com usurios ainda ser executada, o que um passo importante

    para a evoluo da usabilidade do Portal e continuao do trabalho realizado neste estudo.

    Nas demais sprints do projeto do Portal do Software Pblico, outras prticas de

  • 6.1. Trabalhos Futuros 57

    usabilidade podem ser utilizadas pela equipe do projeto. importante compreender as

    necessidades reais dos usurios, e para isso deve consult-los para obter um melhor feed-

    back. Um protocolo para a realizao de testes de usabilidade esto relatados no apndice

    A.3. Esses testes devem ser executados nas prximas releases e sprints do projeto e tem

    como objetivo avaliar o desempenho do usurio na execuo de uma tarefa especfica no

    escopo do sistema. O desempenho pode ser medido atravs do nmero de erros e tempo

    de execuo da tarefa.

    Questionrios de satisfao, como descritos no apndice A.2.2 tambm podem ser

    utilizados para medir de forma subjetiva o grau de satisfao do usurio, verificando assim

    se o sistema satisfaz as suas necessidades.

    Atravs da aplicao do teste de usabilidade, podemos fazer uma relao com os

    testes de aceitao. Os testes de usabilidade podem ser inseridos em qualquer parte do

    ciclo de desenvolvimento fornecendo informaes verdadeiras dos usurios desde o incio

    do projeto.

    Como foi aplicado um questionrio no inicio do projeto para analisar o perfil de

    uso da verso antiga do Portal do Software Pblico, pode-se tambm ser aplicado um novo

    questionrio para o novo portal. Alm disso, iniciamos uma pesquisa para compreender

    quais tcnicas e prticas de usabilidade os profissionais que trabalham com desenvolvi-

    mento emprico utilizam. Um estudo mais detalhado poder ser feito para uma melhor

    compreenso do assunto aplicado nesse TCC.

    Este trabalho tambm pode servir de base para um estudo mais aprofundado

    sobre prticas de BDD e usabilidade, alm da integrao dessas prticas, tambm pode-

    se analisar como uma influencia a outra.

  • 59

    A Apndice 1

    A.1 Processos de Usabilidade

    Alguns autores como Mayhew (1999) e Hix e Hartson (1993) proposeram modelos

    de processo baseados em ciclo de vidas bem definidos para as atividades de usabilidade. O

    termo modelo de ciclo de vida utilizado para representar um modelo que capta um con-

    junto de atividades e a maneira como elas se relacionam (PREECE; ROGERS; SHARP,

    2007). Outro modelo muito utilizado para descrever processos de usabilidade o proposto

    pela norma ISO/IEC-13407 (1999).

    A.1.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 especificao 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 11 Ciclo de Vida Estrela

    A.1.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

  • 60 Apndice A. Apndice 1

    A primeira etapa do ciclo a anlise dos requisitos. Mayhew prope quatro tipos

    de atividades de anlise de requisitos que so detalhadas abaixo:

    Anlise do perfil do usurio: Os projetistas devem conhecer os atributos pessoais

    e suas habilidades para cada tipo de usurio ident