Blog de acompanhamento ao projecto de 3º ano de NTC, no ano lectivo de 2010/2011.
30
Mai 11

Para assegurar um bom funcionamento da aplicação e uma experiência agradável por parte do utilizador é necessário realizar uma série de testes. Esses testes incidem principalmente sobre três pontos: Usabilidade, Compatibilidade e Segurança.

 

Usabilidade

Os testes de Usabilidade giram em torno da experiência do utilizador, para tal é importante analisar a forma como interagem com a aplicação. Para essa análise vamos recorrer a seis utilizadores tipo, para representar o nosso público-alvo, três dos quais serão artistas novatos, enquanto outros três serão artistas com já alguma experiência.

 

Juntamente com o guião cognitivo iremos ter um dos membros do grupo juntamente com o utilizador para o guiar ao longo do teste, enquanto que as suas interacções serão gravadas através de uma aplicação de captura de ecrã. Adicionalmente iremos usar ou uma câmara para filmar a experiência, ou com a presença de um segundo membro do grupo, mais distante que irá registar erros e outros detalhes em uma tabela de análise.

Caso tudo corra bem, os testes de usabilidade serão executados ao longo da próxima sexta-feira.

 

Compatibilidade

Os testes de compatibilidade têm como objectivo assegurar uma igual experiência de utilização da aplicação em diversos dispositivos. Para tal é necessário testar o funcionamento em diversas combinações de browsers, resoluções e sistemas operativos, registando os resultados numa tabela, descrevendo os problemas e diferenças detectadas. Os problemas encontrados serão depois inseridos na ferramenta de bug tracking para manter um registo e facilitar a sua resolução e priotirizar a sua resolução conforme a gravidade.

 

Segurança

A função dos testes de segurança é assegurar a protecção tanto da aplicação como dos utilizadores, como prevenir spam. Para tal iremos realizar os seguintes testes:

 

- Copiar urls internos sem login para tentar aceder às páginas.

- Alterar parâmetros de url para tentar aceder a perfis e outras áreas exclusivas.

- Colocar valores inválidos nos campos de input e analisar a resposta do sistema.

- Tentar aceder directamente a ficheiros e directórios.

- Testar Captcha, submissões em massa.

- Manter registos de tentativas falhadas.

- Verificar encriptação na base de dados de palavras-chave. Tentar assegurar existência de salt.

 

Os resultados serão então registados e quaisquer problemas detectados, tal como com os testes de compatibilidade, serão inseridos na ferramenta de bug tracking.

 

 

 


Após uma analise ao protótipo de alta fidelidade, elaboramos uma lista dos bugs encontrados. Esta lista foi construída utilizando a ferramenta code.ua, que será utilizada daqui para a frente, não só para bug tracking mas também para controlar o desenvolvimento das funcionalidades ainda por implementar. A página do projecto pode ser consultada aqui. Os bugs são categorizados segundo a sua prioridade e tipo. Achamos ainda importante diferenciar se é um bug do svg-edit ou do Drupal.

 

(ver pdf)

(download pdf)

 

Para a resolução dos bugs do svg-edit relacionados com a interacção com o Drupal (login/registo e gravação de imagens), vão ser usadas várias técnicas de verificação de código em PHP, nomeadamente:
    •    fazer o "dump" para um ficheiro de texto de todas as variáveis passadas ao longo do código;
    •    Criar variáveis de verificação que incrementem no início e no final de cada função;
    •    Retirar o código de redireccionamento para a página do nó criado, de forma a poder examinar, com recurso ao Firebug e outras ferramentas similares, os dados passados por POST;
    •    Comentar selectivamente determinados grupos de código, como forma de chegar mais perto da fonte do problema;

 

Os bugs relacionados com funcionalidades nativas ao svg-edit, como o das layers, vão requerer uma pesquisa a fundo, no código-fonte, das zonas de onde o problema possa originar. Adicionalmente, será pedido apoio à comunidade de desenvolvimento da ferramenta e os fóruns de discussão da mesma pesquisados, na eventualidade de soluções já existirem.

 

Relativamente aos erros do Drupal, utilizando o perfil de administrador, iremos verificar se todas as permissões estão delegadas de acordo com as funcionalidades pretendidas. Nos problemas que não envolvam permissões, iremos na secção de administrar e construir, modificar e ajustar os parâmetros necessários a resolução dos bugs. Para qualquer problema que não tenha uma solução imediata, iremos recorrer a ajuda no site do CMS e a sua comunidade.

Link para a folha de cálculo da listagem de bugs.


26
Mai 11

O presente módulo, último antes da entrega final, envolve dar continuidade ao desenvolvimento da plataforma até esta chegar à versão beta e, a partir desta versão, realizar um conjunto de testes de usabilidade, compatibilidade e segurança.

Neste post vamos definir as componentes a desenvolver, tendo por base o mapa do site até agora usado.

 

 

