Apresentação sobre teste de mutação, abordagem sobre ferrramenta Stryker.NET, algumas referências para estudo e fone de exemplo disponibilizado no Github
Seminário sobre Qualidade de Software e modelos de maturidade apresentado no primeiro semestre de 2012 na disciplina de Engenharia de Software no programa de pós-graduação do Departamento de Computação da Universidade Federal de São Carlos.
Introducing Playwright's New Test RunnerApplitools
Playwright Test is a new test runner built from scratch by the Playwright team specifically to accommodate end-to-end testing needs. Join Principal Engineer, Andrey Lushinkov as he demonstrates how to use Playwright Test to author new tests, how to migrate existing tests, how to deploy them on CI, and debug them if something goes wrong.
Test Management & Automation with JIRA!
Bruno Conde - Xray Project Manager & Atlassian Expert at @Xpand IT
Xpand IT presentation during the Xpand IT & Atlassian Jam Sessions 2014
Apresentação sobre teste de mutação, abordagem sobre ferrramenta Stryker.NET, algumas referências para estudo e fone de exemplo disponibilizado no Github
Seminário sobre Qualidade de Software e modelos de maturidade apresentado no primeiro semestre de 2012 na disciplina de Engenharia de Software no programa de pós-graduação do Departamento de Computação da Universidade Federal de São Carlos.
Introducing Playwright's New Test RunnerApplitools
Playwright Test is a new test runner built from scratch by the Playwright team specifically to accommodate end-to-end testing needs. Join Principal Engineer, Andrey Lushinkov as he demonstrates how to use Playwright Test to author new tests, how to migrate existing tests, how to deploy them on CI, and debug them if something goes wrong.
Test Management & Automation with JIRA!
Bruno Conde - Xray Project Manager & Atlassian Expert at @Xpand IT
Xpand IT presentation during the Xpand IT & Atlassian Jam Sessions 2014
Alguns conceitos para começar a testar APIs REST. Precisamos saber alguns conceitos básicos e depois podemos começar a testar. De forma bem resumida o que são os métodos HTTP, o que é URL e URI, como fazer uma requisição no Postman e os principais códigos de status HTTP!
Alguns links e materiais indicados para quem quer iniciar nesse mundo de testes em API foram disponibilizados.
Slide deck of the presentation done at the Hactoberfest 2020 Singapore event. The talk and demo showed GitHub Actions in practice with examples of Github Superlinter, SonarCloud integration and CI CD to Azure Kubernetes service.
The recording of the session is available on YouTube
https://youtu.be/sFvCj62wmWU?t=6732&WT.mc_id=AZ-MVP-5003170
Trabalho realizado pelo aluno Rafael Sanches sobre teste de software explicando os passos necessários para realização de testes no desenvolvimento de software.
You may probably recognize the situation when a requirements professional is assigned to a new, challenging, agile project.
As Scrum does not know the role of a Requirements Engineer (RE) or Business Analyst (BA), the requirements professional will either become the Product Owner or be part of the Scrum Team (which consists of members with cross-functional know-how). Either way, the activities of requirements engineering will be executed in some way in an agile environment: that is handling requirements, often associated with user stories, eliciting needs from various stakeholders, documenting them accordingly, negotiating them and achieving acceptance and finally dealing with changes.
There is definitely a lot that goes on with requirements in Agile projects. Sometimes, you may not recognize that a practice used is nothing other than the basic method such as prioritisation; it becomes even more important and may be performed in a very similar way to traditional approaches (e.g. single-criterion classification or the Kano model), even if the result is represented as a sorted Product Backlog.
In this slideshare, the presenter will make some propositions about practices of the four major activities of requirements engineering (elicitation, documentation, validation, management) that may be implemented in a Scrum environment. This will be done by virtue of eliciting differences between the classic way of requirements engineering versus requirements engineering done in the Agile way published in the presenter's article at:
https://www.scrumalliance.org/community/articles/2017/august/requirements-engineering.aspx
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...Simplilearn
This presentation on Git will help you understand version control system, distributed version control system, what is Git, Git vs GitHub, Git architecture, fork & clone, collaborators, branch, merge & rebase, various Git commands and at the end you will also see a demo on Git. Git is a version control system (VCS) for tracking changes in computer files and coordinating work on those files among multiple people. It is primarily used for software development, but it can be used to keep track of changes in any files. This course enables you to learn and solve versioning problems with your files and codes. Now let us get started and understand what is Git along with a demo.
Below topics are explained in this Git presentation:
1. Version control system
2. Distributed version control system
3. What is Git?
4. Git vs GitHub
5. Git architecture
6. Fork and clone
7. Collaborators
8. Branch, merge and rebase
9. Commands in Git
10. Git demo
Why learn DevOps?
Simplilearn’s DevOps training course is designed to help you become a DevOps practitioner and apply the latest in DevOps methodology to automate your software development lifecycle right out of the class. You will master configuration management; continuous integration deployment, delivery and monitoring using DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios in a practical, hands-on and interactive approach. The DevOps training course focuses heavily on the use of Docker containers, a technology that is revolutionizing the way apps are deployed in the cloud today and is a critical skillset to master in the cloud age.
After completing the DevOps training course you will achieve hands-on expertise in various aspects of the DevOps delivery model. The practical learning outcomes of this Devops training course are:
An understanding of DevOps and the modern DevOps toolsets
The ability to automate all aspects of a modern code delivery and deployment pipeline using:
1. Source code management tools
2. Build tools
3. Test automation tools
4. Containerization through Docker
5. Configuration management tools
6. Monitoring tools
Who should take this course?
DevOps career opportunities are thriving worldwide. DevOps was featured as one of the 11 best jobs in America for 2017, according to CBS News, and data from Payscale.com shows that DevOps Managers earn as much as $122,234 per year, with DevOps engineers making as much as $151,461. DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
1. This DevOps training course will be of benefit the following professional roles:
2. Software Developers
3. Technical Project Managers
4. Architects
5. Operations Support
6. Deployment engineers
7. IT managers
8. Development managers
Learn more at: https://www.simplilearn.com/
In this talk we will learn how to use GitHub Actions to define the steps of your CI/CD process as containers. Additionally, we will use a tool called "act" to validate the CI/CD workflow by running the containers locally for fast feedback.
A guide for adopting Agile Testing. Gives the overall framework, principles and practices. Starts with Introduction to Agile Testing and then moves on to cover technical practices, HR and training needs which need focus during implementation of Agile Testing.
Cypress, Playwright, Selenium, or WebdriverIO? Let the Engineers Speak!Applitools
A wrap-up to the wildly popular "Verusus – Let the Code Speak" webinars, leading engineers share why their teams chose Cypress, Playwright, Selenium, and WebdriverIO. They go into detail about the problems they’re solving—highlighting code, architecture, and key features.
Watch the on-demand recording at applitools.com
Playwright: A New Test Automation Framework for the Modern WebApplitools
Join Andrey Lushnikov, Principal Engineer at Microsoft, as he shares insights into the decisions behind the creation and development Playwright; how Playwright is the only tool that covers modern automation needs; and why it is believed Playwright is the first framework that can be used for cross-browser testing.
An Introduction To Automated API TestingSauce Labs
As more and more apps are being assembled from a rapidly expanding array of microservices, APIs are the key to accessing these new architectures. That new feature you’re working on will often rely on upstream services that can only be accessed via APIs - so to test the functionality of the new component you’ll need to simulate those services.
While APIs are the backbone of the websites and apps we rely on today, automated testing of them is only starting to grow. Join Patrick Poulin, CEO of API Fortress, as he provides an introduction to API testing, the best ways to test your own APIs using popular tools available today, and demonstrates the orchestration of API tests and Sauce Labs tests as part of a Jenkins build process.
Key takeaways:
-Clearly understand what API testing means.
-Learn about best practices.
-See demonstrations of popular testing tools.
-See API and UI/UX testing implemented as part of a Jenkins build.
Nos últimos tempos a febre do uso da palavra “transformação” explodiu. Mas o que é verdadeiramente uma transformação ágil? Qual a diferença da ágil pra sua co-irmã “digital”?
Nesta palestra,discutimos sobre o básico que qualquer uma destas transformações deve causar nas empresas, focando principalmente na mudança cultural.
Tornar as empresas mais “customer-centric”, decisões “data-driven” e não baseadas em “eu acho”, mais transparentes, metas coletivas e não somente baseada em indivíduos e seus silos, auto-organizadas etc.
Você precisa de um scrum master, um agile coach ou nenhum dos dois Carlos Felippe Cardoso
Palestra feita no Agilidade Recife de 2017 falando da definição e da importância do Scrum Master e do Agile Coach para ajudarem os times e as empresas com disfunções comuns que os impedem de atingir alta performance
Alguns conceitos para começar a testar APIs REST. Precisamos saber alguns conceitos básicos e depois podemos começar a testar. De forma bem resumida o que são os métodos HTTP, o que é URL e URI, como fazer uma requisição no Postman e os principais códigos de status HTTP!
Alguns links e materiais indicados para quem quer iniciar nesse mundo de testes em API foram disponibilizados.
Slide deck of the presentation done at the Hactoberfest 2020 Singapore event. The talk and demo showed GitHub Actions in practice with examples of Github Superlinter, SonarCloud integration and CI CD to Azure Kubernetes service.
The recording of the session is available on YouTube
https://youtu.be/sFvCj62wmWU?t=6732&WT.mc_id=AZ-MVP-5003170
Trabalho realizado pelo aluno Rafael Sanches sobre teste de software explicando os passos necessários para realização de testes no desenvolvimento de software.
You may probably recognize the situation when a requirements professional is assigned to a new, challenging, agile project.
As Scrum does not know the role of a Requirements Engineer (RE) or Business Analyst (BA), the requirements professional will either become the Product Owner or be part of the Scrum Team (which consists of members with cross-functional know-how). Either way, the activities of requirements engineering will be executed in some way in an agile environment: that is handling requirements, often associated with user stories, eliciting needs from various stakeholders, documenting them accordingly, negotiating them and achieving acceptance and finally dealing with changes.
There is definitely a lot that goes on with requirements in Agile projects. Sometimes, you may not recognize that a practice used is nothing other than the basic method such as prioritisation; it becomes even more important and may be performed in a very similar way to traditional approaches (e.g. single-criterion classification or the Kano model), even if the result is represented as a sorted Product Backlog.
In this slideshare, the presenter will make some propositions about practices of the four major activities of requirements engineering (elicitation, documentation, validation, management) that may be implemented in a Scrum environment. This will be done by virtue of eliciting differences between the classic way of requirements engineering versus requirements engineering done in the Agile way published in the presenter's article at:
https://www.scrumalliance.org/community/articles/2017/august/requirements-engineering.aspx
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...Simplilearn
This presentation on Git will help you understand version control system, distributed version control system, what is Git, Git vs GitHub, Git architecture, fork & clone, collaborators, branch, merge & rebase, various Git commands and at the end you will also see a demo on Git. Git is a version control system (VCS) for tracking changes in computer files and coordinating work on those files among multiple people. It is primarily used for software development, but it can be used to keep track of changes in any files. This course enables you to learn and solve versioning problems with your files and codes. Now let us get started and understand what is Git along with a demo.
Below topics are explained in this Git presentation:
1. Version control system
2. Distributed version control system
3. What is Git?
4. Git vs GitHub
5. Git architecture
6. Fork and clone
7. Collaborators
8. Branch, merge and rebase
9. Commands in Git
10. Git demo
Why learn DevOps?
Simplilearn’s DevOps training course is designed to help you become a DevOps practitioner and apply the latest in DevOps methodology to automate your software development lifecycle right out of the class. You will master configuration management; continuous integration deployment, delivery and monitoring using DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios in a practical, hands-on and interactive approach. The DevOps training course focuses heavily on the use of Docker containers, a technology that is revolutionizing the way apps are deployed in the cloud today and is a critical skillset to master in the cloud age.
After completing the DevOps training course you will achieve hands-on expertise in various aspects of the DevOps delivery model. The practical learning outcomes of this Devops training course are:
An understanding of DevOps and the modern DevOps toolsets
The ability to automate all aspects of a modern code delivery and deployment pipeline using:
1. Source code management tools
2. Build tools
3. Test automation tools
4. Containerization through Docker
5. Configuration management tools
6. Monitoring tools
Who should take this course?
DevOps career opportunities are thriving worldwide. DevOps was featured as one of the 11 best jobs in America for 2017, according to CBS News, and data from Payscale.com shows that DevOps Managers earn as much as $122,234 per year, with DevOps engineers making as much as $151,461. DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
1. This DevOps training course will be of benefit the following professional roles:
2. Software Developers
3. Technical Project Managers
4. Architects
5. Operations Support
6. Deployment engineers
7. IT managers
8. Development managers
Learn more at: https://www.simplilearn.com/
In this talk we will learn how to use GitHub Actions to define the steps of your CI/CD process as containers. Additionally, we will use a tool called "act" to validate the CI/CD workflow by running the containers locally for fast feedback.
A guide for adopting Agile Testing. Gives the overall framework, principles and practices. Starts with Introduction to Agile Testing and then moves on to cover technical practices, HR and training needs which need focus during implementation of Agile Testing.
Cypress, Playwright, Selenium, or WebdriverIO? Let the Engineers Speak!Applitools
A wrap-up to the wildly popular "Verusus – Let the Code Speak" webinars, leading engineers share why their teams chose Cypress, Playwright, Selenium, and WebdriverIO. They go into detail about the problems they’re solving—highlighting code, architecture, and key features.
Watch the on-demand recording at applitools.com
Playwright: A New Test Automation Framework for the Modern WebApplitools
Join Andrey Lushnikov, Principal Engineer at Microsoft, as he shares insights into the decisions behind the creation and development Playwright; how Playwright is the only tool that covers modern automation needs; and why it is believed Playwright is the first framework that can be used for cross-browser testing.
An Introduction To Automated API TestingSauce Labs
As more and more apps are being assembled from a rapidly expanding array of microservices, APIs are the key to accessing these new architectures. That new feature you’re working on will often rely on upstream services that can only be accessed via APIs - so to test the functionality of the new component you’ll need to simulate those services.
While APIs are the backbone of the websites and apps we rely on today, automated testing of them is only starting to grow. Join Patrick Poulin, CEO of API Fortress, as he provides an introduction to API testing, the best ways to test your own APIs using popular tools available today, and demonstrates the orchestration of API tests and Sauce Labs tests as part of a Jenkins build process.
Key takeaways:
-Clearly understand what API testing means.
-Learn about best practices.
-See demonstrations of popular testing tools.
-See API and UI/UX testing implemented as part of a Jenkins build.
Nos últimos tempos a febre do uso da palavra “transformação” explodiu. Mas o que é verdadeiramente uma transformação ágil? Qual a diferença da ágil pra sua co-irmã “digital”?
Nesta palestra,discutimos sobre o básico que qualquer uma destas transformações deve causar nas empresas, focando principalmente na mudança cultural.
Tornar as empresas mais “customer-centric”, decisões “data-driven” e não baseadas em “eu acho”, mais transparentes, metas coletivas e não somente baseada em indivíduos e seus silos, auto-organizadas etc.
Você precisa de um scrum master, um agile coach ou nenhum dos dois Carlos Felippe Cardoso
Palestra feita no Agilidade Recife de 2017 falando da definição e da importância do Scrum Master e do Agile Coach para ajudarem os times e as empresas com disfunções comuns que os impedem de atingir alta performance
A cada ano cresce o uso de métodos ágeis no desenvolvimento de software.
A maior parte do conhecimento recai sobre o ScrumMaster (44% das vezes é ele quem mais sabe sobre agilidade, segundo relatório da VersionOne).
O conhecimento e a atuação do ScrumMaster também tem que evoluir. O termo ScrumMaster 3.0 surgiu para representar aquele que carrega a bandeira da agilidade e traz as novidades para a empresa.
Ele atua não apenas no seu time, mas na organização como um todo focando em diversos pontos apresentados nessa palestra.
Nesta palestra listamos os conhecimentos esperados do SM3.0, trazendo um exemplo prático para cada item.
Palestra de introdução a testes automatizados realizada no evento Agile Day, em Brasília - DF em junho de 2017. A palestra reforça a importância da automação dos testes para suportar a cadência mais veloz de entrega de times ágeis.
Ferramentas para auxiliar na gestão de portfolio e fazer a bola chegar redondaCarlos Felippe Cardoso
A forma mais fácil e barata de eliminar desperdícios é eliminar projetos e produtos ruins antes mesmo que eles entrem no ciclo de construção. Através de algumas ferramentas apresentadas como Validation board, Cost of delay, Kanban de Portfolio etc, nosso objetivo é trazer ferramentas para auxiliar a tarefa de descarte e simplificaçao de produtos e projetos
Palestra apresentada na DevWeek Rio - Imasters no dia 15/09/2015 falando sobre métodos ágeis, ferramentas para automação, Integração Contínua, Testes Automatizados, DevOps e Entrega Contínua
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Resumo de ...Fabio Souza
Resumo de linguagem C para aplicação em microcontroladores. Esse material faz parte do curso que ministrei na FACENS em 2015 para as equipes da Freescale CUP
2. Agenda
● Problema
● O que é teste de mutação?
● Exemplos
● Por que?
● Ferramentas
● Uso num projeto real
3. Problema
● Os testes estão corretos?
● Cobrem todos requisitos?
● Qual a qualidade dos testes?
4. Problema
● Cobertura de linhas apenas verifica execução de código
● 100% de cobertura != boa suite de testes
● Apenas testes "happy path" ou fáceis
● Código apenas parcialmente testado
6. Origem
● Proposto na Academia ~ 1978
● Yale University e Georgia Institute of technology
● Hipótese do programador competente
○ Programas quase perfeitos
○ Falhas pequenas
○ Pequenas alterações para correção
7. O que é teste de mutação?
● Introduz falhas (mutações) na implementação
○ Alterações semânticas
● Roda os testes
● Os testes realmente quebraram?
● Mutações mortas ou vivas?
● Os testes identificaram as falhas?
8. Exemplo
Mutação de troca de && para ||
if (a && b) {
c = 1;
} else {
c = 0;
}
if (a || b) {
c = 1;
} else {
c = 0;
}
9. Efeito colateral não testado
@Test
public void
shouldFailWhenGivenFalse() {
assertEquals("FAIL", foo(false));
}
@Test
public void
shouldBeOkWhenGivenTrue() {
assertEquals("OK", foo(true));
}
public static String foo(boolean b) {
if ( someThing(i) ) {
doImportantBusinessLogic();
return "OK";
}
return "FAIL";
}
Não verifica se doImportantBusinessLogic foi chamado
10. Teste de limite incompleto
@Test
public void
shouldReturnBarWhenGiven1() {
assertEquals("bar", foo(1));
}
@Test
public void
shouldReturnFooWhenGivenMinus1() {
assertEquals("foo", foo(-1));
}
public static String foo(int i) {
if ( i >= 0 ) {
return "foo";
} else {
return "bar";
}
}
O comportamento quando i==0 não foi testado
11. Mockista Míope
@Test
public void
shouldPerformActionGivenTrue() {
foo(mockCollab, true);
verify(mockCollab).doAction();
}
@Test
public void
shouldNotPerformActionGivenFalse() {
foo(mockCollab, false);
verify(never(),mockCollab).doAction();
}
public static String foo(Collaborator c,
boolean b) {
if ( b ) {
return c.doAction();
}
return "FOO";
}
Retorno da função nunca foi testado
12. Operadores de mutação
● Exclusão de declarações
● Duplicação ou inserção de declarações
● Negação de subexpressões booleanas
● Substituições:
○ Operadores aritiméticos (+, -, *, /)
○ Relações booleanas (==, !=, <, <=, >, >=)
○ Variáveis do mesmo escopo (tipos devem ser compatíveis)
Escore de mutação = № de mutantes mortos / № total de
mutantes
13. Por que?
● Ajuda a criar suítes de teste efetivas
● Propósito educacional
● Mostra quanto pode-se confiar numa suite de teste
○ Código legado
● Ajuda na refatoração e na criação de testes de
caracterização
● Verificar se alguma implementação está bem testada
14. O que não resolve?
● Caro para gerar e executar mutantes
● Limitado aos operadores de mutação
● Útil para teste unitários (doing things right)
● Ainda devem existir testes funcionais (doing the right
things)
15. Ferramentas
● PIT for Java
● Mutant for Ruby
● PyMuTester for Python