Top Banner
1 Testes de desempenho do WordPress através do uso de ferramentas de software livre Mauro Pichiliani ([email protected] )
17

Testes de desempenho do WordPress através do uso de ferramentas de software livre

Dec 04, 2014

Download

Technology

pichiliani

Minha apresentação no evento WordPress Summit 2010
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Testes de desempenho do WordPress através do uso de ferramentas de software livre

1

Testes de desempenho do WordPress através do uso de ferramentas de software livre

Mauro Pichiliani ([email protected])

Page 2: Testes de desempenho do WordPress através do uso de ferramentas de software livre

2

Apresentar e discutir algumas abordagens de

software gerais para testes no WordPress

Objetivo

Page 3: Testes de desempenho do WordPress através do uso de ferramentas de software livre

3

Roteiro

• Preparação do ambiente

• Testes de usabilidade

• Teses de código

• Testes de banco de dados

• Testes de carga• Conclusões e recomendações

Page 4: Testes de desempenho do WordPress através do uso de ferramentas de software livre

4

Preparação do ambiente (1)

Planejamento de testes: o quê, quando, onde, como, quem e porquê

Montar ambiente adequado: Homologação x Produção Local x Remoto Versão atual x Versão nova x Versão alternativa

Alocar e configurar recursos Hardware, software, link, usuários, etc Avisar responsáveis (hosting, designers,

programadores, etc) Tempo, paciência, custo x benefíco, $$$

Page 5: Testes de desempenho do WordPress através do uso de ferramentas de software livre

5

Preparação do ambiente (2)

Desenvolvimento no WP != Desenvolvimento ‘padrão’: Não há build Uso de plug-ins Conteúdo variado e postado pelo usuário Altíssima disponibilidade Pouca modelagem e programação Baixa reusabilidade Cenário de hosting

Conclusão: metodologias formais de teste não se adequam muito bem

AVISO: TESTES NÃO SUBSTITUEM VALIDAÇÃO E HOMOLOGAÇÃO!

Page 6: Testes de desempenho do WordPress através do uso de ferramentas de software livre

6

Preparação do ambiente (3) Como começar?

Definir bem objetivos Saber as métricas a serem utilizadas Montar pequena escala (Ex: MythBusters) Análise crítica (sucesso, falha, adequado, agradável, suficiente, necessário, etc) Faça um teste por vez! Teste várias ferramentas/serviços e escolha a mais adequada Avalie a modificação da ferramenta Artigos sobre criação de ambiente de desenvolvimento/testes:

http://migre.me/1nicu http://migre.me/1nicJ http://migre.me/1nide http://migre.me/1nidX

Informações importantes sobre testes no WP: http://migre.me/1nieo

Page 7: Testes de desempenho do WordPress através do uso de ferramentas de software livre

7