(ver pdf)

(download pdf)


Como no módulo anterior, as componentes foram agrupadas por prioridades, sendo contudo a legenda deste mapa mais complexa que a anterior.

Prioridade urgente (Página principal, ficheiros, versões anteriores, editor, competições)

  • Os componentes marcados com este nível prioritário são os que têm de ser completos o mais cedo possível, dada a importância e complexidade das suas funcionalidades. Os componentes de ficheiros e editor já foram iniciados no módulo anterior mas ainda contêm alguns pontos em falta ou, no caso do editor, alguns bugs a corrigir. As competições são, a seguir ao editor, o que há de mais complexo por implementar na plataforma. As versões anteriores já se encontram quase implementadas e são fundamentais para o funcionamento da plataforma.


Prioridade alta (Perfis, comentários a ficheiros, listas amigos)

  • Estes são componentes também bastante importantes, mas menos complexos que os anteriores. São todos fáceis de implementar ou já parcialmante implementados e como tal ficam atrás.


Prioridade normal (Página inicial, comentários a perfil, pesquisa)

  • Componentes que não são fundamentais para a versão beta, mas são relativamente simples de implementar ou já estão parcialmente implementados.


Prioridade baixa (Notícias, mensagens pessoais, posts, gerir competições, ajuda, documentação)

  • Componentes que não necessitam de ser desenvolvidos para este módulo e apenas o serão na versão final.

 


20
Mai 11

O presente módulo TP5 que termina hoje consistiu no desenvolvimento do protótipo de alta fidelidade da nossa aplicação.


(As áreas da aplicação onde os esforços se centraram foram detalhadas no post Módulo 5 - Mapa do site [Final], que pode ser revisitado aqui.)


Assim sendo, começámos por abordar os elementos de maior prioridade, com especial atenção ao desafio da interacção entre a ferramenta de edição vectorial svg-edit e o CMS Drupal. Essa interacção foi detalhada anteriormente mas revelou-se agora em toda a sua complexidade, obrigando ao grupo desenvolver código largamente original e fora do conforto de tutoriais ou documentação existente. Salvo algumas inconsistências funcionais o desafio foi ultrapassado. Ainda assim, as dificuldades na sua concretização acabaram por atrasar outras áreas do protótipo. Mais, algumas funcionalidades como o histórico de ficheiros e forking ficaram por desenvolver.


Contudo sentimos que, tendo sido ultrapassadas as barreiras principais do desenvolvimento, estamos em condições de desenvolver essas restantes funcionalidades e bugs que persistam com relativa facilidade.


A nível gráfico, toda a estrutura da interface original da ferramenta foi alternada para maximizar o conforto e a funcionalidade. Adoptámos um aspecto o mais semelhante possível a ferramentas a que o público-alvo esteja já habituado a utilizar (Illustrator, Aviary, etc). Também nesse sentido optámos por utilizar uma versão alpha da ferramenta, por esta oferecer um grande número de funcionalidades que achamos fundamentais, como:

  • Pen tool;

  • Grelhas;

  • Rulers;

  • Right-click menu com funcionalidades clipboard e ordenação de ficheiros;

  • Color picker;

     

A nível do CMS, o maior desafio foi a falta de familiaridade com o ambiente de desenvolvimento, nomeadamente alguns módulos mais complexos mas fundamentais para criar um site dinâmico e interessante. Dos restantes elementos considerados de alta prioridade, o que ficou de longe mais desenvolvido foi a página de perfil.


Aí foram implementadas funcionalidades como uma galeria das imagens criadas pelo utilizador, carregada dinâmicamente, mecanismos de subscrição e subscrições, notificações de actividade recente e vário contéudo carregado dinâmicamente. O próprio layout da página foi feito com recurso a um módulo, Panels, que permite criar layouts complexos de forma rápida.


A página de ficheiro já permite recuperar no editor os ficheiros anteriormente gravados, apesar da falta das funcionalidades de histórico e forking já mencionadas.


A nível gráfico, foi implementado com sucesso o estilo visual apresentado na fase de especificação gráfica, tanto a nível de cores e tipos de letras como a nível de utilização da grelha que nos comprometemos a respeitar. Já ao nível das interacções, o Drupal suporta de raíz um sistema e mensagens de feedback que aproveitamos, assim como overlays para formulários de login, registo e contacto. Por fim, o próprio menu é animado para tornar a sua navegação mais simples e agradável.


Dos elementos propostos como sendo de baixa prioridade, existiram também alguns conflitos relativos aos módulos do Drupal, pelo que a secção dos “Posts” também só irá ficar completa até ao final da próxima semana. De resto e tirando a página principal que, após reunião com os orientadores, se decidiu manter apenas como conteúdo estático, os restantes elementos foram concluídos.


