Palestra de apresentação do framework Rest-Assured para automação de testes em API Rest, foram utilizados Maven e Unit para estruturação do projeto e testes.
Esta palestra e hands-on foram apresentados no evento #Testadores2015 em São Paulo.
1) Tópicos que serão abordados:
- O que é REST?
- Como testar manualmente?
- Validando respostas (Esquema, Corpo e Cabeçalho)
- Sobre o Rest-Assured
- Componentes auxiliares
- Hands-On
2) O Hands-On demonstrará, na prática:
- Como montar o ambiente para utilização da ferramenta
- Como criar um novo projeto
- Criando um novo teste
- Executando os testes
- Analisando os relatórios
Assista o Hands-on aqui:
http://bit.ly/1QMZ3od
1) Tópicos que serão abordados:
- O que é REST?
- Como testar manualmente?
- Validando respostas (Esquema, Corpo e Cabeçalho)
- Sobre o Rest-Assured
- Componentes auxiliares
- Hands-On
2) O Hands-On demonstrará, na prática:
- Como montar o ambiente para utilização da ferramenta
- Como criar um novo projeto
- Criando um novo teste
- Executando os testes
- Analisando os relatórios
Assista o Hands-on aqui:
http://bit.ly/1QMZ3od
Palestra ministrada no TestTalk Curitiba em setembro de 2015. O objetivo foi apresentar aos participantes conceitos de DevOps e como os testadores podem ser beneficiado e como eles podem influenciar.
[GaragemTalks2019] Cultura de Testes e Qualidade de SoftwareJúlio de Lima
Palestra ministrada no GaragemTalks, na Cielo em 26 de abril de 2019.
O objetivo foi de demonstrar como uma cultura de qualidade pode influenciar a entrega de produtos de qualidade. Também, de mostrar como técnicas de teste podem ser aplicadas em áreas não necessáriamente ligadas a desenvolvimento de software.
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e WebdriverJúlio de Lima
Slides da palestra que seria ministrada no 38º GURU SP, evento promovido pelo grupo de usuários Ruby de São Paulo no dia 07 de novembro de 2015.
Nesta palestra, apresento os frameworks Cucumber e WebDriver, usados para automação de testes em aplicações web usando BDD.
Medindo a performance de aplicações web com JMeterJúlio de Lima
Palestra ministrada por mim na XI EngTec no UniSalesiano Araçatuba (São Paulo) no dia 08 de outubro de 2014 via Qualister.
A intenção foi apresentar aos alunos conceitos em testes de performance e um hands-on apresentando a ferramenta JMeter.
Miséria Driven Development é um processo de desenvolvimento de software que depende completamente do gasto de muito pouco ou nenhum dinheiro na construção de um produto de software. (Farah, 2013). Netto Farah e Pedro Nascimento, que recebem o crédito por terem desenvolvido e "redescoberto" tal técnica, afirmaram em 2013 que MDD encoraja designs baratos e economiza dinheiro para a nossa cerveja. . (Nascimento, 2013). Junte-se a nós nesta missão de experimentar o próximo add-on freemium do Heroku e hackear várias soluções grátis (gambiarra) pra construir um ecossistema barato provados no nosso produto, o Carona Fácil, extremamente alinhados com a filosofia lean.
Palestra ministrada no TestTalk Curitiba em setembro de 2015. O objetivo foi apresentar aos participantes conceitos de DevOps e como os testadores podem ser beneficiado e como eles podem influenciar.
[GaragemTalks2019] Cultura de Testes e Qualidade de SoftwareJúlio de Lima
Palestra ministrada no GaragemTalks, na Cielo em 26 de abril de 2019.
O objetivo foi de demonstrar como uma cultura de qualidade pode influenciar a entrega de produtos de qualidade. Também, de mostrar como técnicas de teste podem ser aplicadas em áreas não necessáriamente ligadas a desenvolvimento de software.
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e WebdriverJúlio de Lima
Slides da palestra que seria ministrada no 38º GURU SP, evento promovido pelo grupo de usuários Ruby de São Paulo no dia 07 de novembro de 2015.
Nesta palestra, apresento os frameworks Cucumber e WebDriver, usados para automação de testes em aplicações web usando BDD.
Medindo a performance de aplicações web com JMeterJúlio de Lima
Palestra ministrada por mim na XI EngTec no UniSalesiano Araçatuba (São Paulo) no dia 08 de outubro de 2014 via Qualister.
A intenção foi apresentar aos alunos conceitos em testes de performance e um hands-on apresentando a ferramenta JMeter.
Miséria Driven Development é um processo de desenvolvimento de software que depende completamente do gasto de muito pouco ou nenhum dinheiro na construção de um produto de software. (Farah, 2013). Netto Farah e Pedro Nascimento, que recebem o crédito por terem desenvolvido e "redescoberto" tal técnica, afirmaram em 2013 que MDD encoraja designs baratos e economiza dinheiro para a nossa cerveja. . (Nascimento, 2013). Junte-se a nós nesta missão de experimentar o próximo add-on freemium do Heroku e hackear várias soluções grátis (gambiarra) pra construir um ecossistema barato provados no nosso produto, o Carona Fácil, extremamente alinhados com a filosofia lean.
O protocolo HTTP está há mais de 10 anos nos bastidores de quase todas as aplicações web, incluindo a explosão de uso do AJAX e a nova onda de APIs em REST. Está diretamente relacionado com a performance, ecalabilidade e SEO.
Saber como ele funciona e como o PHP interage com ele é conhecimento obrigatório para qualquer programador web.
10+ Deploys Per Day: Dev and Ops Cooperation at FlickrJohn Allspaw
Communications and cooperation between development and operations isn't optional, it's mandatory. Flickr takes the idea of "release early, release often" to an extreme - on a normal day there are 10 full deployments of the site to our servers. This session discusses why this rate of change works so well, and the culture and technology needed to make it possible.
Iterasys Test Show 2010 - Carreira e Certificação em Teste e QAJosé Correia
Apresentação realizada em São Paulo, Brasília e Belo Horizonte durante o Iterasys Test Show 2010. Trata da evolução da carreira em Teste e QA, a importancia da certificação e da capacitação dos profissionais.
Certificações em Teste e Qualidade de SoftwareCamilo Ribeiro
O mercado de engenharia de software está cada vez mais atraente e competitivo. Ao mesmo tempo que os jornais, revistas, pesquisas especializadas no mercado de trabalho mostram o forte crescimento no números de vagas de TI, mostra também um grande défict de profissionais especializados, no Brasil e no mundo. As certificações vêm se mostrando uma ótima oportunidade para o profissional se destacar no mercado, pois garantem que ele está investindo na sua carreira, que domina determinadas habilidades e está habilitado a trabalhar com conceitos e padrões internacionais. Conheça um pouco sobre as mais de trinta certificações que rodeiam a área de teste e qualidade de software e saiba qual é a ideal para a sua carreira.
Testes em WebServices: Conceitos e FerramentasJúlio de Lima
Palestra apresentada no TestTalk Floripa em 14 de agosto de 2014.
Evento organizado pela Qualister em parceria com i3 e Codeway.
São apresentados alguns conceitos e fundamentos relacionados a Testes em WebServices, além da apresentação de ferramentas utilizadas para este fim e um hands-on usando a ferramenta SoapUI, da SmartBear.
Palestra Teste de Software: princípios, ferramentas e carreiraTaís Dall'Oca
A palestra inicialmente abordará os princípios do Teste de Software como o que é teste de software, níveis de teste, tipos de teste, como testar um software, gestão de testes, gestão de defeitos, certificações entre outros. Durante a palestra serão mostradas as principais ferramentas que auxiliam os testadores e qual a funcionalidade de cada uma. E por fim será discutido sobre a carreira e os papéis em relação ao mercado atual.
Palestra ministrada na Faculdade Estácio de Alagoas, organizada pela própria instituição em conjunto com a APL Maceió e o SEBRAE Alagoas, ocorrida em Maceió, em 12 de novembro de 2013.
Faculdade Pitagoras 2014: Palestra sobre Fundamentos e Carreira em Teste de S...Júlio de Lima
Palestra ministrada na Faculdade Pitagoras de Divinópolis, Minas Gerais no dia 10/09/2014.
O objetivo foi mostrar, resumidamente o que é teste de software e quais são as oportunidades para aqueles que desejam adentrar a área.
[ATC2021] Distribuição de Testes em Diferentes CamadasJúlio de Lima
Pensar que testes se aplicam apenas a Front e Back-end é um pensamento limitante e que torna os testes mais demorados e pouco otimizados. Nessa talk, eu apresento o caminho da identificação quanto ao que testar e também apresento uma forma de distribuição dos testes nessas diferentes camadas.
A brand new Test Heuristic created by Júlio de Lima.
Modern web applications are built using components made by hand and this causes a series of failures to arise.
With this in mind, the ALTER FACE heuristic proposes tests that reveal flaws related to the way in which Web applications are built based on their components. In the next slides, we will see in detail what constitutes this brand new heuristic.
Reach me out for doubts or feedbacks:
iam@juliodelima.com.br
[ScrumDay2020] A evolução da responsabilidade em testesJúlio de Lima
A evolução da maturidade no uso de metodologias ágeis tem trazido muitas mudanças positivas aos times. Quando se fala em testes, isso não deve ser diferente. A pessoa ou time responsável por testar ainda continua tendo a obrigação de conhecer muito sobre esta atividade, como vemos no Slide 3. Em cada uma dessas três versões e meia, você encontrará características que fazem toda a diferença no dia a dia do time que desenvolve e entrega um incremento utilizável ao final da sprint. Para que isso funcione é necessário maturidade, do time e da gestão, mas o não uso traz frustrações, como vemos na versão 1.5.
Reducing the scope of load test analysis (STAREast 2020)Júlio de Lima
Load testing execution produces a huge amount of data. Investigation and analysis are time-consuming, and numbers tend to hide important information about issues and trends. using machine learning is a good way to solve data issues by giving meaningful insights about what happened during test execution. Julio Cesar de Lima Costa will show you how to use K-means clustering, a machine learning algorithm, to reduce almost 300,000 records to fewer than 1,000 and still get good insights into load testing results. He will explain K-means clustering, detail what use cases and applications this method can be used in, and give the steps to help you reproduce a K-means clustering experiment in your own projects. You'll learn how to use this machine learning algorithm to reduce the scope of your load testing and getting meaningful analysis from your data faster.
[TDC2019] Inteligência Artificial e Testes in a NutshellJúlio de Lima
Ouvimos muito falar sobre Inteligência Artificial e o quanto ela tem ajudado a solucionar problemas coorporativos, pessoais e até mesmo ambientais. Mas você já viu a aplicação dela na disciplina de testes de software? Criação de testes automaticamente, rastreamento de causa raiz de falhas e aumento da cobertura de testes automatizados são algumas das aplicações já identificadas. Juste-se a nós nessa palestra e conheça o que há disponível no mercado e academia, além de assistir ao uso de algoritmos que já solucionam vários desses problemas.
[MoT SP #1] PRISMA para Testes Baseados em RiscoJúlio de Lima
Palestra ministrada no Ministry of Testing São Paulo, primeira edição.
Fala, principalmente, sobre como usar riscos para digiris seus testes, sejam eles executados a partir de casos de teste ou de testes exploratórios.
Abordagens mencionadas na apresentação:
- Heurísticas (http://testobsessed.com/wp-content/uploads/2011/04/testheuristicscheatsheetv1.pdf)
- Session-Based Test Management (http://www.satisfice.com/sbtm/)
- PRISMA (https://www.bcs.org/upload/pdf/prisma-veenendaal.pdf)
[7Masters Aug, 2018] Escolhas durante automação de testes de APIJúlio de Lima
Palestra ministrada em junho de 2018 no iMasters 7Masters.
O 7Masters é uma reunião dos 7 mestres de uma determinada tecnologia para apresentações curtas de suas inovações.
Gravação:
https://setemasters.imasters.com.br/edicoes/automacao-de-testes/
Uma análise sobre como é a mentalidade de um QA nos contextos Tradicional, Ágil e Pós-Ágil. Como ocorre a transição entre os contextos e algumas recomendações.
Palestra ministrada no evento QAXperience Moip, no dia 30 de novembro de 2017.
http://qaxperience.com/moip/
[PHPConference 2016] Criando Mocks com ProphecyJúlio de Lima
Palestra ministrada em 10 de dezembro de 2016 no PHPConference Brasil, o maior evento de PHP da américa latina.
Neste dia, falei e fiz um Live Coding demonstrando conceitos e práticas na criação de Mocks.
Repositório abaixo:
https://github.com/juliodelimas/criando-mocks-prophecy
[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)Júlio de Lima
Palestra ministrada na Trilha de Testes do TDC2016 em 09 de julho de 2016. Nela mostro, na prática, como automatizar testes de unidade, API e Web com frameworks open-source em Ruby.
[UNIP2015] Testando a Performance de Aplicações Web com JMeterJúlio de Lima
Palestra ministrada na UNIP campus Araçatuba no dia 05 de outubro de 2015. Nesta palestra, falo sobre alguns conceitos e fundamentos em testes com foco em avaliação de performance de aplicações web.
[TICNOVA2015] Palestra sobre Automação de TestesJúlio de Lima
Nesta palestra faço uma breve instrodução a automação de teste e os níveis no qual ela pode ser aplicada dentro do ciclo de desenvolvimento e testes de software.
Ao fim, foi feito um hands on demonstrando como automatizar um teste em aplicação Desktop usando TestComplete, assista aqui:
https://www.youtube.com/watch?v=Sey_XY9Yz3c
Introdução à Automação de Testes Funcionais (IPASGO, Goiânia)Júlio de Lima
Palestra ministrada à equipe da gerência de planejamento de tecnologia da informação do IPASGO, Goiânia.
Nela, apresento alguns conceitos em automação de testes funcionais, a diferença entre tipos de teste, abordagens e paradigmas relacionados a esta atividade.
Um vídeo-tutorial passo-a-passo mostrando como gravar testes no TestComplete, este será postado em breve no canal da Qualister no Youtube:
youtube.com/user/qualistervideos
Palestra ministrada na Lifesys Sistemas, em Divinópolis (MG) no dia 11 de setembro de 2014.
O objetivo da palestra foi demonstrar como desenvolvedores, analistas de sistema e testadores podem compartilhar conhecimentos e trabalhar em conjunto com o objetivo de entregar um produto de maior qualidade aos clientes.
Alguns exemplos utilizados se basearam em conceitos de metodologias de testes ágeis.
Testes de Performance na Nuvem | TDC2014Júlio de Lima
Nesta palestra serão apresentados alguns serviços na nuvem utilizados para testar o desempenho de aplicações web, uma forma mais barata de simular milhares de usuários virtuais usando a nuvem ao invés de criar ambientes complexos dentro do laboratório de testes de sua companhia.
2. Palestrante
Júlio de Lima
Especialista em teste de software com ênfase em
automação de testes de software, possui formação em
Tecnologia da Informação e certificações internacionais
(CTFL e CTAL-TM pelo ISTQB) e nacional (CBTS pela ALATS)
julio.lima@qualister.com.br
twitter.com/juliodelimas
br.linkedin.com/in/juliodelimas
3. Sobre a Qualister
• Fundada em 2007
• Mais de 1.000 clientes em todo o Brasil
• Mais de 50 cursos sobre teste de software
• Mais de 3.000 alunos formados
• Áreas de atuação:
• Consultoria na área de teste qualidade de
software
• Cursos
• Revenda de ferramentas
5. O que é REST?
• É um estilo de arquitetura utilizado para
criação de APIs;
• Trabalha, geralmente, sobre o protocolo
HTTP/HTTPS usando verbos POST, GET, PUT,
DELETE, OPTIONS, PATCH e HEAD;
• Utiliza respostas no formato JSON ou XML.
[@fonte=http://rest.elkstein.org]
7. Como testar manualmente?
Utilizando cURL, um recurso disponível em
sistemas operacionais Unix através de linha de
comando, podemos fazer uma requisição
através do comando:
curl -i -X GET “http://localhost:
8888/qualister-api/?nome=Julio"
--user qualister:qualister
[@fonte=http://curl.haxx.se/docs/httpscripting.html]
8. Como testar manualmente?
Então receberemos a seguinte resposta:
HTTP/1.1 200 OK
Date: Sun, 10 May 2015 02:03:04 GMT
Server: Apache/2.2.29 (Unix) mod_fastcgi/2.4.6 mod_wsgi/3.4 Python/2.7.8
PHP/5.6.2 mod_ssl/2.2.29 OpenSSL/0.9.8zd DAV/2 mod_perl/2.0.8 Perl/
v5.20.0
X-Powered-By: PHP/5.6.2
Content-Length: 280
Content-Type: application/json
{
"status":"success",
“mensagem”:”Julio, seja bem-vindo a API da Qualister",
“dados”:
{
"atuacao":["Treinamentos","Consultoria","Revenda de ferramentas"],
"consultores":
{
"quantidade":5,
"nomes":["Cristiano Caetano","Elias Nogueira","Julio de
Lima","Marcio Cunha","Roberto Ungarelli"]
}
}
}
10. Validando resposta: Esquema
HTTP/1.1 200 OK
Date: Sun, 10 May 2015 02:03:04 GMT
Server: Apache/2.2.29 (Unix) mod_fastcgi/2.4.6 mod_wsgi/3.4 Python/2.7.8
PHP/5.6.2 mod_ssl/2.2.29 OpenSSL/0.9.8zd DAV/2 mod_perl/2.0.8 Perl/
v5.20.0
X-Powered-By: PHP/5.6.2
Content-Length: 280
Content-Type: application/json
{
"status":"success",
"mensagem”:”Seja bem-vindo a API da Qualister",
“dados”:
{
"atuacao":["Treinamentos","Consultoria","Revenda de ferramentas"],
"consultores":
{
"quantidade":5,
"nomes":["Cristiano Caetano","Elias Nogueira","Julio de
Lima","Marcio Cunha","Roberto Ungarelli"]
}
}
}
A resposta terá a propriedade “status" e
o valor será do tipo string
Essa propriedade
deverá ser um Array!
A resposta terá a propriedade
“dados.atuacao” e não deverá ter itens
duplicados
11. Validando resposta: Corpo
HTTP/1.1 200 OK
Date: Sun, 10 May 2015 02:03:04 GMT
Server: Apache/2.2.29 (Unix) mod_fastcgi/2.4.6 mod_wsgi/3.4 Python/2.7.8
PHP/5.6.2 mod_ssl/2.2.29 OpenSSL/0.9.8zd DAV/2 mod_perl/2.0.8 Perl/
v5.20.0
X-Powered-By: PHP/5.6.2
Content-Length: 280
Content-Type: application/json
{
"status":"success",
"mensagem”:”Seja bem-vindo a API da Qualister",
“dados”:
{
"atuacao":["Treinamentos","Consultoria","Revenda de ferramentas"],
"consultores":
{
"quantidade":5,
"nomes":["Cristiano Caetano","Elias Nogueira","Julio de
Lima","Marcio Cunha","Roberto Ungarelli"]
}
}
}
“status" deverá ser igual a
"success"
“dados.consultores.quantidade”
deverá ser igual a 5
“dados.atuacao” deverá ter um
item "Consultoria"
12. Validando resposta: Cabeçalho
HTTP/1.1 200 OK
Date: Sun, 10 May 2015 02:03:04 GMT
Server: Apache/2.2.29 (Unix) mod_fastcgi/2.4.6 mod_wsgi/3.4 Python/2.7.8
PHP/5.6.2 mod_ssl/2.2.29 OpenSSL/0.9.8zd DAV/2 mod_perl/2.0.8 Perl/
v5.20.0
X-Powered-By: PHP/5.6.2
Content-Length: 280
Content-Type: application/json
{
"status":"success",
"mensagem”:”Seja bem-vindo a API da Qualister",
“dados”:
{
"atuacao":["Treinamentos","Consultoria","Revenda de ferramentas"],
"consultores":
{
"quantidade":5,
"nomes":["Cristiano Caetano","Elias Nogueira","Julio de
Lima","Marcio Cunha","Roberto Ungarelli"]
}
}
}
“Status Code" deverá ser igual a 200
13.
14. Rest-Assured
• É uma biblioteca escrita em Java criada para simplificar
testes de serviços baseados em REST;
• Ele é compatível com os principais verbos, podendo
simular requisições: POST, GET, PUT, DELETE, OPTIONS,
PATCH e HEAD;
• Possui mecanismos para validação do esquema, corpo e
cabeçalho das requisições;
• Utiliza a sintaxe de especificação por exemplos, o Given-
When-Then, muito conhecida em testes dirigidos por
comportamento (BDD).
[@fonte=https://code.google.com/p/rest-assured/wiki/Usage]
15. Rest-Assured
Exemplo de teste:
given()
.param(“nome", "Julio")
.when()
.get(“/")
.then()
.statusCode(200).
.body(“mensagem", containsString("Julio"));
Enviar o valor “Julio" pelo parâmetro
"nome"
Requisitar o path “/“ usando verbo GET
Validar que o Status Code
é 200 (Sucesso)
Validar que a propriedade
“mensagem" contem a string
"Julio"
17. Componentes auxiliares
• Utilizaremos o Maven para tornar mais simples a
estruturação do projeto, dependências e execução dos
testes.
[@fonte=https://maven.apache.org]
• O JUnit é um framework open-source utilizado para
facilitar a criação dos testes automatizados.
[@fonte=http://junit.org]