Este documento apresenta como preparar o ambiente e escrever scripts de teste automatizados de unidade, API e GUI (Web) usando frameworks open-source em Ruby. O documento explica como instalar as ferramentas necessárias, como RSpec, Rest-Client e WebDriver, e fornece exemplos passo a passo de como automatizar testes de unidade, API e interface gráfica.
This document provides an overview of ASP.NET Core, including:
1. ASP.NET Core is a cross-platform framework for building modern cloud-based web applications using .NET that can run on Windows, Linux, and Mac OS.
2. It is designed to be modular and include only necessary packages, making it faster and lighter weight than previous ASP.NET frameworks. It also supports dependency injection and inversion of control out of the box.
3. The project structure for an ASP.NET Core application includes folders for wwwroot (for static files), Properties (for settings), and Dependencies (for NuGet and client-side packages). Configuration is done through the Program.cs and Startup
O documento introduz os principais conceitos de HTML5, incluindo: (1) suas novas tags semânticas como <section>, <nav> e <article>; (2) seus novos recursos como vídeo, áudio e armazenamento local; e (3) como substitui o XHTML ao oferecer maior flexibilidade e retrocompatibilidade.
Automação de Teste para REST, Web e MobileElias Nogueira
O documento apresenta uma introdução à automação de testes para APIs REST, interfaces web e aplicativos móveis, discutindo ferramentas como REST Assured, Selenium WebDriver e Appium.
The document discusses web development and provides an overview of key topics including HTML, CSS, JavaScript, and sample projects. It introduces HTML tags and elements, CSS syntax and types, JavaScript syntax, and provides code examples of simple HTML, CSS, and JavaScript documents. It also outlines three projects: a portfolio site using HTML and CSS, a static website using HTML and CSS, and a dynamic website using HTML, CSS, and JavaScript.
This session aims to shed some light on an emerging test automation tool, Cypress. Cypress resolves many of the test automation problems that a QA or a dev may face in UI Web Automation testing. And after a walkthrough, we will compare cypress with Selenium as well.
Contact us:
Website: https://www.knoldus.com/
Twitter: https://twitter.com/Knolspeak?ref_src...
Facbook: https://www.facebook.com/KnoldusSoftw...
Linkedin: https://in.linkedin.com/company/knoldus
Instagram: https://www.instagram.com/knoldus_inc...
This document provides an overview of ASP.NET Core, including:
1. ASP.NET Core is a cross-platform framework for building modern cloud-based web applications using .NET that can run on Windows, Linux, and Mac OS.
2. It is designed to be modular and include only necessary packages, making it faster and lighter weight than previous ASP.NET frameworks. It also supports dependency injection and inversion of control out of the box.
3. The project structure for an ASP.NET Core application includes folders for wwwroot (for static files), Properties (for settings), and Dependencies (for NuGet and client-side packages). Configuration is done through the Program.cs and Startup
O documento introduz os principais conceitos de HTML5, incluindo: (1) suas novas tags semânticas como <section>, <nav> e <article>; (2) seus novos recursos como vídeo, áudio e armazenamento local; e (3) como substitui o XHTML ao oferecer maior flexibilidade e retrocompatibilidade.
Automação de Teste para REST, Web e MobileElias Nogueira
O documento apresenta uma introdução à automação de testes para APIs REST, interfaces web e aplicativos móveis, discutindo ferramentas como REST Assured, Selenium WebDriver e Appium.
The document discusses web development and provides an overview of key topics including HTML, CSS, JavaScript, and sample projects. It introduces HTML tags and elements, CSS syntax and types, JavaScript syntax, and provides code examples of simple HTML, CSS, and JavaScript documents. It also outlines three projects: a portfolio site using HTML and CSS, a static website using HTML and CSS, and a dynamic website using HTML, CSS, and JavaScript.
This session aims to shed some light on an emerging test automation tool, Cypress. Cypress resolves many of the test automation problems that a QA or a dev may face in UI Web Automation testing. And after a walkthrough, we will compare cypress with Selenium as well.
Contact us:
Website: https://www.knoldus.com/
Twitter: https://twitter.com/Knolspeak?ref_src...
Facbook: https://www.facebook.com/KnoldusSoftw...
Linkedin: https://in.linkedin.com/company/knoldus
Instagram: https://www.instagram.com/knoldus_inc...
O documento discute boas práticas para criar testes automatizados rápidos e robustos com Cypress, como fazer autenticação de forma programática, usar atributos data-* para selecionar elementos e não depender de aplicações externas. Também aborda problemas como testes lentos e instáveis.
Acceptance Test Driven Development (ATDD) uses examples and tests to guide development. Robot Framework is an open source test automation framework that supports the ATDD process and approach. It uses a tabular syntax to define executable tests and keywords in a simple, readable format and has a rich ecosystem of support libraries and tools.
This document summarizes Robot Framework, an open source test automation framework that uses a tabular syntax for creating test cases. It supports keyword-driven, data-driven, and behavior-driven testing approaches. Robot Framework outputs easy-to-read logs and reports in HTML format and supports testing applications independently of platform or language. It also allows creating custom test libraries and has built-in support for Selenium web testing. The document provides examples of test cases and keywords written using Robot Framework's syntax.
Page Object Model and Implementation in Selenium Zoe Gilbert
There are various frameworks that have been used by the IT industry for robust, easy maintenance, and to automate their applications to make them flexible and reusable. Page Object Model is one of the frameworks that have been covered here in this blog step by step clearly to help you understand.
Robot Framework is an open-source automation framework developed by Nokia Networks. It is keyword-driven and data-driven, uses a tabular test format, and supports test libraries that provide keywords to interact with the application under test. Robot Framework has built-in reporting and logging capabilities and supports integration with Jenkins for continuous integration.
This document discusses the evolution of web APIs from SOAP to RESTful architectures. It covers the basics of REST including the Richardson maturity model, use of HTTP verbs and status codes, hypermedia, and content negotiation. Caching techniques are also discussed as a means of improving scalability. The overall summary is that HTTP provides a powerful application protocol for building web APIs and REST architectures allow these APIs to better leverage the inherent scaling capabilities of the web.
This document provides an overview of Selenium, an open source tool for automating web application testing. It discusses key Selenium concepts like Selenese commands, components like actions, assertions, and locators. It also covers the different flavors of Selenium including Selenium IDE for recording tests in Firefox, Selenium RC for executing tests programmatically in various languages, and Selenium Grid for distributed testing. The document aims to help users understand the basics of Selenium and how to get started with test automation.
The document contains an HTML quiz with 20 multiple choice questions testing knowledge of basic HTML tags and syntax. The World Wide Web Consortium (W3C) is identified as the main international standards organization for the World Wide Web, founded and headed by Tim Berners-Lee, with 317 member organizations as of July 2011 working together to develop Web standards. The correct HTML tags identified include <h1> for the largest heading, <br /> for a line break, <b> to make text bold, <i> to make text italic, <a> to create a hyperlink, <ul> to create an unordered list, <ol> to create an ordered list, <input> to create form elements like checkboxes
Pre-shipment inspection report on July 27th,2016河 黄
An inspection was conducted on three orders of hangbags from a factory in Guangzhou, China. Several defects were found, including stuck zippers, open seams, and untrimmed threads. Samples from orders 10878 and 18678 failed the inspection due to defect rates exceeding the allowed quality limits. The factory agreed to rework the defective items from order 10878. Overall, the inspection results for the three orders were rejected.
De a máxima cobertura nos seus testes de APIElias Nogueira
Palestra ministrada no Reginonal Scrum Gathering Rio 2019 no dia 27/06/2019 sobre como dar uma cobertura de testes para uma API além do teste unitário e de integração, com um foco totalmente prático e com execução em pipeline.
Automated testing has been around for several decades, spanning back to the advent of computer programming. While the rest of the software development and underlying technologies have made paradigm advances in speed and scalability, automated tests and their poor execution performance became the bottleneck. Continuous Integration (CI) pipeline execution also suffered as a result of the rise in the number of tests that were executed.
A well thought out test platform is built with intentionally selected tools that provide the optimal balance of speed, performance, and cost effectiveness. In this talk, Senior Software Developer, Anvesh Malhotra will cover the technology stack and architecture used to automate tests at Gannett.
Projects In Laravel : Learn Laravel Building 10 ProjectsSam Dias
Projects In Laravel : Learn Laravel Building 10 Projects
Learn Laravel 5, top PHP framework, including how to install Laravel 5 framework & fundamentals in this Laravel 5 tutorial. This is why you need something to help you learn a technology quickly and easily! Our course does exactly that!
https://www.eduonix.com/courses/Web-Development/projects-in-laravel-learn-laravel-building-10-projects
Cypress has been gaining popularity during last couple of years. This tool aims to redefine a lot of established concepts that were present in end-to-end testing. Starting with Cypress feels like taking on a totally new testing journey. To be honest, it IS a different journey, but an exciting one. In this webinar, Cypress Ambassador Filip Hric, walks you through the first steps of how to start working with Cypress. Take away a solid understanding of what this tool can and cannot do for you.
This document introduces Cypress, an open-source test runner for front-end applications. It is described as fast, easy to use, and reliable for testing anything that runs in a browser. Key benefits highlighted include being fast, open source, working on any front-end framework, being friendly for developers and QA engineers using JavaScript, and having features like time travel and real-time reloading. The document also provides instructions on installing Cypress and running tests using its GUI runner or headless mode.
Setting up Page Object Model in Automation Frameworkvaluebound
Using #pageobjectmodel in #automationframework we can make non-brittle test code and reduce or eliminate duplicate test code. In this presentation, Jyoti Prakash of Valuebound has talked about all of the essential concepts and knowledge you need to get started.
----------------------------------------------------------
Get Socialistic
Our website: http://valuebound.com/
LinkedIn: http://bit.ly/2eKgdux
Facebook: https://www.facebook.com/valuebound/
Twitter: http://bit.ly/2gFPTi8
Este documento fornece um guia rápido de referência para as principais tags HTML 5, listando cada tag, sua função, a versão do HTML em que foi introduzida e seus atributos comuns. Ele resume as tags mais usadas como <a>, <img>, <p> assim como tags menos comuns como <menu>, <keygen> e <map>.
When we talk about networking, we often focus on connecting with people outside our organizations. But networking with colleagues is just as crucial. Well-networked people bridge the organizational silos that plague all organizations, and make their firms more collaborative and effective. But networking for the sake of networking? Adding as many contacts as humanly possible? That’s a time-sink and a distraction. In this slideshow, we’ll review the rules of being an effective organizational networker, a lynchpin of productivity
ISO 17025 is an international standard for testing and calibration laboratories seeking accreditation. It has requirements for management, technical operations, and quality assurance. Accreditation increases confidence in test results, enhances customer satisfaction, and improves laboratory effectiveness through regular inspections. While accreditation requires costs for implementation and maintenance, it also provides benefits like reduced re-testing and an improved reputation. The standard has been adopted by accreditation bodies in several countries including Australia, New Zealand, and India.
O documento descreve como testar uma API REST chamada Mollom API utilizando Maven e Cucumber. Ele explica como encapsular as chamadas para a API usando um conceito similar ao Page Object e como implementar os testes em Cucumber com exemplos de cenários e passos.
[TDC2015] De unitário a aceitação: Automação de testes com CodeceptionQualister
O documento descreve uma palestra sobre automação de testes com o framework Codeception. A palestra aborda conceitos de testes de unidade, integração e aceitação e como automatizá-los com Codeception, PHPUnit, Guzzle e outros frameworks. Também apresenta exemplos práticos de como escrever testes de unidade, integração e aceitação com Codeception.
O documento discute boas práticas para criar testes automatizados rápidos e robustos com Cypress, como fazer autenticação de forma programática, usar atributos data-* para selecionar elementos e não depender de aplicações externas. Também aborda problemas como testes lentos e instáveis.
Acceptance Test Driven Development (ATDD) uses examples and tests to guide development. Robot Framework is an open source test automation framework that supports the ATDD process and approach. It uses a tabular syntax to define executable tests and keywords in a simple, readable format and has a rich ecosystem of support libraries and tools.
This document summarizes Robot Framework, an open source test automation framework that uses a tabular syntax for creating test cases. It supports keyword-driven, data-driven, and behavior-driven testing approaches. Robot Framework outputs easy-to-read logs and reports in HTML format and supports testing applications independently of platform or language. It also allows creating custom test libraries and has built-in support for Selenium web testing. The document provides examples of test cases and keywords written using Robot Framework's syntax.
Page Object Model and Implementation in Selenium Zoe Gilbert
There are various frameworks that have been used by the IT industry for robust, easy maintenance, and to automate their applications to make them flexible and reusable. Page Object Model is one of the frameworks that have been covered here in this blog step by step clearly to help you understand.
Robot Framework is an open-source automation framework developed by Nokia Networks. It is keyword-driven and data-driven, uses a tabular test format, and supports test libraries that provide keywords to interact with the application under test. Robot Framework has built-in reporting and logging capabilities and supports integration with Jenkins for continuous integration.
This document discusses the evolution of web APIs from SOAP to RESTful architectures. It covers the basics of REST including the Richardson maturity model, use of HTTP verbs and status codes, hypermedia, and content negotiation. Caching techniques are also discussed as a means of improving scalability. The overall summary is that HTTP provides a powerful application protocol for building web APIs and REST architectures allow these APIs to better leverage the inherent scaling capabilities of the web.
This document provides an overview of Selenium, an open source tool for automating web application testing. It discusses key Selenium concepts like Selenese commands, components like actions, assertions, and locators. It also covers the different flavors of Selenium including Selenium IDE for recording tests in Firefox, Selenium RC for executing tests programmatically in various languages, and Selenium Grid for distributed testing. The document aims to help users understand the basics of Selenium and how to get started with test automation.
The document contains an HTML quiz with 20 multiple choice questions testing knowledge of basic HTML tags and syntax. The World Wide Web Consortium (W3C) is identified as the main international standards organization for the World Wide Web, founded and headed by Tim Berners-Lee, with 317 member organizations as of July 2011 working together to develop Web standards. The correct HTML tags identified include <h1> for the largest heading, <br /> for a line break, <b> to make text bold, <i> to make text italic, <a> to create a hyperlink, <ul> to create an unordered list, <ol> to create an ordered list, <input> to create form elements like checkboxes
Pre-shipment inspection report on July 27th,2016河 黄
An inspection was conducted on three orders of hangbags from a factory in Guangzhou, China. Several defects were found, including stuck zippers, open seams, and untrimmed threads. Samples from orders 10878 and 18678 failed the inspection due to defect rates exceeding the allowed quality limits. The factory agreed to rework the defective items from order 10878. Overall, the inspection results for the three orders were rejected.
De a máxima cobertura nos seus testes de APIElias Nogueira
Palestra ministrada no Reginonal Scrum Gathering Rio 2019 no dia 27/06/2019 sobre como dar uma cobertura de testes para uma API além do teste unitário e de integração, com um foco totalmente prático e com execução em pipeline.
Automated testing has been around for several decades, spanning back to the advent of computer programming. While the rest of the software development and underlying technologies have made paradigm advances in speed and scalability, automated tests and their poor execution performance became the bottleneck. Continuous Integration (CI) pipeline execution also suffered as a result of the rise in the number of tests that were executed.
A well thought out test platform is built with intentionally selected tools that provide the optimal balance of speed, performance, and cost effectiveness. In this talk, Senior Software Developer, Anvesh Malhotra will cover the technology stack and architecture used to automate tests at Gannett.
Projects In Laravel : Learn Laravel Building 10 ProjectsSam Dias
Projects In Laravel : Learn Laravel Building 10 Projects
Learn Laravel 5, top PHP framework, including how to install Laravel 5 framework & fundamentals in this Laravel 5 tutorial. This is why you need something to help you learn a technology quickly and easily! Our course does exactly that!
https://www.eduonix.com/courses/Web-Development/projects-in-laravel-learn-laravel-building-10-projects
Cypress has been gaining popularity during last couple of years. This tool aims to redefine a lot of established concepts that were present in end-to-end testing. Starting with Cypress feels like taking on a totally new testing journey. To be honest, it IS a different journey, but an exciting one. In this webinar, Cypress Ambassador Filip Hric, walks you through the first steps of how to start working with Cypress. Take away a solid understanding of what this tool can and cannot do for you.
This document introduces Cypress, an open-source test runner for front-end applications. It is described as fast, easy to use, and reliable for testing anything that runs in a browser. Key benefits highlighted include being fast, open source, working on any front-end framework, being friendly for developers and QA engineers using JavaScript, and having features like time travel and real-time reloading. The document also provides instructions on installing Cypress and running tests using its GUI runner or headless mode.
Setting up Page Object Model in Automation Frameworkvaluebound
Using #pageobjectmodel in #automationframework we can make non-brittle test code and reduce or eliminate duplicate test code. In this presentation, Jyoti Prakash of Valuebound has talked about all of the essential concepts and knowledge you need to get started.
----------------------------------------------------------
Get Socialistic
Our website: http://valuebound.com/
LinkedIn: http://bit.ly/2eKgdux
Facebook: https://www.facebook.com/valuebound/
Twitter: http://bit.ly/2gFPTi8
Este documento fornece um guia rápido de referência para as principais tags HTML 5, listando cada tag, sua função, a versão do HTML em que foi introduzida e seus atributos comuns. Ele resume as tags mais usadas como <a>, <img>, <p> assim como tags menos comuns como <menu>, <keygen> e <map>.
When we talk about networking, we often focus on connecting with people outside our organizations. But networking with colleagues is just as crucial. Well-networked people bridge the organizational silos that plague all organizations, and make their firms more collaborative and effective. But networking for the sake of networking? Adding as many contacts as humanly possible? That’s a time-sink and a distraction. In this slideshow, we’ll review the rules of being an effective organizational networker, a lynchpin of productivity
ISO 17025 is an international standard for testing and calibration laboratories seeking accreditation. It has requirements for management, technical operations, and quality assurance. Accreditation increases confidence in test results, enhances customer satisfaction, and improves laboratory effectiveness through regular inspections. While accreditation requires costs for implementation and maintenance, it also provides benefits like reduced re-testing and an improved reputation. The standard has been adopted by accreditation bodies in several countries including Australia, New Zealand, and India.
O documento descreve como testar uma API REST chamada Mollom API utilizando Maven e Cucumber. Ele explica como encapsular as chamadas para a API usando um conceito similar ao Page Object e como implementar os testes em Cucumber com exemplos de cenários e passos.
[TDC2015] De unitário a aceitação: Automação de testes com CodeceptionQualister
O documento descreve uma palestra sobre automação de testes com o framework Codeception. A palestra aborda conceitos de testes de unidade, integração e aceitação e como automatizá-los com Codeception, PHPUnit, Guzzle e outros frameworks. Também apresenta exemplos práticos de como escrever testes de unidade, integração e aceitação com Codeception.
O documento discute as novidades da plataforma Java EE 7, incluindo o foco em serviços de computação em nuvem, auto provisionamento e multi-tenancy. A especificação Java EE 7 também trará melhorias em APIs existentes como JPA, JSF e JAX-RS e novas APIs como JSON-P e WebSocket. O lançamento está previsto para o primeiro semestre de 2013.
Este documento descreve um laboratório prático no qual o estudante deve criar e configurar vários recursos na nuvem do Google Cloud, como instâncias, clusters Kubernetes e balanceadores de carga, para atender às necessidades de um projeto fictício. O estudante deve completar as tarefas dentro do tempo limite para obter a pontuação máxima.
Este documento descreve um laboratório prático no qual o estudante deve criar e configurar vários recursos na nuvem do Google Cloud, como instâncias, clusters Kubernetes e balanceadores de carga, para atender às necessidades de um projeto fictício. O estudante deve completar as tarefas dentro do tempo limite para obter a pontuação máxima.
O documento descreve a plataforma .NET da Microsoft. Resumidamente:
(1) A plataforma .NET é uma iniciativa da Microsoft que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações; (2) O código é compilado em MSIL e executado na CLR interagindo com o framework .NET; (3) Os principais tipos de compilados .NET são EXE, DLL, ASPX e ASMX.
Paralelize seus testes web e mobile para ter feedbacks mais rápidosElias Nogueira
O documento discute estratégias para executar testes automatizados de forma paralela em web e mobile. Ele apresenta como usar grids com Selenium e Appium para distribuir testes em vários nós, reduzindo o tempo de execução. A solução proposta utiliza containers Docker para criar grids dinâmicas que escalam automaticamente com base na demanda de testes.
Este documento fornece uma introdução ao Selenium, um framework para automação de testes web. Ele descreve as ferramentas Selenium IDE, Selenium Remote Control e Selenium Grid, além de mostrar como gravar, editar e executar testes funcionais com o Selenium IDE.
Introdução À Automação de Testes com Seleniumrodrigogouveia
Palestra sobre automação de testes funcionais utilizando a ferramenta Selenium, realizada em 12/07/2017 para alunos e professores do Instituto Federal da Paraíba(IFPB)
Tópicos cobertos:
- Importância dos testes no desenvolvimento de software
- Selenium IDE
- Selenium WebDriver
- Padrão de projeto Page Object
- Boas práticas
Introduzindo StimulusJS: o novo Framework JavaScript para Ruby On Rails.Sergio Lima
O documento introduz o framework JavaScript StimulusJS e discute como ele pode ser usado com Ruby on Rails. O palestrante descreve sua experiência usando StimulusJS em artigos e projetos, explica o que é StimulusJS e seus benefícios, como funciona usando o padrão Controller-Target-Action, e demonstra sua implementação em um projeto Rails.
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
O documento resume as estratégias e ferramentas para testes de performance, com foco no JMeter. Ele discute porque testar performance é importante, as estratégias de teste de carga, desempenho e estresse. Também demonstra como criar e executar testes no JMeter, interpretar resultados e fornecer dicas de boas práticas.
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...Edlaine Zamora
O documento resume as estratégias e ferramentas para testes de performance, incluindo: (1) testes de carga, desempenho e stress; (2) a ferramenta JMeter para automatizar testes; (3) exemplos de melhorias detectadas em testes como aumento de hardware e otimização de código.
Palestra sobre Automação de Testes com Rest-AssuredQualister
Este documento resume um treinamento sobre testes em APIs REST utilizando a biblioteca Rest-Assured. O treinamento apresenta o que é REST e como testar APIs REST manualmente e com Rest-Assured, incluindo exemplos de validação de esquema, corpo e cabeçalho das respostas. Além disso, fornece instruções passo-a-passo para a implementação de um projeto de teste com Maven, JUnit e Rest-Assured.
TDC2015: Testes em APIs REST com Rest-AssuredJúlio de Lima
Este documento fornece informações sobre testes em APIs REST utilizando a biblioteca Rest-Assured. Ele resume como testar APIs manualmente e automaticamente, validar respostas e utilizar ferramentas como Maven e JUnit para estruturar e executar os testes. O documento também apresenta um exemplo prático de teste de uma API REST utilizando Rest-Assured.
O documento discute como criar testes de interface do usuário (e2e) que sejam rápidos, robustos e de fácil manutenção. Ele explica a importância da automação de testes, os problemas comuns de testes e2e, e estratégias para torná-los independentes, paralelizados e baseados em padrões de teste.
Como melhoramos a performance dos testes automatizados com py.test e factoryboyLeonardo Galani
O documento discute como a equipe melhorou os testes automatizados usando py.test e factoryboy. Inicialmente, os testes eram desenvolvidos separadamente da equipe de desenvolvimento e erros só eram encontrados no Jenkins. Posteriormente, a equipe adotou py.test e factoryboy para gerar dados de teste e dependências de forma dinâmica, permitindo testes mais completos e integrados ao desenvolvimento. Isso melhorou a qualidade dos testes e facilitou a adoção de padrões de teste na equipe.
Testando sua aplicação asp.net mvc de forma automatizada de ponta a pontatdc-globalcode
Nessa palestra mostrarei como criar uma estrutura de testes automatizados para a sua aplicação ASP.NET MVC cobrindo os principais aspectos do seu sistema.
O documento introduz o Cypress, uma ferramenta para testes de frontend. Ele descreve a instalação e estrutura básica do Cypress, incluindo comandos úteis e exemplos de como escrever testes que interagem com sites reais como o GitHub e o DuckDuckGo.
Todas as abordagens de testes dentro do ágilElias Nogueira
Palestra apresentada dia 10/11/2012 no Rio Agile Talks (@rioagile) mostrando a importância do Agile Testing e das visões que mudam sobre modelos, como o quadrande de Brian Merick que pode ser mudado/atualizado pelo novo uadrante proposto por Elisabeth Hendrickson, mas onde uma coida não muda: a pirâmide de automação de teste
Semelhante a [TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web) (20)
[ATC2021] Distribuição de Testes em Diferentes CamadasJúlio de Lima
O documento discute a distribuição de testes em diferentes camadas de software. É apresentada uma visão geral de camadas como componentes organizados para reduzir a complexidade do sistema, com exemplos de camadas como controller e service. Também são discutidos níveis de teste como unidade, integração e aceitação e como mapear testes a essas camadas para obter benefícios como velocidade e cobertura de testes.
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
O documento descreve a evolução da responsabilidade por testes em diferentes metodologias de desenvolvimento de software, desde a tradicional até a ágil matura. Apresenta modelos onde testes são realizados por uma equipe separada ou incorporados ao time de desenvolvimento, e discute a importância da automação e cultura de teste.
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
O documento discute como a inteligência artificial pode ser aplicada para melhorar os testes de software, incluindo a geração automática de testes, identificação de testes problemáticos e reconhecimento de elementos de interface do usuário. Também explora como a análise de dados de teste usando clustering pode ajudar a identificar falhas no desempenho do sistema.
[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.
[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)
O documento discute o mindset de QA em diferentes contextos como tradicional, ágil e pós-ágil. Ele descreve como o papel do QA muda em cada contexto, passando de descrever casos de teste para desenvolvedores tradicionais para automatizar testes e contribuir para o código em contextos mais ágeis. Ele também discute a transição entre esses contextos e a importância da mudança e do compartilhamento de conhecimento.
[DevelopersBR-2018] Testes de performance usando a nuvemJúlio de Lima
Júlio de Lima apresenta sobre testes de performance usando a nuvem. Ele discute duas estratégias: 1) usar instâncias escravas do Apache JMeter para execução distribuída dos testes localmente e 2) usar ferramentas de teste de performance na nuvem como o BlazeMeter para execução de testes de larga escala.
[7Masters Aug, 2018] Escolhas durante automação de testes de APIJúlio de Lima
O documento discute as escolhas durante a automação de testes de API, incluindo se testar cenários ou endpoints, usar testes funcionais ou baseados em contratos, usar mocks ou integrações, testes de regressão ou smoke, e testes de desempenho ou carga.
[Front in Sampa 2018] Desenvolvendo como QAsJúlio de Lima
O documento apresenta uma discussão sobre testes de software para uma calculadora desenvolvida em React. Ele discute os requisitos funcionais, validação da estrutura dos componentes, integração entre componentes, automação de testes funcionais e de interface gráfica usando bibliotecas como Jest, Chai e Enzyme.
O documento discute as diferentes abordagens de teste de qualidade de software (QA) em contextos tradicionais, ágeis e pós-ágeis. Ele descreve como o papel do QA muda em cada contexto e enfatiza a importância de aprender novas habilidades para acompanhar a transição entre esses contextos. O documento também fornece recomendações gerais para QA, como compartilhar conhecimento e estar aberto a discussões.
[QANinjaConf2017] Testes de Regressão Visual com Galen FrameworkJúlio de Lima
O documento discute testes de regressão visual, introduzindo o framework Galen. Descreve como o Galen pode ser usado para validar posicionamento, tamanhos, textos e outros aspectos visuais de páginas web. Fornece exemplos de comandos e especificações que podem ser usados.
[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
[QANinjaConference] Carreira em Testes: Ainda vale a pena?Júlio de Lima
A palestra discute se ainda vale a pena seguir carreira em testes de software. Apresenta os desafios enfrentados por testadores tradicionais e contemporâneos, as oportunidades de aprendizagem e especialização, e como os salários para testadores, analistas e automatizadores se comparam ao de desenvolvedores de QA. Defende que a profissão vem sendo reconhecida como indispensável e pode proporcionar satisfação por meio da colaboração, aprendizagem constante e geração de valor.
[QANinjaConference] Automação de Testes com CodeceptionJúlio de Lima
O documento discute a automação de testes com o framework Codeception, apresentando um exemplo de teste de aceitação em PHP usando o DSL do Codeception. Também menciona outros frameworks que podem ser usados para automação de testes como PHPUnit com Guzzle ou WebDriver.
[PHPConferenceBR] Automação de testes com CodeceptionJúlio de Lima
O documento fornece informações sobre automação de testes usando Behavior Driven Development (BDD) e o framework Codeception. Ele discute como o Codeception permite escrever testes de forma orientada a comportamentos em uma Domain Specific Language (DSL) simples. O documento também mostra exemplos de como automatizar testes de unidade e de aceitação com Codeception.
[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.
[UNIP2015] Testando a Performance de Aplicações Web com JMeterJúlio de Lima
O documento discute testes de performance de aplicações web usando o Apache JMeter. Explica os principais conceitos como configuração, gravação, execução e monitoramento de testes. Também aborda boas práticas como simular cenários reais e fazer regressão após mudanças na aplicação.
DevOps é um movimento que prega a maximização da comunicação entre equipes de desenvolvimento e operações, além da automação da infraestrutura e monitoração de software. Isso traz benefícios como agilidade nos testes e ambientes confiáveis. Na abordagem DevOps, testadores contribuem automatizando testes e infraestrutura, melhorando a qualidade e velocidade de entrega de software.
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
Este certificado confirma que Gabriel de Mattos Faustino concluiu com sucesso um curso de 42 horas de Gestão Estratégica de TI - ITIL na Escola Virtual entre 19 de fevereiro de 2014 a 20 de fevereiro de 2014.
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
2. Globalcode – Open4education
Objetivo
Ao fim da palestra, você saiba como preparar o
ambiente e escrever scripts de teste automatizados de
unidade, API e GUI (Web) usando frameworks open-
source em Ruby.
3. Globalcode – Open4education
"RubyInTests"
O nome da palestra baseia-se em uma série de artigos
de minha autoria originados de um
#desafioAgileTesters feito pelo amigo Diego Blond
(@PerdidoNoTeste).
Conheçam mais sobre o desafio e a comunidade Agile
Testers:
bit.ly/desafioAgileTesters2016
4. Globalcode – Open4education
O conceito
Unidade API GUI
Métodos de uma classe
que serão testados de
forma isolada
Métodos que utilizam
as unidades de forma
conjunta para receber,
processar e devolver
informações do sistema
Interface gráfica, que
consome as APIs,
apresentando suas
informações de
forma amigável
Application Programming Interface Graphical user interface
6. Globalcode – Open4education
Preparando o ambiente
1. Instale o Ruby 2.0
rubyinstaller.org
* Adicione o diretório do Ruby às variáveis de ambiente
2. Baixe o DevKit na mesma URL e extraia-o em C:Ruby200dk
3. Instale o DevKit executando as linhas abaixo no prompt
ruby C:Ruby200dkdk.rb init
ruby C:Ruby200dkdk.rb install
4. Instale a Gem do Bundler
Digite gem install bundler no prompt de comando
7. Globalcode – Open4education
Preparando o projeto
1. Crie o diretório “RubyInTestTDC” e acesse-o via prompt
2. Execute o comando bundle init
3. Agora o arquivo Gemfile foi criado
Adicionaremos a ele todas os frameworks que utilizaremos
4. Abra o Gemfile e substitua seu conteúdo pelas linhas abaixo:
source "http://rubygems.org"
gem 'rspec', '~> 3.3.0'
gem 'rest-client', '~> 1.8'
gem 'selenium-webdriver', '2.48.1'
gem 'sinatra' # Para o app de teste
5. Execute o comando bundle install
9. Globalcode – Open4education
Automatizando testes de
unidade
# C:RubyInTestTDCavaliacao_class.rb
class Avaliacao
def avaliar(notaprova, notatrabalho)
if (notaprova >= 7)
if (notatrabalho >= 7)
return "Aprovado"
else
return "Exame"
end
else
return "DP"
end
end
end
Para demonstrar este tipo de teste, usaremos a class Avaliação, que
possui um método chamado “avaliar”, que recebe dois parâmetros:
notaprova e notatrabalho.
10. Globalcode – Open4education
Automatizando testes de
unidade
# C:RubyInTestTDCspecunitavaliacao_spec.rb
require_relative "../../avaliacao_class"
describe Avaliacao do
it "alunos com notas maiores ou iguais a 7 são aprovados" do
# Arrange
avaliacao = Avaliacao.new()
# Act
resultado = avaliacao.avaliar(7, 7)
# Assert
expect(resultado).to eq("Aprovado")
end
end
Teríamos que desenvolver três testes de unidade para testar o método
avaliar, eles seguem a mesma estrutura do método abaixo:
11. Globalcode – Open4education
Automatizando testes de
unidade
A execução dos testes de unidade se dá através do comando:
rspec C:RubyInTestTDCspecunitavaliacao_spec.rb --color
Veremos o resultado semelhante ao abaixo:
.
Finished in 0 seconds (files took 0.1716 seconds to load)
1 example, 0 failures
Digamos que tenhamos esquecido que a nota de corte era 7 e então
mudamos no código para 8. Ao rodar, veremos o erro abaixo:
Failure/Error: expect(resultado).to eq("Aprovado")
expected: "Aprovado"
got: "DP"
12. Globalcode – Open4education
Automatizando testes de API
Para demonstrar este tipo de teste, usaremos uma API REST chamada “escola”,
que consome a classe e método que testamos anteriormente.
Ela está disponível no endereço:
http://localhost:4567/escola/api/
Essa API possui apenas um recurso e um método:
POST avaliar
@notaprova (String)
@notatrabalho (String)
Resposta:
@status (String) [fail/success]
@message (String)[Aprovado/Exame/DP]
13. Globalcode – Open4education
Automatizando testes de API
O RSpec fornece suporte a todos os métodos utilizados em API Rest, dentre
eles: GET, POST, PUT, DELETE.
Veremos aqui um exemplo utilizando o método POST, para avaliar o aluno
A resposta proveniente da API, obtido através da propriedade “body" do objeto
"resposta", geralmente vem em formato JSON, semelhante à que temos abaixo:
{"status":"success","message":"Aprovado"}
# Executando a requisição
resposta = RestClient.post(
'http://localhost:4567/escola/api/avaliar',
:notaprova => '7',
:notatrabalho => '7'
)
# Chamando o framework Rest-Client
require 'rest-client'
14. Globalcode – Open4education
Automatizando testes de API
Então é necessário converte-la em objeto estruturado para que possamos ter
acesso à resposta como um objeto, veja:
E, por fim, executamos as validações:
# Executando a requisição
resposta = RestClient.post(
'http://localhost:4567/escola/api/avaliar',
:notaprova => '7',
:notatrabalho => '7'
)
# Convertendo o resultado de JSON para Object
corpo = JSON.parse(resposta.body, object_class: OpenStruct)
# Validando resultados
expect(corpo.status).to eq("success")
expect(corpo.message).to eq("Aprovado")
15. Globalcode – Open4education
Automatizando testes de API
Agora já sabemos como interagir com a API e validar os resultados. O próximo
passo é criar a estrutura do teste usando RSpec, já sabemos como fazer isso:
Observações:
• O require é necessário para podermos utilizar o framework Rest-Client;
• Os contextos facilitam a visualização dos resultados;
require 'rest-client'
describe "Gerenciar API Escola" do
context "/avaliar" do
context "GET" do
it "alunos com notas maiores ou iguais a 7 são aprovados" do
# Interações com a API e validações
end
end
end
end
16. Globalcode – Open4education
Automatizando testes de API
# C:RubyInTestTDCspecapiescola_spec.rb
require 'rest-client'
describe "Gerenciar API Escola" do
context "/avaliar" do
context "GET" do
it "alunos com notas maiores ou iguais a 7 são aprovados" do
# Executando a requisição
resposta = RestClient.post(
'http://localhost:4567/escola/api/avaliar',
:notaprova => '7',
:notatrabalho => '7'
)
# Convertendo o resultado de JSON para Object
corpo = JSON.parse(resposta.body, object_class: OpenStruct
# Validando resultados
expect(corpo.status).to eq("success")
expect(corpo.message).to eq("Aprovado")
end
end
end
end
Código completo:
17. Globalcode – Open4education
Automatizando testes de API
A execução dos testes de API também podem ser executado com o mesmo comando
que usamos para executar os testes de unidade:
rspec C:RubyInTestTDCspecapiescola_spec.rb --color
Mas, como usamos contextos, podemos usar o parâmetro --format documentation,
após o parâmetro --color para que vejamos os resultados no formato de
documentação:
rspec C:RubyInTestTDCspecapiescola_spec.rb --color --format
documentation
E então os resultados aparecerão da seguinte forma:
Gerenciar API Escola
/avaliar
GET
alunos com notas maiores ou iguais a 7 sao aprovados
Finished in 0.0468 seconds (files took 0.5148 seconds to load)
1 example, 0 failures
18. Globalcode – Open4education
Automatizando testes de GUI
Para demonstrar este tipo de teste, usaremos uma aplicação web chamada
“escola”, que consome a API que testamos anteriormente.
Ela está disponível no endereço:
http://localhost:4567/escola/web/
Esta aplicação permite que informemos duas notas e, após clicar no botão
“Avaliar”, nos devolve o status atual do aluno.
Iremos automatizar o seguinte cenário:
1. Abrir e maximizar o browser Firefox;
2. Acessar a aplicação web;
3. Preencher o formulário;
4. Clicar no botão “Avaliar”;
5. Validar que a mensagem “Aprovado" foi apresentada.
19. Globalcode – Open4education
Automatizando testes de GUI
1. Abrir e maximizar o browser Firefox
navegador = Selenium::WebDriver.for :firefox
navegador.manage.window.maximize()
2. Acessar a aplicação web
navegador.get('http://localhost:4567/escola/web/')
3. Preencher o formulário
navegador.find_element(:name, 'notaprova').send_keys("7")
navegador[:name => 'notatrabalho'].send_keys("7")
4. Clicar no botão “Avaliar”;
navegador.find_element(:id, 'avaliar').click()
Outra forma de fazer
find_element
20. Globalcode – Open4education
Automatizando testes de GUI
5. Validar que a mensagem “Aprovado" foi apresentada
expect(navegador.find_element(:id, 'message').text).to
eq("Aprovado")
# Fechar o browser
navegador.close()
Observação:
Não esqueça de adicionar o require ‘selenium-webdriver’ no topo do arquivo
para que seja usado o valor transporte.
require 'selenium-webdriver'
21. Globalcode – Open4education
Automatizando testes de GUI
Código completo:
# C:RubyInTestTDCspecguiescola_spec.rb
require 'selenium-webdriver'
describe "Gerenciar Site Escola" do
context "Avaliar" do
it "alunos com notas maiores ou iguais a 7 são aprovados" do
navegador = Selenium::WebDriver.for :firefox
navegador.manage.window.maximize()
# Acessando a página inicial do QuickLoja
navegador.get('http://localhost:4567/escola/web/')
# Preenchendo o formulário
navegador.find_element(:name, 'notaprova').send_keys("7")
navegador[:name => 'notatrabalho'].send_keys("7")
navegador.find_element(:id, 'avaliar').click()
# Validando que entrou
expect(navegador.find_element(:id, 'message').text).to eq("Aprovado")
# Fechar o browser
navegador.close()
end
end
end
22. Globalcode – Open4education
Relatório em HTML
Uma vez que já automatizamos os testes em todas as camadas, podemos
rodar os testes e obter os resultados em formato HTML. Para isso,
executaremos o comando abaixo:
O resultado será semelhante ao apresentado abaixo:
rspec C:RubyInTestTDCspec --format html --out
C:RubyInTestTDCrelatorio.html