The document discusses ways to make test suites run faster. It suggests distributing tests across multiple servers, running tests in parallel by using all CPU cores, deleting redundant and dead code to remove unnecessary tests, running tests in memory without accessing the network or file system, and mocking slow layers to isolate tests. Simplifying code is also recommended so that tests can run more quickly.
Throughout this 20ish minutes talk, I've presented four different kind of tests with each time how to run them in a Vue.js application.
1. Functions unit tests (with mocha-webpack)
2. Components unit tests (with vue-test-utils and Mocha or Jest)
3. Snapshot tests (with Jest)
4 UI tests (with Cypress.io)
Nesta palestra Ismael Soares apresenta a equipe da Bluesoft uma maneira simples de testar JavaScript com Spock (framework de BDD).
Veja também:
O que é o Nashorn;
ScriptEngine;
Testando com tabela de dados usando @Unroll;
Testando Callback;
Verificando Interactions.
Technical dive into configuring seccomp and linux security capabilities for Docker-based containers.
The real meat for this talk was in the demos - I'm working on a screencast version, and will add a link here once I have that published!
Throughout this 20ish minutes talk, I've presented four different kind of tests with each time how to run them in a Vue.js application.
1. Functions unit tests (with mocha-webpack)
2. Components unit tests (with vue-test-utils and Mocha or Jest)
3. Snapshot tests (with Jest)
4 UI tests (with Cypress.io)
Nesta palestra Ismael Soares apresenta a equipe da Bluesoft uma maneira simples de testar JavaScript com Spock (framework de BDD).
Veja também:
O que é o Nashorn;
ScriptEngine;
Testando com tabela de dados usando @Unroll;
Testando Callback;
Verificando Interactions.
Technical dive into configuring seccomp and linux security capabilities for Docker-based containers.
The real meat for this talk was in the demos - I'm working on a screencast version, and will add a link here once I have that published!
Topics in intermediate/early-advaned Jasmine testing for client-side JavaScript web applications.
Source code, test specs, and harnesses available here:
https://github.com/jbellsey/dbc-jasmine
Let's make this test suite run faster! SoftShake 2010David Gageot
The more the tests, the longer the build. And when the build gets longer, the bugs take longer to fix, the features take longer to deploy. Every build should be minutes long, all tests included.
Now lets say, our test suite takes much longer than that. How to reduce its duration? Where to start?
Making tests become useless, converting functional tests to unit tests, running tests in parallel, building projects in parallel, doing slow tasks only once, writing fast DBMS tests... Let's share dozens of tips to fasten you test suite A LOT.
Parcours Facilitateur professionnel de dynamiques collaborativesFormapart
Ce programme permet d’acquérir les fondations indispensables et les clés de réussite pour garantir un travail de qualité, tant en tant que facilitateur interne que facilitateur externe.
Code freeze, merges douloureux, installation et administration d'un serveur, sauvegardes fastidieuses, perte de données, branches coûteuses, obstacle au refactoring, cycles de build trop longs...
Ces mots sont-ils pour vous synonymes de Gestion de Configuration? Vous avez appris à vivre en couple avec un outil en ignorant volontairement ses défauts, mais ils se rappellent régulièrement à vous? Découvrez à travers des cas d'utilisation quotidiens comment Git sait se faire oublier et vous faire gagner beaucoup de temps.
Vous allez aimer cet outil avec une administration proche de zéro, ne nécessitant pas de backup, utilisable en moins de cinq minutes sur une clef usb, un simple disque partagé, en serveur ou en mode SAAS. Les équipes agiles, seront "accros" de l'outil sachant se faire oublier lors de refactoring de code massifs et permettant l'intégration continue sans serveur. Les équipes distribuées apprécieront les branches locales, le cherry-picking et les performances de git.
Vous êtes build manager en charge des branches et des code freezes? Désolé, vous venez de perdre votre job.
Le Facilitateur, un role encore meconnuDavid Gageot
Si les DSI ont la culture de l'audit, peu s'appuient sur un facilitateur. L'auditeur pose des questions, en tire des constats et propose des améliorations. Le facilitateur, lui, s'assure que les équipes prennent des décisions de groupe, en explorant ensemble les problèmes, leurs causes et les actions correctives. Le facilitateur met en place un cadre propice à la communication, s'assure que les impacts de chaque option seront explorés et que des décisions seront prises. Il est tantôt animateur, tantôt modérateur, il est à l'écoute et cherche à faire sortir des idées qui n'auraient pu émerger individuellement. Un exemple de facilitation est apporté par la méthode Scrum. Au sein d'un projet, le Scrum Master s'assure que l'équipe est de plus en plus performante. La pratique mise en place est la "rétrospective d'équipe" qui permet d'améliorer le travail collectif, de résoudre les conflits et de mettre en place de nouvelles pratiques. Nous explorerons un panel de techniques : Analyse "Plus/Delta", "Is/Is Not", "Timeline Mad/Sad/Glad". Nous verrons que ces mêmes pratiques peuvent être utilisées pour rendre un classique audit plus efficace. Au delà de Scrum, le facilitateur utilise des outils comme les brainstormings, les jeux de rôle ou encore les formations. Nous aborderons le principe du Forum Ouvert à travers un retour d'expérience de forum regroupant 200 personnes et qui permit de mettre en oeuvre des techniques comme le "dot-voting" ou le brainstorming avec des cartes hexagonales. Nous verrons que ces mêmes pratiques peuvent être utilisées lors d'un steering commity pour s'assurer que choix business et contraintes terrain sont alignées. Par sa créativité et son expertise, le facilitateur pousse une organisation à être plus innovante et plus efficace. Il travaille autant avec les "boss" qu'avec les "geeks" et s'assure souvent que les "boss" et les "geeks" se parlent et se comprennent.
Continuous Integration Testing in DjangoKevin Harvey
Continuous Integration is like having a robot that cleans up after you: it installs your dependencies, builds your project, run your tests, and reports back to you. This presentation outlines two methods for CI: Travis and Jenkins.
To go faster in a car, you need not only a powerful engine, but also safety mechanisms like brakes, air bags, and seat belts. This is a talk about the safety mechanisms that allow you to build software faster. It's based on the book "Hello, Startup" (http://www.hello-startup.net/). You can find the video of the talk here: https://www.youtube.com/watch?v=4fKm6ImKml8
Topics in intermediate/early-advaned Jasmine testing for client-side JavaScript web applications.
Source code, test specs, and harnesses available here:
https://github.com/jbellsey/dbc-jasmine
Let's make this test suite run faster! SoftShake 2010David Gageot
The more the tests, the longer the build. And when the build gets longer, the bugs take longer to fix, the features take longer to deploy. Every build should be minutes long, all tests included.
Now lets say, our test suite takes much longer than that. How to reduce its duration? Where to start?
Making tests become useless, converting functional tests to unit tests, running tests in parallel, building projects in parallel, doing slow tasks only once, writing fast DBMS tests... Let's share dozens of tips to fasten you test suite A LOT.
Parcours Facilitateur professionnel de dynamiques collaborativesFormapart
Ce programme permet d’acquérir les fondations indispensables et les clés de réussite pour garantir un travail de qualité, tant en tant que facilitateur interne que facilitateur externe.
Code freeze, merges douloureux, installation et administration d'un serveur, sauvegardes fastidieuses, perte de données, branches coûteuses, obstacle au refactoring, cycles de build trop longs...
Ces mots sont-ils pour vous synonymes de Gestion de Configuration? Vous avez appris à vivre en couple avec un outil en ignorant volontairement ses défauts, mais ils se rappellent régulièrement à vous? Découvrez à travers des cas d'utilisation quotidiens comment Git sait se faire oublier et vous faire gagner beaucoup de temps.
Vous allez aimer cet outil avec une administration proche de zéro, ne nécessitant pas de backup, utilisable en moins de cinq minutes sur une clef usb, un simple disque partagé, en serveur ou en mode SAAS. Les équipes agiles, seront "accros" de l'outil sachant se faire oublier lors de refactoring de code massifs et permettant l'intégration continue sans serveur. Les équipes distribuées apprécieront les branches locales, le cherry-picking et les performances de git.
Vous êtes build manager en charge des branches et des code freezes? Désolé, vous venez de perdre votre job.
Le Facilitateur, un role encore meconnuDavid Gageot
Si les DSI ont la culture de l'audit, peu s'appuient sur un facilitateur. L'auditeur pose des questions, en tire des constats et propose des améliorations. Le facilitateur, lui, s'assure que les équipes prennent des décisions de groupe, en explorant ensemble les problèmes, leurs causes et les actions correctives. Le facilitateur met en place un cadre propice à la communication, s'assure que les impacts de chaque option seront explorés et que des décisions seront prises. Il est tantôt animateur, tantôt modérateur, il est à l'écoute et cherche à faire sortir des idées qui n'auraient pu émerger individuellement. Un exemple de facilitation est apporté par la méthode Scrum. Au sein d'un projet, le Scrum Master s'assure que l'équipe est de plus en plus performante. La pratique mise en place est la "rétrospective d'équipe" qui permet d'améliorer le travail collectif, de résoudre les conflits et de mettre en place de nouvelles pratiques. Nous explorerons un panel de techniques : Analyse "Plus/Delta", "Is/Is Not", "Timeline Mad/Sad/Glad". Nous verrons que ces mêmes pratiques peuvent être utilisées pour rendre un classique audit plus efficace. Au delà de Scrum, le facilitateur utilise des outils comme les brainstormings, les jeux de rôle ou encore les formations. Nous aborderons le principe du Forum Ouvert à travers un retour d'expérience de forum regroupant 200 personnes et qui permit de mettre en oeuvre des techniques comme le "dot-voting" ou le brainstorming avec des cartes hexagonales. Nous verrons que ces mêmes pratiques peuvent être utilisées lors d'un steering commity pour s'assurer que choix business et contraintes terrain sont alignées. Par sa créativité et son expertise, le facilitateur pousse une organisation à être plus innovante et plus efficace. Il travaille autant avec les "boss" qu'avec les "geeks" et s'assure souvent que les "boss" et les "geeks" se parlent et se comprennent.
Continuous Integration Testing in DjangoKevin Harvey
Continuous Integration is like having a robot that cleans up after you: it installs your dependencies, builds your project, run your tests, and reports back to you. This presentation outlines two methods for CI: Travis and Jenkins.
To go faster in a car, you need not only a powerful engine, but also safety mechanisms like brakes, air bags, and seat belts. This is a talk about the safety mechanisms that allow you to build software faster. It's based on the book "Hello, Startup" (http://www.hello-startup.net/). You can find the video of the talk here: https://www.youtube.com/watch?v=4fKm6ImKml8
Distributed Systems at Scale: Reducing the FailKim Moir
This talk looks at the major problem's Mozilla's continuous integration farm and the plans we have to fix these issues. This talk was given at USENIX release engineering summit in Washington DC on November 13, 2015.
This is an introduction to unit testing using various mocking frameworks. It covers why you should consider using a mocking framework, how to apply mocks in your unit testing, and a high level comparison of various tools for mocking/stub creation. The distinction between mocks and stubs is clearly defined.
Learn why you should put your blackbox (or system/integration) tests into Docker Containers.
Brief (remedial) overview of Docker for software testers who don't know docker, and only need to know the basics to wrap their regression tests inside of a container.
Workshop: Functional testing made easy with PHPUnit & Selenium (phpCE Poland,...Ondřej Machulda
Annotated slides for phpCE workshop on November 3, 2017.
Workshop repository: https://github.com/OndraM/selenium-workshop-phpce
The workshop covered:
- setting up local development environment (using Docker)
- practical examples of functional tests implementation
- exploring possibilities of Selenium WebDriver
- parallel test execution using Steward
- hands-on Page Object design pattern
- dealing with asynchronous elements of web-pages (AJAX, JavaScript)
- general tips & tricks how to keep a maintainable suite of functional tests in a long-term
In my talk at socrates 2011, I descrived why performance is a craft and what to do to ensure great performance. I concluded with a few best practies and wonder if there are more
DockerCon EU 2015 in Barcelona
Practical tips for using Docker to run tests during development, CI/CD, and different strategies for speeding up the run of your test suite by using parallel pipelines in containers.
The jet tool used to demonstrate parallel testing is available here: https://codeship.com/documentation/docker/installation/
Similar to Let's make this test suite run faster - Paris JUG 2011 (20)
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Let's dive deeper into the world of ODC! Ricardo Alves (OutSystems) will join us to tell all about the new Data Fabric. After that, Sezen de Bruijn (OutSystems) will get into the details on how to best design a sturdy architecture within ODC.
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
The field of Information retrieval (IR) is currently undergoing a transformative shift, at least partly due to the emerging applications of generative AI to information access. In this talk, we will deliberate on the sociotechnical implications of generative AI for information access. We will argue that there is both a critical necessity and an exciting opportunity for the IR community to re-center our research agendas on societal needs while dismantling the artificial separation between the work on fairness, accountability, transparency, and ethics in IR and the rest of IR research. Instead of adopting a reactionary strategy of trying to mitigate potential social harms from emerging technologies, the community should aim to proactively set the research agenda for the kinds of systems we should build inspired by diverse explicitly stated sociotechnical imaginaries. The sociotechnical imaginaries that underpin the design and development of information access technologies needs to be explicitly articulated, and we need to develop theories of change in context of these diverse perspectives. Our guiding future imaginaries must be informed by other academic fields, such as democratic theory and critical theory, and should be co-developed with social science scholars, legal scholars, civil rights and social justice activists, and artists, among others.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
2. www.parisjug.org
Copyright(c) 2010 Paris JUG, Licence CC-Creatives Commons 2.0 France - Paternité - Pas d’utilisation commerciale - Partage des Conditions à l’identique
3. Let's make this test suite run faster!
Why?
What for ?
http://farm1.static.flickr.com/158/349497988_fb751a5e3a_z.jpg
4. You test early and often
Don’t you?
http://farm1.static.flickr.com/97/246816211_573c2901e1_z.jpg?zz=1
14. Buy a faster machine
Tests are cpu/memory bound
http://farm1.static.flickr.com/28/93569705_1c562b413a_z.jpg?zz=1
15. Be warned
Single threaded tests get slower over time
100
75
50
25
0
2007 2008 2009 2010
http://farm5.static.flickr.com/4096/4819945812_735744e0fc_z.jpg
16. Use all the cores
parallel build with maven3
mvn -T1 clean install : 5:05s
mvn -T4 clean install : 3:10s
27. Don’t test business rules in integration tests
Unit tests is often a better place
http://upload.wikimedia.org/wikipedia/commons/b/bd/
Contortionist_Ravi_standing.jpg
28. Don’t test business rules in integration tests
Unit tests is often a better place
Functional test
(on a web page)
10s
Unit test
0.01s
29. Take the longer integration test
Break it in one faster integration test
and a lot of small unit tests
http://farm2.static.flickr.com/1168/3166709586_96f9a3fd95.jpg
30. Or mock the slowest layers
eg. functional test with Spring and Mockito
Mocks are
not just for
unit tests
31. Don’t test through the browser
Selenium is often overkill
«But my application is
complex!»
«My users want complex
features,
My users want Ajax»
«I need to test browser
compatibility!»
Photo: http://www.flickr.com/photos/zoutedrop/2317065892/
33. Complexity has a cost
That you pay each time a test runs
http://thehongkongfixereng.files.wordpress.com/2008/07/couteau-suisse.jpg
34. Test through the browser the strict minimal
Use javascript unit tests for the rest
http://farm2.static.flickr.com/1168/3166709586_96f9a3fd95.jpg
35. I tend to be old school
And write server-side code most of the time
http://www.celebridiot.com/wp-content/uploads/2009/06/
rick_astley_death_hoax.jpg
38. www.parisjug.org
Copyright(c) 2010 Paris JUG, Licence CC-Creatives Commons 2.0 France - Paternité - Pas d’utilisation commerciale - Partage des Conditions à l’identique