Każdy z nas chociaż raz zadał sobie pytanie w stylu: „Skąd wziął się tu ten margines?”, „Dlaczego nie mogę nadpisać tej wartości CSS?”. W swojej prezentacji Wojtek opowie wszystko, co zawsze chciałaś/eś wiedzieć o selektorach w CSS, ale bałaś/eś się zapytać. Dowiesz się między innymi co determinuje ważność reguł CSS i jak wykorzystać kombinatory, aby pisać lepszy kod.
CSS Grid Layout & Flexbox. Łatwość tworzenia responsywnych stron internetowychThe Software House
Tomasz Kajtoch: CSS Grid i Flexbox to przełomowe podejście do szybkiego tworzenia nowoczesnych, w pełni responsywnych układów stron internetowych. Mimo tego, że te dwa systemy są całkowicie od siebie niezależne, ich wspólne użycie otwiera developerom zupełnie nowe możliwości, a przy okazji zmniejsza ilość kodu potrzebnego do osiągnięcia pożądanego efektu. Na mojej prelekcji przestawię praktyczne zalety wykorzystania obu systemów i porównam je z dotychczas stosowanymi metodami.
Automação de Testes com Robot Framework - GUTS-SCMayara Fernandes
Slides da palestra de introdução ao Robot Framework - Framework de automação de testes baseado em keyword-driven. Apresentado no evento 6º GUTS-SC em 28/11/2017.
This document provides an overview of test case formatting and structure in Robot Framework. It discusses test case files, the editor used, table structure including test cases, settings, keywords and variables. It also covers syntax elements like spacing, argument separators, and comments. Additionally, it explains how to create keywords, pass parameters, use setup/teardown, and address elements. It concludes with examples of simple test scenarios and encourages enjoying test automation.
Este documento apresenta conceitos básicos sobre teste de software, incluindo testes de unidade, funcional e integração. Também discute estratégias de teste no desenvolvimento dirigido por testes (TDD) e apresenta referências sobre TDD com Ruby e teste de unidade com Ruby.
Este documento presenta conceptos generales sobre el diseño de casos de prueba para probar software. Explica que un caso de prueba incluye datos de entrada, condiciones y resultados esperados. Los objetivos del diseño de casos de prueba son detectar defectos, lograr buena cobertura y minimizar costos. También describe los tipos de pruebas y la importancia de desarrollar pruebas que tengan alta probabilidad de encontrar errores.
Um desafio prático dos testes de unidade é a dependência entre unidades. Quando uma unidade depende de outras, é necessário desenvolver stubs (unidades substitutas) para as unidades dependentes para que a unidade sob teste possa ser testada isoladamente. Isso requer esforço adicional de desenvolvimento que pode atrasar o processo de teste. Além disso, bugs nos stubs podem mascarar ou simular bugs na unidade real, comprometendo a efetividade dos testes. Gerenciar as dependências entre unidades para permitir testes isolados é um desafio na prática dos testes de
CSS Grid Layout & Flexbox. Łatwość tworzenia responsywnych stron internetowychThe Software House
Tomasz Kajtoch: CSS Grid i Flexbox to przełomowe podejście do szybkiego tworzenia nowoczesnych, w pełni responsywnych układów stron internetowych. Mimo tego, że te dwa systemy są całkowicie od siebie niezależne, ich wspólne użycie otwiera developerom zupełnie nowe możliwości, a przy okazji zmniejsza ilość kodu potrzebnego do osiągnięcia pożądanego efektu. Na mojej prelekcji przestawię praktyczne zalety wykorzystania obu systemów i porównam je z dotychczas stosowanymi metodami.
Automação de Testes com Robot Framework - GUTS-SCMayara Fernandes
Slides da palestra de introdução ao Robot Framework - Framework de automação de testes baseado em keyword-driven. Apresentado no evento 6º GUTS-SC em 28/11/2017.
This document provides an overview of test case formatting and structure in Robot Framework. It discusses test case files, the editor used, table structure including test cases, settings, keywords and variables. It also covers syntax elements like spacing, argument separators, and comments. Additionally, it explains how to create keywords, pass parameters, use setup/teardown, and address elements. It concludes with examples of simple test scenarios and encourages enjoying test automation.
Este documento apresenta conceitos básicos sobre teste de software, incluindo testes de unidade, funcional e integração. Também discute estratégias de teste no desenvolvimento dirigido por testes (TDD) e apresenta referências sobre TDD com Ruby e teste de unidade com Ruby.
Este documento presenta conceptos generales sobre el diseño de casos de prueba para probar software. Explica que un caso de prueba incluye datos de entrada, condiciones y resultados esperados. Los objetivos del diseño de casos de prueba son detectar defectos, lograr buena cobertura y minimizar costos. También describe los tipos de pruebas y la importancia de desarrollar pruebas que tengan alta probabilidad de encontrar errores.
Um desafio prático dos testes de unidade é a dependência entre unidades. Quando uma unidade depende de outras, é necessário desenvolver stubs (unidades substitutas) para as unidades dependentes para que a unidade sob teste possa ser testada isoladamente. Isso requer esforço adicional de desenvolvimento que pode atrasar o processo de teste. Além disso, bugs nos stubs podem mascarar ou simular bugs na unidade real, comprometendo a efetividade dos testes. Gerenciar as dependências entre unidades para permitir testes isolados é um desafio na prática dos testes de
This presentation demonstrates general guidelines how to create good test cases using Robot Framework. Both good practices and anti-patterns are presented.
The presentation is hosted on GitHub where you can find the original in ODP format: https://github.com/robotframework/DosDontsSlides
O documento fornece uma introdução ao framework Scrum, descrevendo seus princípios, papéis, artefatos e eventos. Resume os principais conceitos do manifesto ágil e explica que Scrum é um framework ágil criado para gestão e desenvolvimento de software de forma iterativa.
O documento descreve conceitos fundamentais de linguagens formais, como:
1) Linguagens naturais e linguagens formais possuem alfabetos, strings e gramáticas distintas;
2) Uma linguagem formal é definida por um alfabeto finito de símbolos e um conjunto de strings válidas geradas por gramáticas;
3) Gramáticas definem as regras para gerar strings válidas através de produções envolvendo símbolos terminais e não-terminais.
Apresentação | Gestão de QA | Modelo Human driven | Qualidade de software | ...Rosa Sampaio
✔ O documento discute como a melhoria da qualidade pode ser alcançada através de uma melhor gestão, levando a redução de custos e aumento da produtividade.
Robot Framework is a generic test automation framework for keyword-driven testing. It is implemented with Python and runs on Jython and IronPython as well. It supports test data driven development and has built-in support for reporting, logging, libraries, and integration with tools like Jenkins. The framework is open source and has an active community around it.
O documento apresenta o currículo de Ricardo Terra, incluindo sua formação acadêmica e experiência profissional. Ele também fornece uma introdução sobre análise estática de código, descrevendo seus objetivos, benefícios e como ela se compara a outras técnicas de verificação e validação de software.
Ciclo de Vida Clássico da Engenharia de SoftwareEduardo Santos
O documento descreve o Ciclo de Vida Clássico de Desenvolvimento de Software, também conhecido como modelo cascata. Ele consiste em seis fases sequenciais: 1) Análise e Engenharia de Sistemas, 2) Análise de Requisitos, 3) Projeto, 4) Codificação, 5) Testes e Integração e 6) Manutenção e Operação. Apesar de ter fragilidades por ser inflexível, é o modelo mais antigo e amplamente usado da Engenharia de Software.
Data-driven testing is a methodology where test input and output values are read from external data sources like files or databases. A single test script can be used to execute multiple test cases by varying the test data. Maveryx is a tool that supports data-driven testing through features like intelligent object recognition, separation of test logic from data, and reading test data from sources like Excel. The document provides an overview of data-driven testing and examples of how to create a data-driven test script using Maveryx.
O documento descreve uma palestra sobre testes unitários em Java usando JUnit. A palestra aborda conceitos de desenvolvimento guiado por testes, como escrever testes unitários, o framework JUnit e como implementar testes em JUnit usando Eclipse.
"Experiences Of Test Automation At Spotify" with Kristian KarlTEST Huddle
View webinar: http://www.eurostarconferences.com/community/member/webinar-archive/webinar-87-experiences-of-test-automation-at-spotify-
At Spotify, we want the manual testing effort to be focused as much as possible at feature testing, less on regression tests. But we still have to do regression. So, we tried to automate a big chunk of that. Regression tests are run on our Desktop, Android, iOS and WebPlayer clients, and also some backend services.
I will share with you how far we have come. What techniques, tools and methodologies we have tried. What experiences has been good, and what has been not that good.
This document provides an overview of software testing methods and automation testing. It discusses what software testing is, why it is necessary, and different types of testing like smoke testing, regression testing, and formal testing. It also covers the software development life cycle. The document compares manual and automation testing and discusses advantages and disadvantages of each. It provides details on Selenium, a popular tool for automation testing, including features of Selenium IDE, WebDriver, and Grid. The overall purpose is to introduce various software testing concepts and an automation testing tool.
This document discusses various types of software testing techniques used in the software development lifecycle (SDLC). It begins by describing different SDLC models like waterfall, prototyping, RAD, spiral and V-models. It then discusses the importance of testing at different stages of SDLC and different types of testing like static vs dynamic, black box vs white box, unit vs integration etc. The rest of the document elaborates on specific black box and white box testing techniques like equivalence partitioning, boundary value analysis, cause-effect graphing, statement coverage and basis path testing.
Este documento discute testes de contrato, incluindo: 1) o que é um contrato, 2) problemas com contratos no dia-a-dia como atualizações que quebram funcionalidades, 3) tipos de contratos como orientados ao consumidor, 4) ferramentas como Swagger e Pact, e 5) a importância de testar contratos para garantir a qualidade e compatibilidade entre serviços.
O documento descreve diferentes modelos de processo de software, incluindo o modelo cascata, modelo de prototipação, modelo RAD e modelos evolutivos como o incremental e o espiral. Os modelos visam fornecer representações simplificadas dos processos de desenvolvimento de software.
Testing is necessary for software systems to ensure reliability, manage costs, and reduce risks. It is impossible to exhaustively test a system, so testing aims to detect defects and measure quality. Testing alone cannot improve quality but can identify issues to address. Different testing types exist for various stages, including unit, integration, system, and acceptance testing, and both black-box and white-box techniques are used. Rigorous planning, design, execution and tracking of test cases and results is needed. While testing shows defects, debugging is then needed to identify and address the root causes.
This is a presentation given at the Hangzhou Scrum Forum 2009, sponsored by Perficient, China. The topic is how to incorporate automated functional testing into an agile project, and also some best practices, tips, and warnings.
www.perficient.com
How Spotify Does Test Automation - Kristian KarlSmartBear
Kristian Karl's (@kristiankarl) presentation from MeetUI 2013, SoapUI's first user conference, in Stockholm, Sweden. Kristian is a test manager at Spotify.
Trabalho realizado pelo aluno Rafael Sanches sobre teste de software explicando os passos necessários para realização de testes no desenvolvimento de software.
O documento descreve o framework Robot Framework, incluindo seu propósito para automação de testes de software de maneira genérica e baseada em keywords, sua origem na Nokia e status de código aberto, e suas principais funcionalidades como abrangência de testes web, mobile e GUI, estilos de teste suportados, e bibliotecas como a SeleniumLibrary e BrowserLibrary.
Introdução a Métodos Ágeis de Desenvolvimento de SoftwareDaniel Cukier
O documento apresenta brevemente os palestrantes Daniel Cukier e Rafael Prikladnicki, seus contextos acadêmicos e experiências com métodos ágeis. Também traz a agenda da apresentação "Introdução a Métodos Ágeis de Desenvolvimento de Software" com tópicos como princípios, problemas com abordagens tradicionais e alguns métodos ágeis.
This presentation demonstrates general guidelines how to create good test cases using Robot Framework. Both good practices and anti-patterns are presented.
The presentation is hosted on GitHub where you can find the original in ODP format: https://github.com/robotframework/DosDontsSlides
O documento fornece uma introdução ao framework Scrum, descrevendo seus princípios, papéis, artefatos e eventos. Resume os principais conceitos do manifesto ágil e explica que Scrum é um framework ágil criado para gestão e desenvolvimento de software de forma iterativa.
O documento descreve conceitos fundamentais de linguagens formais, como:
1) Linguagens naturais e linguagens formais possuem alfabetos, strings e gramáticas distintas;
2) Uma linguagem formal é definida por um alfabeto finito de símbolos e um conjunto de strings válidas geradas por gramáticas;
3) Gramáticas definem as regras para gerar strings válidas através de produções envolvendo símbolos terminais e não-terminais.
Apresentação | Gestão de QA | Modelo Human driven | Qualidade de software | ...Rosa Sampaio
✔ O documento discute como a melhoria da qualidade pode ser alcançada através de uma melhor gestão, levando a redução de custos e aumento da produtividade.
Robot Framework is a generic test automation framework for keyword-driven testing. It is implemented with Python and runs on Jython and IronPython as well. It supports test data driven development and has built-in support for reporting, logging, libraries, and integration with tools like Jenkins. The framework is open source and has an active community around it.
O documento apresenta o currículo de Ricardo Terra, incluindo sua formação acadêmica e experiência profissional. Ele também fornece uma introdução sobre análise estática de código, descrevendo seus objetivos, benefícios e como ela se compara a outras técnicas de verificação e validação de software.
Ciclo de Vida Clássico da Engenharia de SoftwareEduardo Santos
O documento descreve o Ciclo de Vida Clássico de Desenvolvimento de Software, também conhecido como modelo cascata. Ele consiste em seis fases sequenciais: 1) Análise e Engenharia de Sistemas, 2) Análise de Requisitos, 3) Projeto, 4) Codificação, 5) Testes e Integração e 6) Manutenção e Operação. Apesar de ter fragilidades por ser inflexível, é o modelo mais antigo e amplamente usado da Engenharia de Software.
Data-driven testing is a methodology where test input and output values are read from external data sources like files or databases. A single test script can be used to execute multiple test cases by varying the test data. Maveryx is a tool that supports data-driven testing through features like intelligent object recognition, separation of test logic from data, and reading test data from sources like Excel. The document provides an overview of data-driven testing and examples of how to create a data-driven test script using Maveryx.
O documento descreve uma palestra sobre testes unitários em Java usando JUnit. A palestra aborda conceitos de desenvolvimento guiado por testes, como escrever testes unitários, o framework JUnit e como implementar testes em JUnit usando Eclipse.
"Experiences Of Test Automation At Spotify" with Kristian KarlTEST Huddle
View webinar: http://www.eurostarconferences.com/community/member/webinar-archive/webinar-87-experiences-of-test-automation-at-spotify-
At Spotify, we want the manual testing effort to be focused as much as possible at feature testing, less on regression tests. But we still have to do regression. So, we tried to automate a big chunk of that. Regression tests are run on our Desktop, Android, iOS and WebPlayer clients, and also some backend services.
I will share with you how far we have come. What techniques, tools and methodologies we have tried. What experiences has been good, and what has been not that good.
This document provides an overview of software testing methods and automation testing. It discusses what software testing is, why it is necessary, and different types of testing like smoke testing, regression testing, and formal testing. It also covers the software development life cycle. The document compares manual and automation testing and discusses advantages and disadvantages of each. It provides details on Selenium, a popular tool for automation testing, including features of Selenium IDE, WebDriver, and Grid. The overall purpose is to introduce various software testing concepts and an automation testing tool.
This document discusses various types of software testing techniques used in the software development lifecycle (SDLC). It begins by describing different SDLC models like waterfall, prototyping, RAD, spiral and V-models. It then discusses the importance of testing at different stages of SDLC and different types of testing like static vs dynamic, black box vs white box, unit vs integration etc. The rest of the document elaborates on specific black box and white box testing techniques like equivalence partitioning, boundary value analysis, cause-effect graphing, statement coverage and basis path testing.
Este documento discute testes de contrato, incluindo: 1) o que é um contrato, 2) problemas com contratos no dia-a-dia como atualizações que quebram funcionalidades, 3) tipos de contratos como orientados ao consumidor, 4) ferramentas como Swagger e Pact, e 5) a importância de testar contratos para garantir a qualidade e compatibilidade entre serviços.
O documento descreve diferentes modelos de processo de software, incluindo o modelo cascata, modelo de prototipação, modelo RAD e modelos evolutivos como o incremental e o espiral. Os modelos visam fornecer representações simplificadas dos processos de desenvolvimento de software.
Testing is necessary for software systems to ensure reliability, manage costs, and reduce risks. It is impossible to exhaustively test a system, so testing aims to detect defects and measure quality. Testing alone cannot improve quality but can identify issues to address. Different testing types exist for various stages, including unit, integration, system, and acceptance testing, and both black-box and white-box techniques are used. Rigorous planning, design, execution and tracking of test cases and results is needed. While testing shows defects, debugging is then needed to identify and address the root causes.
This is a presentation given at the Hangzhou Scrum Forum 2009, sponsored by Perficient, China. The topic is how to incorporate automated functional testing into an agile project, and also some best practices, tips, and warnings.
www.perficient.com
How Spotify Does Test Automation - Kristian KarlSmartBear
Kristian Karl's (@kristiankarl) presentation from MeetUI 2013, SoapUI's first user conference, in Stockholm, Sweden. Kristian is a test manager at Spotify.
Trabalho realizado pelo aluno Rafael Sanches sobre teste de software explicando os passos necessários para realização de testes no desenvolvimento de software.
O documento descreve o framework Robot Framework, incluindo seu propósito para automação de testes de software de maneira genérica e baseada em keywords, sua origem na Nokia e status de código aberto, e suas principais funcionalidades como abrangência de testes web, mobile e GUI, estilos de teste suportados, e bibliotecas como a SeleniumLibrary e BrowserLibrary.
Introdução a Métodos Ágeis de Desenvolvimento de SoftwareDaniel Cukier
O documento apresenta brevemente os palestrantes Daniel Cukier e Rafael Prikladnicki, seus contextos acadêmicos e experiências com métodos ágeis. Também traz a agenda da apresentação "Introdução a Métodos Ágeis de Desenvolvimento de Software" com tópicos como princípios, problemas com abordagens tradicionais e alguns métodos ágeis.
3. –Nie znam nikogo takiego, a Wy?
“Moja aplikacja ma wiele komponentów i pracują nad
nią ponad 3 osoby. Nie mamy żadnych problemów z
CSS.”
3
4. 4
#navigation ul.menu *:first-child > a[rel=nofollow]::before
Z czego składa się selektor
ID klasa
kombinator
pseudo-klasa pseudo-element
dowolny element
element
atrybut
6. Kombinator potomka A B
6
Wszystkie B, które są potomkami A.
<ul class="menu">
<li><a href="#">Home</a></li>
<li><a href="#">About us</a>
<ul>
<li><a href="#">History</a></li>
<li><a href="#">Our team</a></li>
<li><a href="#">Services</a></li>
</ul>
</li>
<li><a href="#">Contact</a></li>
</ul>
.menu li:first-child {
background: yellow;
}
7. Kombinator dziecka A > B
7
Wszystkie B, które są bezpośrednim dzieckiem A.
<ul class="menu">
<li><a href="#">Home</a></li>
<li><a href="#">About us</a>
<ul>
<li><a href="#">History</a></li>
<li><a href="#">Our team</a></li>
</ul>
</li>
<li><a href="#">Contact</a></li>
</ul>
.menu > li:first-child {
background: yellow;
}
.menu ul li:first-child {
background: lightgreen;
}
8. Kombinator następnika A + B
8
Wszystkie B, które następują bezpośrednio po A.
<div class="question">
<input type="checkbox" id="bool">
<label for="bool">Check me</label>
</div>
<div class="question">
<input type="checkbox" id="bool2">
<label for="bool2">Check me</label>
</div>
.question + .question {
margin-top: 20px;
}
input:checked + label {
background: green;
}
9. Kombinator ogólnego następnika A ~ B
9
Wszystkie B, przed którymi jest A.
<h1>Table of contents</h1>
<ol class="toc">
<li><a href="#">Chapter 1</a></li>
<li><a href="#">Chapter 2</a></li>
<li class="current">
<a href="#">Chapter 3</a>
</li>
<li><a href="#">Chapter 4</a></li>
<li><a href="#">Chapter 5</a></li>
<li><a href="#">Chapter 6</a></li>
</ol>
.toc .current a { font-weight: bold; }
.toc .current ~ li a { color: grey; }
10. Kaskada
Kaskada to algorytm, który definiuje jaka wartość
właściwości zostanie zastosowana jeśli próbuje ją
ustawić kilka reguł z różnych źródeł. Jest to rdzeń
języka CSS, czyli Cascading Style Sheets.
1. Ważność (!important)
2. Specyficzność
3. Źródło i kolejność
10
11. Specyficzność
Specyficzność to miara tego, jak dokładnie dany selektor
wskazuje na element. Na jej podstawie przeglądarka decyduje,
które wartości właściwości zastosować w przypadku konfliktów.
Wpływają na nią:
1. Style inline dodane za pomocą atrybutu style
2. Liczba identyfikatorów (ID) elementów
3. Liczba klas, pseudo-klas oraz atrybutów
4. Liczba elementów i pseudo-elementów
11
18. Co NIE wpływa na specyficzność
• Kolejność elementów w selektorze
• Selektor globalny (*)
• Kombinatory ( ~, >, oraz +)
• :not nie wpływa na specyficzność, ale jego
zawartość już tak
18
.content img:not(.small) /* 0-0-2-1 */
25. BEM to konwencja nazewnicza, która sprawia,
że kod jest bardziej zrozumiały, lepiej
skalowalny oraz przyjemniej się z nim pracuje.
25
.thread-tile__header--highlighted
block element modifier