Seguidamento temos os elementos de conteúdo estático. Aqui conseguimos avançar mais do que nos tínhamos proposto, sendo que quase todos os elementos marcados foram concluídos. Adicionalmente, as secções de discussões e de mensagens privadas ficaram completamente funcionais, precisando apenas de alguns retoques gráficos. Por fim o back office, sendo providenciado pelo próprio Drupal, também está completamente funcional.


Outro objectivo a que nos tínhamos proposto com os nossos orientadores era o de traduzir toda a aplicação para uma só lingua, já que svg-edit e Drupal se encontravam em línguas diferentes. Tendo optado pelo português, traduzimos o svg-edit e o próprio Drupal e respectivos conteúdos, reforçando o desejo de que esta seja uma comunidade de portugueses e para portugueses. No entanto,alguns módulos revelaram-se mais complicados de alterar o que, juntamente com as dificuldades já referidas, resultaram numa tradução menos que perfeita, mas perfeitamente funcional para este estado de desenvolvimento. A mesma vai ser finalizada no próximo momento de trabalho.


De forma geral e apesar dos diversas contratempos encontrados, especialmente tendo em conta as dificuldades de integrar e interligar a ferramenta de edição vectorial e o Drupal, consideramos ter feito um progresso considerável por diversas áreas da aplicação e preparado o caminho para um desenvolvimento futuro mais fácil. Acima de tudo, foi adquirida uma quantidade considerável de experiência na criação e edição de contéudos no Drupal, nomeadamente na utilização dos módulos Panels e Views, responsáveis pela estruturação de layouts complexos e pela injecção de contéudos, respectivamente.


Em jeito de comparação com o mapa apresentado anteriormente, foi elaborado o mapa com o estado de desenvolvimento da aplicação após a fase de prototipagem:



 

(ver pdf)


Algumas aspectos menos bem conseguidos e/ou bugs a ter em consideração, nesta versão da aplicação:

  • Devido à falta de tempo para solucionar todos os problemas, a aplicação é melhor visualizada no Firefox, nomeadamente na sua versão mais recente. Outros browsers apresentam problemas a nível da ferramenta de edição vectorial;

  • Como se decidiu que a página principal deveria ser deixada como estática e sendo ela principalmente uma agregação de links, o link do logo leva o utilizador imediatamente à página de perfil, ao invés de para a página principal.

  • Um bug presente no svg-edit previne que o campo de password esteja encriptado, pois se assim estiver, ao inserir a password, irá ao mesmo activar as ferramentas do svg-edit através dos atalhos do teclado. Já contactámos a comunidade de desenvolvimento do mesmo, mas até à hora desta entrega não tivemos resposta à nossa questão.


É possivel aceder a aplicação no seguinte link: Link da Aplicação.


Por questões de segurança as credenciais de administrador serão enviados por email aos docentes e aos orientadores, assim como as credenciais dos utilizadores-tipo já criados, correspondentes às personas referenciadas na demo gráfica.

 

 


02
Mai 11

Após a reunião da semana passada com os orientadores e da aula de hoje e as sugestões e dúvidas nelas apresentadas pelos docentes, efectuámos algumas alterações ao mapa do site previamente apresentado. Estas alterações foram essencialmente no sentido de clarificar a distinção entre as funcionalidades mais importantes e de maior prioridade na construção do protótipo de alta fidelidade.


Assim, podemos destacar a divisão das funcionalidades nas seguintes categorias: prototipagem de alta fidelidade; conteúdo estático; a desenvolver.

 

ver pdf


Dentro da primeira categoria, existem dois níveis de prioridade. Os itens marcados com "prioridade alta" são os que serão desenvolvidos com o objectivo de que todas os seus requisitos funcionais fiquem completamente implementadas. Por outro lado, itens marcados como tendo "prioridade baixa" só serão trabalhados ao pormenor caso todos ou outros sejam fechados.

Nas páginas categorizadas como "conteúdo estático", apenas o layout será trabalhado, sendo que, em todas as regiões onde apareceria conteúdo dinâmico, este será substituído por placeholders.

Por último, as páginas "a desenvolver" irão estar sinalizadas como estando em construção.

As páginas a que foram dadas o nível de prioridade máxima são: editor, ficheiros, galerias e perfis. Estas formam, na nossa opinião, o núcleo do nosso site, permitindo ao utilizador criar, partilhar, comentar e visualizar imagens. Também são as secções de maior complexidade técnica, envolvendo a interacção entre a ferramenta de criação vectorial e o CMS, assim como a organização das imagens em vários tipos de galerias.


Maio 2011
Dom
Seg
Ter
Qua
Qui
Sex
Sab

1
2
3
4
5
6
7

8
9
10
11
12
13
14

15
16
17
18
19
21

22
23
24
25
27
28

29
31


arquivos
pesquisar blog
 
subscrever feeds
blogs SAPO