Testes de usabilidade (1) Se possível, envolver o usuário e realizar testes de acessibilidade: Teste automatizado de usabilidade: Selenium (http://migre.me/1nieS)

Checagem de links, trackbacks, RSS e pingbacks: Xenu (http://migre.me/1nif9) LinkChecker (http://migre.me/1nifm) W3C Link Checker (http://migre.me/1nifG) Diversors web crawlers open source ( http://sf.net e http://www.codeprojetct.com)

Visualização em diversos browsers pela Web (screenshots e videos): Browsershots (http://migre.me/1nigr) Spoon Browser SandBox (http://migre.me/1nigI) CrossBrowserTesting (http://migre.me/1nihB) IETester (http://migre.me/1nihM) Browsrcamp.com (http://migre.me/1nihX) Adobe BrowserLab (http://migre.me/1nii9) iPhoneTester (http://migre.me/1nijC) e TestiPhone (http://migre.me/1nijS) Teste do Android com o SDK: http://migre.me/1nik7

Recomendação: instalar SO+browser+emulador+SDK em ambiente virtual (VMWare, VirtualBox, Wine, Parallels, etc) para testar interação

Page 8: Testes de desempenho do WordPress através do uso de ferramentas de software livre

8

Testes de usabilidade (2) HeatMap com opção trial: Clickdensity (http://migre.me/1nilB) Clicktale (http://migre.me/1nilK)

Perl + Javascript+ imageMagick: http://migre.me/1nimB

Web Click Stream Analysis: Degaa.NET (http://migre.me/1nimI)

MySQL + Log Apache + Beowulf: http://migre.me/ibm/6V

Outros projeto open source para análise de log:

Apache2dot: http://migre.me/1nioo Visitors: http://migre.me/1nioz StatViz: http://migre.me/1nioH Pathalizer: http://migre.me/1nioU Web Utilization Miner (WUM): http://migre.me/1nip2 phpOpenTracker: http://migre.me/1nipp

Page 9: Testes de desempenho do WordPress através do uso de ferramentas de software livre

9

Testes de usabilidade (3) Visualizando tráfego do site em tempo real: glTail (http://migre.me/1nipF), Logstalgia (

http://migre.me/1nipQ) e Hummingbird (http://migre.me/1niq0)

Alternativas ao Google Analytics (não open source) Plugin WP: Google Analytics for WordPress: http://migre.me/1niq8 Ommiture: http://migre.me/1niqm Yahoo! Web Analytics: http://migre.me/1nir4 Overstat: http://migre.me/1nire Woopra: http://migre.me/1nirq Coremetrics: http://migre.me/1nirA ClickTale: http://migre.me/1nirL Webtrends: http://migre.me/1nisI Lyrics: http://migre.me/1nisP FireClick: http://migre.me/1nisT

Page 10: Testes de desempenho do WordPress através do uso de ferramentas de software livre

10

Testes de código (1) WordPress = PHP + MYSQL

Verificação do código PHP: Regras (Static Code Analysis)+duplicação de código: PMD (http://migre.me/1nit4)

Ferramenta de análise estática do código: PHP-Sat (http://migre.me/1nitC)

Adequação à convenção de códigos: Spike PHPCheckstyle (http://migre.me/1nitI)

Validação de padrões de código: CodeSnigger (http://migre.me/1nitR)

Testes unitários com o PHP: PHPUnit (http://migre.me/1niuc)

Verificador de testes de cobertura: PHP Test Coverage Tool (http://migre.me/1nium) e PHP Gcov (http://migre.me/1niut)

Integração contínua: phpUnderControl (http://migre.me/1niuH)

Artigo sobre técnicas de debug no PHP: http://migre.me/ibm/6W

Page 11: Testes de desempenho do WordPress através do uso de ferramentas de software livre

11

Testes de código (2) Auxílio na programação:

Add-ons do Firefox: PHP Developer Toolbar (http://migre.me/1nivi) PHP manual (http://migre.me/1nivz) WordPress Helper (http://migre.me/1nivC)

IDE e debug do PHP onLine: Ideo.com (http://migre.me/1nivJ) Teste de expressões regulares: http://migre.me/1nivR e http://migre.me/1nivU e

http://migre.me/1niw2 Validador geral: Validador do W3C: http://validator.w3.org/

Verificação contra SQL Injection e vulnerabilidades no PHP+MySQL: Pixy (http://migre.me/1niwj) SQLPowerInjector: (http://migre.me/1niwl) SQLMap (http://migre.me/1niwp) OWASP SQLiX Project (http://migre.me/1niwt) Pangolin (http://migre.me/1niwy) MySQLoit (http://migre.me/1niwJ)

Page 12: Testes de desempenho do WordPress através do uso de ferramentas de software livre

12

Testes de banco de dados (1)

Modelo de dados do WordPress em 2D

Page 13: Testes de desempenho do WordPress através do uso de ferramentas de software livre

13

Testes de banco de dados (2)

ou em 3D

Diva (http://migre.me/1niwS) e iFree3d (http://migre.me/1niwW)

Page 14: Testes de desempenho do WordPress através do uso de ferramentas de software livre

14

Testes de banco de dados (3) Meu artigo sobre modelo de dados do WordPress e assuntos relacionados: http://migre.me/1nixm

Ferramentas para testes e preenchimento do banco de dados do WP: MySQL Test Framework (http://migre.me/1nixv)

Apache JMeter (http://migre.me/1nixF)

Alguns dados de testes para o DB do WordPress (http://migre.me/1nixK)

Geração de massa de teste: DBMonster (http://migre.me/1nixX)

Web Site GenerateData.com (http://migre.me/1niy8)

Geração de logs do apache: GenLog (http://migre.me/1niyf)

Teste de stress simples: mysql-stress-test (http://migre.me/1niyE)

Distributed load testing tool: Tsung (http://migre.me/1niyr)

Projeto LTP (Linux Test Projetct) + Suíte para testes em banco de dados: http://migre.me/1niyN

Page 15: Testes de desempenho do WordPress através do uso de ferramentas de software livre

15

Testes de carga (1) Muitas ferramentas para realizar o teste de carga. Muitas mesmo! Basicamente enviam requisições para o servidor+opções É preciso monitor o desempenho (mais ferramentas...)

Artigo bom sobre testes de carga com o WP: http://migre.me/1nkgc

Ferramentas prontas: AB - Apache http server benchmarking tool. (http://migre.me/1nkgD é uma ferramenta de

linha de comando. Exemplo: “ab -n 100 -c 5 http://www.exemplo.com” JMeter (http://migre.me/1nkgM) Testes simples com o Raw Load Tester (http://migre.me/1nkgV) Visualização com monitoração+webservice: IxoraRMS (http://migre.me/1nkhd Teste de stress em níveis de profundidade JCrawler (http://migre.me/1nkhu) Microsoft WCAT (Web Capacity Analysis Tool): http://migre.me/1nkhF Ferramenta nativa do WP: XDebug + mysqlnd (http://migre.me/1nkhO) Plug in do Wordpress para testes (requer XDebug): http://migre.me/1nkhU

Page 16: Testes de desempenho do WordPress através do uso de ferramentas de software livre

16

Testes de carga (2)

Plataformas de testes:

Plataforma para testes distribuídos Opensta (http://migre.me/1nki6)

Automação de testes+linguagem programação Watir (http://migre.me/1nkic)

Gera classes de testes com requisição http Fast Web Performance Test Tool (http://migre.me/1nkit)

Configuração baseada em texto e protocolo HTTP: Apache Flood (http://migre.me/1nkiH)

Plataforma em Java Grinder (http://migre.me/1nkiT)

Page 17: Testes de desempenho do WordPress através do uso de ferramentas de software livre

17

Conclusões e recomendações Planeje o que você vai testar Testes não resolvem problemas: no máximo

comprovam a solução efetuada Monitoria ajuda muito a controlar ambiente e evitar

testes específicos Escolha as ferramentas mais adequadas para o teste Ferramentas simples de linha de comando até

plataformas e frameworks para testes distribuídos Testar não é luxo e precisa ser realizado para evitar

situações desagradáveis (principalmente com o cliente…)