The document contains tweets and notes from someone with the Twitter handle @markbates. It discusses setting up a testing framework in Ruby with MiniTest and demonstrates some of MiniTest's features like describing tests, setting up contexts and subjects, pending and skipped tests, and expectations.
Rails makes it easy to write your tests with Minitest (A default testing framework used by rails).
This slide contains contents about:
1. WHY IS UNIT TEST NECESSARY / SO IMPORTANT?
- Unit Test make it easy to learn Rails Way.
2. THINGS YOU SHOULD KNOW
- You need to have database for test environment.
3. DIRECTORIES FOR TEST IN RAILS
4. WHAT IS FIXTURES?
5. MODEL TEST IN ACTION
- test_helper.rb
- Youre Test Case < ActiveSupport::TestCase < Minitest::Test
- A simple approach for TDD (Test Driven Development)
6. AVAILABLE ASSERTIONS
레일스는 Minitest 를 기본 테스팅 프레임워크로 포함하고 있습니다.
이 슬라이드에서는 미니테스트와 관련된 레일스 단위 테스트 관련 기본 개념에 대해서 설명합니다.
또한, 간단한 모델 테스트 케이스를 이용하여 실제 테스트를 수행하는 방법에 대해서 간략히 설명합니다.
Object-Oriented BDD w/ Cucumber by Matt van HornSolano Labs
Here are the slides that Matt van Horn from New Relic presented at last night's Automated Testing San Francisco meetup, hosted by Constant Contact. This presentation briefly covers continuous integration at New Relic, and then dives deeper into Object-Oriented BDD with Cucumber. We thank Matt for the great presentation.
Please feel free to connect with Matt on Github or Twitter:
github.com/mattvanhorn
or
@nycplayer
http://www.meetup.com/Automated-Testing-San-Francisco/
Rails makes it easy to write your tests with Minitest (A default testing framework used by rails).
This slide contains contents about:
1. WHY IS UNIT TEST NECESSARY / SO IMPORTANT?
- Unit Test make it easy to learn Rails Way.
2. THINGS YOU SHOULD KNOW
- You need to have database for test environment.
3. DIRECTORIES FOR TEST IN RAILS
4. WHAT IS FIXTURES?
5. MODEL TEST IN ACTION
- test_helper.rb
- Youre Test Case < ActiveSupport::TestCase < Minitest::Test
- A simple approach for TDD (Test Driven Development)
6. AVAILABLE ASSERTIONS
레일스는 Minitest 를 기본 테스팅 프레임워크로 포함하고 있습니다.
이 슬라이드에서는 미니테스트와 관련된 레일스 단위 테스트 관련 기본 개념에 대해서 설명합니다.
또한, 간단한 모델 테스트 케이스를 이용하여 실제 테스트를 수행하는 방법에 대해서 간략히 설명합니다.
Object-Oriented BDD w/ Cucumber by Matt van HornSolano Labs
Here are the slides that Matt van Horn from New Relic presented at last night's Automated Testing San Francisco meetup, hosted by Constant Contact. This presentation briefly covers continuous integration at New Relic, and then dives deeper into Object-Oriented BDD with Cucumber. We thank Matt for the great presentation.
Please feel free to connect with Matt on Github or Twitter:
github.com/mattvanhorn
or
@nycplayer
http://www.meetup.com/Automated-Testing-San-Francisco/
TYPO3 Congres 2012 - Test-Driven Development binnen TYPO3 Flow en NeosTYPO3 Nederland
Test-Driven Development is een kernwaarde van TYPO3 Flow en Neos development - zie hoe, en waarom, we dit doen. De complexiteit van frameworks zoals TYPO3 Flow en applicaties als TYPO3 Neos is een goede test coverage essentieel, of de kwaliteit en ontwikkeling zal langzaam stil komen te liggen.
Deze sessie laat zien hoe we unit en functionele tests maken voor PHP en JavaScript code. En aangezien het maken van tests zonder het uitvoeren niet veel helpt zal ook Continues integrations (CI) zijdelings genoemd worden.
Rens Admiraal
Rens Admiraal is een freelance webdeveloper / coach en Senior Software Architect bij Beech Applications uit Venlo.
Rond zijn 14e is Rens begonnen met 'programmeren', toen nog door het analizeren van code snippets op prehistorische computers. Door telkens opnieuw nieuwe uitdagingen aan te gaan heeft Rens meerdere talen geleerd, en heeft hij meegewerkt aan een breed scala aan web projecten. Nu is Rens TYPO3 Flow / TYPO3 Neos core lid en werkt hier vooral aan de Javascript kant van TYPO3 Neos.
Bij verschillende bedrijven heeft Rens gezien hoe ontwikkeling in verschillende mates van structuur gedaan kan worden. Langzaamaan heeft dit geleid tot een grote interesse voor ontwikkel structuur, continues integration, automatisch testen en code kwaliteit. Nu helpt Rens bij het opzetten van ontwikkelomgevingen en het trainen van ontwikkelaars om in zo'n omgeving te werken.
Rens woont in Ede met zijn vrouw en 3 zoons, speelt basgitaar en houdt ervan om af en toe wat druk van de ketel te halen op een (beach)volleybalveld.
Fairies, Fakers and Factories: Boost your tests with better test dataJaap Coomans
Whether you write your tests up front or after the fact, you've probably found yourself in this situation: You know exactly what you want to test and how you're going to approach it, but you suffer from a massive lack of inspiration when you try to define your test data. Eventually you end up with "Test User", "Jane Doe" and "Product123". This is both frustrating and ineffective. Coming up with good test data over and over again can be mind numbing and the result is mostly not representative for the data that will actually flow through your system.
So how can you improve this? Is there a way you can easily generate good test data and at the same time reduce the burden of creating test data over and over again? Yes you can! In this session I will show you how you can use test data generators like Java Faker and jFairy to create test data factories that help you improve the quality of your test data. I will show how this can massively improve your productivity when writing tests, because it helps you to focus on what really matters: the tests themselves.
Ab(Using) the MetaCPAN API for Fun and Profit v2013Olaf Alders
This talk builds on the previous Ab(Using) the MetaCPAN API talk from 2012. There are links to comprehensive examples and there is a more in-depth look at the available endpoints.
Mastering ElasticSearch with Ruby and TireLuca Bonmassar
A tutorial on what is ElasticSearch and how to use it effectively in a real project.
The talk discusses how to integrate a search experience in an existing application, showing all the steps from downloading&configuring elastic search, to building the UI and wire the search logic (in a Rails application).
The talk was presented at RubyConf 2013.
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...Pablo Godel
Un programador PHP/web no está completo sin conocimientos de administración de servidores. Cuando buscas un trabajo, seguramente te encontrarás con el requerimiento de conocimientos para configurar un servidor (Linux, Apache, MySQL and PHP). Las posibilidades de que consigas ese trabajo son mayores si conoces sobre servidores.
Short introduction to the basics of Perl testing and some resources for further reading. Includes basics of Test::Simple, Test::More, using Inline for multi-language testing, testing coverage, testing tests.
Teach your kids how to program with Python and the Raspberry PiJuan Gomez
RaspberryPis are the new frontier in enabling kids (and curious adults) to get access to an affordable and easy-to-program platform to build cool things. Over a million of these nifty little devices have been sold in less than a year and part of their popularity has been due to how easy it is to start programming on them.
In this session you'll learn how to get started with the Raspberry PI, initial set-up, configuration and some tips and tricks. Then we'll have a brief introduction to basic Python and we'll write a few simple programs that run on the RaspberryPI. The last section of the session will be dedicated to PyGame, we'll learn about surfaces, events, inputs, sprites, etc and demonstrate how to build very simple games that are as much fun for kids to write, than to play!
As present at FluentConf 2014 on March 11th, 2014.
AngularJS is one of the most popular, and powerful, JavaScript frameworks for building rich client-side applications. AngularJS is both simultaneously both simple to use and extremely full featured. With AngularJS a little goes a long way, but to make the most of it, you need to know what you’re doing.
In this workshop we will build a complex application to help exercise all of the salient points of the AngularJS framework.
Topics covered include, ngResource, directives, fitlers, routing, templates, controllers, testing, and more.
Code can be found at: https://github.com/markbates/fluent-2014
Presented at LA Ruby Conf on February 8th, 2014. A high level overview of Go, golang, and how it relates to Ruby. Packages such as Martini, Lineman.js, sqlx, Ginkgo, and more are covered.
Presented at RubyConf 11/10/2013
Introduced in Ruby 2.0, TracePoint is meant to help developers better instrument their code for debugging and performance reasons, but there's more to TracePoint than that!
In this talk we'll learn about TracePoint while building several example projects. Once we know the basics we'll use TracePoint to do things to Ruby that we couldn't have done otherwise.
By the end of this talk you'll be able to frighten and amaze your friends when you show them things like true abstract classes and interfaces in Ruby, just like Java! Yikes!
The world of JavaScript client-side frameworks is overflowing with contenders vying for the crown, but which one do you choose for your next project? Which one has what it takes?
In this talk we’ll look at the “Big 3”, AngularJS, Ember.js, and Backbone.js. We’ll compare them head to head, toe to toe. We’ll look at the pros and cons of each one. How do they handle form bindings? Talking to APIs? Code organization? Routing? Etc?
Who’ll come out victorious in this battle of the JavaScript frameworks, or will we all just come out bloodied and bruised on the other side? Guess we’ll find out!
Presented at Confoo (Montreal, Cananda)
Let's spend some time seeing how easy it can be to set up Mocha and Chai, a testing framework for JavaScript/CoffeeScript, in your application. We'll learn how to test that our jQuery or Backbone code is doing what it supposed to. It's really not as hard as you think it might be.
TYPO3 Congres 2012 - Test-Driven Development binnen TYPO3 Flow en NeosTYPO3 Nederland
Test-Driven Development is een kernwaarde van TYPO3 Flow en Neos development - zie hoe, en waarom, we dit doen. De complexiteit van frameworks zoals TYPO3 Flow en applicaties als TYPO3 Neos is een goede test coverage essentieel, of de kwaliteit en ontwikkeling zal langzaam stil komen te liggen.
Deze sessie laat zien hoe we unit en functionele tests maken voor PHP en JavaScript code. En aangezien het maken van tests zonder het uitvoeren niet veel helpt zal ook Continues integrations (CI) zijdelings genoemd worden.
Rens Admiraal
Rens Admiraal is een freelance webdeveloper / coach en Senior Software Architect bij Beech Applications uit Venlo.
Rond zijn 14e is Rens begonnen met 'programmeren', toen nog door het analizeren van code snippets op prehistorische computers. Door telkens opnieuw nieuwe uitdagingen aan te gaan heeft Rens meerdere talen geleerd, en heeft hij meegewerkt aan een breed scala aan web projecten. Nu is Rens TYPO3 Flow / TYPO3 Neos core lid en werkt hier vooral aan de Javascript kant van TYPO3 Neos.
Bij verschillende bedrijven heeft Rens gezien hoe ontwikkeling in verschillende mates van structuur gedaan kan worden. Langzaamaan heeft dit geleid tot een grote interesse voor ontwikkel structuur, continues integration, automatisch testen en code kwaliteit. Nu helpt Rens bij het opzetten van ontwikkelomgevingen en het trainen van ontwikkelaars om in zo'n omgeving te werken.
Rens woont in Ede met zijn vrouw en 3 zoons, speelt basgitaar en houdt ervan om af en toe wat druk van de ketel te halen op een (beach)volleybalveld.
Fairies, Fakers and Factories: Boost your tests with better test dataJaap Coomans
Whether you write your tests up front or after the fact, you've probably found yourself in this situation: You know exactly what you want to test and how you're going to approach it, but you suffer from a massive lack of inspiration when you try to define your test data. Eventually you end up with "Test User", "Jane Doe" and "Product123". This is both frustrating and ineffective. Coming up with good test data over and over again can be mind numbing and the result is mostly not representative for the data that will actually flow through your system.
So how can you improve this? Is there a way you can easily generate good test data and at the same time reduce the burden of creating test data over and over again? Yes you can! In this session I will show you how you can use test data generators like Java Faker and jFairy to create test data factories that help you improve the quality of your test data. I will show how this can massively improve your productivity when writing tests, because it helps you to focus on what really matters: the tests themselves.
Ab(Using) the MetaCPAN API for Fun and Profit v2013Olaf Alders
This talk builds on the previous Ab(Using) the MetaCPAN API talk from 2012. There are links to comprehensive examples and there is a more in-depth look at the available endpoints.
Mastering ElasticSearch with Ruby and TireLuca Bonmassar
A tutorial on what is ElasticSearch and how to use it effectively in a real project.
The talk discusses how to integrate a search experience in an existing application, showing all the steps from downloading&configuring elastic search, to building the UI and wire the search logic (in a Rails application).
The talk was presented at RubyConf 2013.
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...Pablo Godel
Un programador PHP/web no está completo sin conocimientos de administración de servidores. Cuando buscas un trabajo, seguramente te encontrarás con el requerimiento de conocimientos para configurar un servidor (Linux, Apache, MySQL and PHP). Las posibilidades de que consigas ese trabajo son mayores si conoces sobre servidores.
Short introduction to the basics of Perl testing and some resources for further reading. Includes basics of Test::Simple, Test::More, using Inline for multi-language testing, testing coverage, testing tests.
Teach your kids how to program with Python and the Raspberry PiJuan Gomez
RaspberryPis are the new frontier in enabling kids (and curious adults) to get access to an affordable and easy-to-program platform to build cool things. Over a million of these nifty little devices have been sold in less than a year and part of their popularity has been due to how easy it is to start programming on them.
In this session you'll learn how to get started with the Raspberry PI, initial set-up, configuration and some tips and tricks. Then we'll have a brief introduction to basic Python and we'll write a few simple programs that run on the RaspberryPI. The last section of the session will be dedicated to PyGame, we'll learn about surfaces, events, inputs, sprites, etc and demonstrate how to build very simple games that are as much fun for kids to write, than to play!
As present at FluentConf 2014 on March 11th, 2014.
AngularJS is one of the most popular, and powerful, JavaScript frameworks for building rich client-side applications. AngularJS is both simultaneously both simple to use and extremely full featured. With AngularJS a little goes a long way, but to make the most of it, you need to know what you’re doing.
In this workshop we will build a complex application to help exercise all of the salient points of the AngularJS framework.
Topics covered include, ngResource, directives, fitlers, routing, templates, controllers, testing, and more.
Code can be found at: https://github.com/markbates/fluent-2014
Presented at LA Ruby Conf on February 8th, 2014. A high level overview of Go, golang, and how it relates to Ruby. Packages such as Martini, Lineman.js, sqlx, Ginkgo, and more are covered.
Presented at RubyConf 11/10/2013
Introduced in Ruby 2.0, TracePoint is meant to help developers better instrument their code for debugging and performance reasons, but there's more to TracePoint than that!
In this talk we'll learn about TracePoint while building several example projects. Once we know the basics we'll use TracePoint to do things to Ruby that we couldn't have done otherwise.
By the end of this talk you'll be able to frighten and amaze your friends when you show them things like true abstract classes and interfaces in Ruby, just like Java! Yikes!
The world of JavaScript client-side frameworks is overflowing with contenders vying for the crown, but which one do you choose for your next project? Which one has what it takes?
In this talk we’ll look at the “Big 3”, AngularJS, Ember.js, and Backbone.js. We’ll compare them head to head, toe to toe. We’ll look at the pros and cons of each one. How do they handle form bindings? Talking to APIs? Code organization? Routing? Etc?
Who’ll come out victorious in this battle of the JavaScript frameworks, or will we all just come out bloodied and bruised on the other side? Guess we’ll find out!
Presented at Confoo (Montreal, Cananda)
Let's spend some time seeing how easy it can be to set up Mocha and Chai, a testing framework for JavaScript/CoffeeScript, in your application. We'll learn how to test that our jQuery or Backbone code is doing what it supposed to. It's really not as hard as you think it might be.
Presented at Confoo (Montreal, Canada) on 3/1/2013
In this talk I’ll show you how to build your application and get a working, well tested, and useable API in the process, with almost no extra overhead. I’ll also show you how to do it without making your controllers a mess of respond_to blocks. If anything, you’re controllers will become cleaner and leaner.
Presented on 8/14/2012 at BostonRb. This talk provides a nice intro and overview of what RubyMotion is and whether or not it's worth incorporating into your development toolkit.
Testing JavaScript/CoffeeScript with Mocha and ChaiMark
Presented at the Burlington Ruby Conference on July 28th.
Learn just how easy it is to test your JavaScript and CoffeeScript code. Don't be scared by events, DOM interactions, or AJAX requests any more!
Testing your JavaScript and/or CofffeeScript applications is not nearly as difficult as you think. Learn how to quickly setup Jasmine in your Rails application and start testing your *script applications now!
A fun filled tour through distributed programming with the Ruby standard library.
Presented on February 2nd, 2012 at RubyFuza in Cape Town, South Africa.
Distributed Programming with Ruby/Rubyconf 2010Mark
This talk will guide you through the various different aspects of building distributed applications with Ruby. While this talk will not do a deep dive into any technology we will look at libraries that ship with Ruby, such as DRb and Rinda, as well as other 3rd party libraries that are available, during the discussion and examples. We'll talk about remote method invocation (RMI), message queues, asynchronous tasks, map reduce, and background jobs, just to name a few. The discussion will include what those terms all mean and when and where you may want to use a particular technology.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
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
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
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/
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
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/
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
36. require
'minitest/autorun'
class
Foo
def
add(x,
y)
x
+
y
end
end
describe
Foo
do
describe
'#add'
do
it
'adds
two
numbers'
do
Foo.new.add(4,
2).must_equal
6
end
end
end
Friday, October 4, 13
37. require
'minitest/autorun'
class
Foo
def
add(x,
y)
x
+
y
end
end
class
TestFoo
<
MiniTest::Unit::TestCase
def
test_add
assert_equal
6,
Foo.new.add(4,
2)
end
end
Friday, October 4, 13
47. describe
Something
do
it
"does
something"
do
#
tests
go
here
end
end
Friday, October 4, 13
48. describe
Something
do
before
do
#
setup
code
goes
here
end
after
do
#
tear
down
code
goes
here
end
it
"does
something"
do
#
tests
go
here
end
end
Friday, October 4, 13
49. describe
Something
do
describe
'something
else'
do
it
"does
something"
do
#
tests
go
here
end
end
end
Friday, October 4, 13
50. describe
Something
do
let(:something)
{
Something.new(name:
'Widget')
}
describe
'something
else'
do
it
"does
something"
do
something.name.must_equal
'Widget'
end
end
end
Friday, October 4, 13
51. describe
Something
do
subject
{
Something.new(name:
'Widget')
}
describe
'something
else'
do
it
"does
something"
do
subject.name.must_equal
'Widget'
end
end
end
Friday, October 4, 13
52. describe
Something
do
subject
{
Something.new(name:
'Widget')
}
context
'something
else'
do
it
"does
something"
do
subject.name.must_equal
'Widget'
end
end
end
Friday, October 4, 13
53. scrap.rb:19:in
`block
in
<main>':
undefined
method
`context'
for
#<Class:
0x007fce92074b40>
(NoMethodError)
from
/Users/markbates/.../lib/minitest/spec.rb:71:in
`class_eval'
from
/Users/markbates/.../lib/minitest/spec.rb:71:in
`describe'
from
scrap.rb:15:in
`<main>'
Friday, October 4, 13
59. describe
Something
do
it
'does
something'
it
'does
something
else'
do
skip
end
end
Friday, October 4, 13
60. describe
Something
do
it
'does
something'
it
'does
something
else'
do
skip
end
it
'does
another
thing'
do
skip
"here's
some
reason
why"
end
end
Friday, October 4, 13
65. describe
Something
do
it
"does
something"
do
lambda
{nil
/
2}.must_raise
NoMethodError
["one",
"two"].must_include
"one"
["one",
"two"].wont_include
"three"
nil.must_be_nil
[].must_be
:empty?
end
end
Friday, October 4, 13
68. class
TestSomething
<
MiniTest::Unit::TestCase
def
test_something
#tests
go
here
end
end
Friday, October 4, 13
69. class
TestSomething
<
MiniTest::Unit::TestCase
def
setup
#
setup
code
goes
here
end
def
teardown
#
tear
down
code
goes
here
end
def
test_something
#
tests
go
here
end
end
Friday, October 4, 13
70. class
TestSomething
<
MiniTest::Unit::TestCase
def
test_something
assert
true
end
end
Friday, October 4, 13
71. class
TestSomething
<
MiniTest::Unit::TestCase
def
test_something
assert
true
end
class
TestSomethingElse
<
MiniTest::Unit::TestCase
def
test_something_else
assert
true
end
end
end
Friday, October 4, 13
76. class
SomethingTest
<
MiniTest::Unit::TestCase
def
test_something
skip
end
end
Friday, October 4, 13
77. class
SomethingTest
<
MiniTest::Unit::TestCase
def
test_something
skip
end
def
test_something_else
skip
"here's
some
reason
why"
end
end
Friday, October 4, 13
78. #
Running
tests:
SS
Finished
tests
in
0.000663s,
3016.5913
tests/s,
0.0000
assertions/s.
2
tests,
0
assertions,
0
failures,
0
errors,
2
skips
Friday, October 4, 13
84. describe
Something
do
let(:something)
{
MiniTest::Mock.new
}
it
"does
something"
do
end
end
Friday, October 4, 13
85. describe
Something
do
let(:something)
{
MiniTest::Mock.new
}
it
"does
something"
do
something.expect(:name,
'Widget')
end
end
Friday, October 4, 13
86. describe
Something
do
let(:something)
{
MiniTest::Mock.new
}
it
"does
something"
do
something.expect(:name,
'Widget')
something.name.must_equal
'Widget'
end
end
Friday, October 4, 13
87. describe
Something
do
let(:something)
{
MiniTest::Mock.new
}
it
"does
something"
do
something.expect(:name,
'Widget')
something.name.must_equal
'Widget'
something.verify
end
end
Friday, October 4, 13
88. describe
Something
do
let(:something)
{
MiniTest::Mock.new
}
it
"does
something"
do
something.expect(:name,
'Widget')
something.verify
end
end
Friday, October 4, 13
90. describe
Something
do
let(:something)
{
Something.new(name:
'Widget')
}
it
"does
something"
do
end
end
Friday, October 4, 13
91. describe
Something
do
let(:something)
{
Something.new(name:
'Widget')
}
it
"does
something"
do
something.stub(:name,
'Thingy')
do
end
end
end
Friday, October 4, 13
92. describe
Something
do
let(:something)
{
Something.new(name:
'Widget')
}
it
"does
something"
do
something.stub(:name,
'Thingy')
do
something.name.must_equal
'Thingy'
end
end
end
Friday, October 4, 13
94. describe
"Something"
do
let(:something)
{
OpenStruct.new(name:
'Widget')
}
it
"does
something"
do
something.name.must_equal
'Widget'
end
end
Friday, October 4, 13
95. describe
Something
do
let(:something)
{
Something.new(name:
'Widget')
}
it
"does
something"
do
something.name.must_equal
'Thingy'
end
end
Friday, October 4, 13
96. describe
Something
do
let(:something)
{
Something.new(name:
'Widget')
}
it
"does
something"
do
def
something.name
"Thingy"
end
something.name.must_equal
'Thingy'
end
end
Friday, October 4, 13
102. module
MiniTest::Assertions
def
assert_equals_rounded(rounded,
decimal)
assert
rounded
==
decimal.round,
"Expected
#{decimal}
to
round
to
#{rounded}"
end
end
Friday, October 4, 13
103. module
MiniTest::Assertions
def
assert_equals_rounded(rounded,
decimal)
assert
rounded
==
decimal.round,
"Expected
#{decimal}
to
round
to
#{rounded}"
end
def
refute_equals_rounded(rounded,
decimal)
end
end
Friday, October 4, 13
104. module
MiniTest::Assertions
def
assert_equals_rounded(rounded,
decimal)
assert
rounded
==
decimal.round,
"Expected
#{decimal}
to
round
to
#{rounded}"
end
def
refute_equals_rounded(rounded,
decimal)
assert
rounded
!=
decimal.round,
"Expected
#{decimal}
to
not
round
to
#{rounded}"
end
end
Friday, October 4, 13
105. module
MiniTest::Assertions
def
assert_equals_rounded(rounded,
decimal)
assert
rounded
==
decimal.round,
"Expected
#{decimal}
to
round
to
#{rounded}"
end
def
refute_equals_rounded(rounded,
decimal)
assert
rounded
!=
decimal.round,
"Expected
#{decimal}
to
not
round
to
#{rounded}"
end
end
Numeric.infect_an_assertion
:assert_equals_rounded,
:must_round_to
Numeric.infect_an_assertion
:refute_equals_rounded,
:wont_round_to
Friday, October 4, 13
106. describe
Something
do
it
"does
something"
do
1.2.must_round_to
1
1.7.wont_round_to
1
end
end
Friday, October 4, 13
109. ENV["RAILS_ENV"]
=
"test"
require
File.expand_path("../../config/environment",
__FILE__)
require
"rails/test_help"
require
"minitest/rails"
#
Add
`gem
"minitest-‐rails-‐capybara"`
to
the
test
group
of
your
Gemfile
#
and
uncomment
the
following
if
you
want
Capybara
feature
tests
#
require
"minitest/rails/capybara"
Friday, October 4, 13
110. ENV["RAILS_ENV"]
=
"test"
require
File.expand_path("../../config/environment",
__FILE__)
require
"rails/test_help"
require
"minitest/rails"
#
Add
`gem
"minitest-‐rails-‐capybara"`
to
the
test
group
of
your
Gemfile
#
and
uncomment
the
following
if
you
want
Capybara
feature
tests
#
require
"minitest/rails/capybara"
class
ActiveSupport::TestCase
#
Add
more
helper
methods
to
be
used
by
all
tests
here...
before
do
end
after
do
end
end
Friday, October 4, 13
111. ENV["RAILS_ENV"]
=
"test"
require
File.expand_path("../../config/environment",
__FILE__)
require
"rails/test_help"
require
"minitest/rails"
#
Add
`gem
"minitest-‐rails-‐capybara"`
to
the
test
group
of
your
Gemfile
#
and
uncomment
the
following
if
you
want
Capybara
feature
tests
#
require
"minitest/rails/capybara"
module
MiniTest::Expectations
infect_an_assertion
:assert_redirected_to,
:must_redirect_to
infect_an_assertion
:assert_template,
:must_render_template
infect_an_assertion
:assert_response,
:must_respond_with
end
class
ActiveSupport::TestCase
#
Add
more
helper
methods
to
be
used
by
all
tests
here...
before
do
end
after
do
end
end
Friday, October 4, 13
112. rake
minitest
#
Run
default
tests
rake
minitest:all
#
Run
all
tests
rake
minitest:all:quick
#
Run
all
tests,
ungrouped
for
quicker
execution
rake
minitest:controllers
#
Runs
tests
under
test/controllers
rake
minitest:lib
#
Runs
tests
under
test/lib
rake
minitest:models
#
Runs
tests
under
test/models
Friday, October 4, 13
114. ruby
-‐I
test
test/models/user_test.rb
Friday, October 4, 13
115. describe
FeedController
do
describe
'#index'
do
it
'renders
an
atom
feed'
do
get
:index
must_render_template
:index
end
it
'redirects
from
an
RSS
feed'
do
get
:index,
format:
'rss'
must_redirect_to
feed_path(format:
:atom)
end
end
end
Friday, October 4, 13