This document discusses ways to make test suites run faster. It presents three approaches: being a cheater by using faster machines and parallelizing tests; being lazy by deleting unused tests and code and using in-memory databases and servers; and being brave by breaking long integration tests into smaller pieces, mocking slow layers, and minimizing browser testing. The key message is that there are many simple tricks that can significantly speed up test runs without major refactoring efforts.
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.
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)
Webpagetest is an online synthetic web page/app performance tool that looks at visual progress. This talk isn't about analysis. It's about how to use Webpagetest. We center on the practical. We'll walk through a couple of live demos to illustrate how it's done. By the end of this talk, you'll be able to take advantage of WPT's many features including scripting to perform authenticated comparisons for initial, repeat and subsequent views.
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.
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.
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)
Webpagetest is an online synthetic web page/app performance tool that looks at visual progress. This talk isn't about analysis. It's about how to use Webpagetest. We center on the practical. We'll walk through a couple of live demos to illustrate how it's done. By the end of this talk, you'll be able to take advantage of WPT's many features including scripting to perform authenticated comparisons for initial, repeat and subsequent views.
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
The good, the bad, and the ugly technical details of running Node.js services for the world’s largest Spanish learning website, SpanishDict.com.
Presented at the 5/8/2013 Seattle Node.js Meetup - http://www.meetup.com/Seattle-Node-js/events/115959992/
SSL certificate impersonation… for shits and giggles!
A quick 5 minute talk about SSL impersonation and why self-signed certs aren't a valid solution for your enterprise!
BruCON 2011 Lightning Talk
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
The good, the bad, and the ugly technical details of running Node.js services for the world’s largest Spanish learning website, SpanishDict.com.
Presented at the 5/8/2013 Seattle Node.js Meetup - http://www.meetup.com/Seattle-Node-js/events/115959992/
SSL certificate impersonation… for shits and giggles!
A quick 5 minute talk about SSL impersonation and why self-signed certs aren't a valid solution for your enterprise!
BruCON 2011 Lightning Talk
During this presentation we are going to look at multiple solutions that are available for mocking JCR and go through their pros and cons. Then we are going to have look at Hippo Unit Test to see how Hippo Unit tester leverages JCR mocking to enable us to write easy to read and maintain unit tests.
Scala e xchange 2013 haoyi li on metascala a tiny diy jvmSkills Matter
Metascala is a tiny metacircular Java Virtual Machine (JVM) written in the Scala programming language. Metascala is barely 3000 lines of Scala, and is complete enough that it is able to interpret itself metacircularly. Being written in Scala and compiled to Java bytecode, the Metascala JVM requires a host JVM in order to run.
The goal of Metascala is to create a platform to experiment with the JVM: a 3000 line JVM written in Scala is probably much more approachable than the 1,000,000 lines of C/C++ which make up HotSpot, the standard implementation, and more amenable to implementing fun features like continuations, isolates or value classes. The 3000 lines of code gives you:
The bytecode interpreter, together with all the run-time data structures
A stack-machine to SSA register-machine bytecode translator
A custom heap, complete with a stop-the-world, copying garbage collector
Implementations of parts of the JVM's native interface
Although it is far from a complete implementation, Metascala already provides the ability to run untrusted bytecode securely (albeit slowly), since every operation which could potentially cause harm (including memory allocations and CPU usage) is virtualized and can be controlled. Ongoing work includes tightening of the security guarantees, improving compatibility and increasing performance.
ENJOYIN
Amazon Elastic Kubernetes Service (EKS)는 표준 Kubernetes 환경에서 실행되는 어플리케이션과 완벽히 호환됩니다. AWS상에서 Kubernetes 클러스터를 생성하고, 컨테이너 어플리케이션을 배포, 관리, 확장 및 로깅, 모니터링에 대한 실습과 함께, 최근 릴리즈된 AWS IAM 권한을 Pod에 할당하는 방법 등을 Amazon EKS에서 구현하는 과정을 진행합니다.
Serverless in production, an experience report (codemotion milan)Yan Cui
AWS Lambda has changed the way we deploy and run software, but the serverless paradigm has created new challenges to old problems: How do you test a cloud-hosted function locally? How do you monitor them? What about logging and config management? And how do we start migrating from existing architectures?
Yan Cui shares solutions to these challenges, drawing on his experience running Lambda in production and migrating from an existing monolithic architecture.
Yan Cui - Serverless in production, an experience report - Codemotion Milan 2017Codemotion
AWS Lambda has changed the way we deploy and run software, but this new serverless paradigm has created new challenges to old problems - how do you test a cloud-hosted function locally? How do you monitor them? What about logging and config management? And how do we start migrating from existing architectures? In this talk Yan will discuss solutions to these challenges by drawing from real-world experience running Lambda in production and migrating from an existing monolithic architecture.
SPA 2009 - Acceptance Testing AJAX Web Applications through the GUIandrew.macleod
These are the slides that Andrew MacLeod and Patrick Myles presented at the SPA conference in London, April 2009
http://www.spaconference.org/spa2009/sessions/session219.html
Nowadays, TDD, BDD, continuous testing and other methodologies have come into our attention when developing. Yet, we barely know what needs to be tested and why are we testing it? During the talk we will go through a bunch of testing methodologies.
Escaping Automated Test Hell - One Year LaterWojciech Seliga
Slides from my talk at 33rd Degree 2013 Conference in Warsaw.
More than year ago we faced the fact that we are hitting the wall with our large scale automated testing in Atlassian JIRA. We analysed the problems and possible solutions and shared them with community at 33rd Degree in 2012. Since then we've implemented a lot of our ideas and come up with new, learnt new quite unexpected things and got rid of Selenium 1 completely.
This session shows the learnings from our journey – escaping from Test Hell – back to the normality.
If you are interested to hear what problems you can (and probably will) face if you have thousands of automated tests on on levels of abstractions (functional, integration, unit, UI, performance) and what solutions can be applied to remedy them – this presentation is for you.
Similar to Let's make this test suite run faster (20)
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.
"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.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
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/
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.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
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.
40. AcKon #1 -‐ Break the longer integraKon test
Into
one
faster
integra:on
test
and
a
lot
of
small
unit
tests
41. AcKon #2 -‐ Mock the slowest layers
eg.
with
Spring
and
Mockito
spies
Mocks are
not just for
unit tests
42. AcKon #3 -‐ Don’t test through the browser
Selenium
is
oPen
overkill
«But
my
applica:on
is
complex!»
«My
users
want
complex
features,
My
users
want
Ajax»
«I
need
to
test
browser
compa:bility!»