The document discusses performance testing and introduces the Gatling load testing tool. It provides an overview of why performance testing is difficult due to the need to simulate production environments. It then discusses Gatling's domain specific language (DSL) for defining load tests and scenarios, including features for HTTP requests, checks, looping, conditions, error handling, setup, feeders and reporting. Gatling allows defining and executing distributed load tests across multiple machines.
SCRUM is a framework for managing complex projects that emphasizes iterative development, daily self-organization, and regular inspection of progress and results. Key components of SCRUM include roles like the Product Owner, Scrum Master, and Development Team. Artifacts include the Product Backlog, Sprint Backlog, and Increment. Events in each Sprint include Sprint Planning, Daily Scrums, Sprint Execution, Sprint Review, and Sprint Retrospective. The goal is to optimize predictability, risk control, and value delivery through short cycles of work called Sprints.
This slide share will help users to understand the agile software development methodology and how does it work. It also defines the whole process to implement scrum methodology.
This is one hour free webinar about Agile principles for software development.
Main purpose for this webinar is to give attendees overview of Agile methodology for software development and provide understanding of main Agile principles.
What is agile? Where did it come from, and how can it help me?
This session will go through a history of agile, including the origins of waterfall, the Toyota Production System and lean manufacturing, the creation of the agile manifesto, and how these all lead to the modern agile development frameworks we use today. By exploring the original design and intent behind agile principles and practices, we'll also uncover common pitfalls to agile adoption, and insights into overcoming them.
This document discusses PostgreSQL database architecture patterns for running PostgreSQL at scale when a relational database as a service like Amazon RDS won't meet needs. It describes challenges faced with MySQL, Redshift and Vertica and how PostgreSQL was better suited through techniques like partitioning by date, TOAST compression, foreign data wrappers, and poor man's parallel processing. Key takeaways are that PostgreSQL supported scaling to petabytes of data, sub-second queries across large date ranges, and custom extensions needed while avoiding limitations and expenses of other database options.
This document provides an overview of Agile and Scrum methodologies. It describes the iterative incremental model and compares it to the waterfall model. The key aspects of Agile include iterative development, early delivery of working software, collaboration between business and developers, self-organizing teams, and face-to-face communication. Scrum is then introduced as a framework for implementing Agile. The core Scrum roles, events, artifacts, user stories, estimation techniques, and burn down charts are defined and explained at a high level.
SCRUM is a framework for managing complex projects that emphasizes iterative development, daily self-organization, and regular inspection of progress and results. Key components of SCRUM include roles like the Product Owner, Scrum Master, and Development Team. Artifacts include the Product Backlog, Sprint Backlog, and Increment. Events in each Sprint include Sprint Planning, Daily Scrums, Sprint Execution, Sprint Review, and Sprint Retrospective. The goal is to optimize predictability, risk control, and value delivery through short cycles of work called Sprints.
This slide share will help users to understand the agile software development methodology and how does it work. It also defines the whole process to implement scrum methodology.
This is one hour free webinar about Agile principles for software development.
Main purpose for this webinar is to give attendees overview of Agile methodology for software development and provide understanding of main Agile principles.
What is agile? Where did it come from, and how can it help me?
This session will go through a history of agile, including the origins of waterfall, the Toyota Production System and lean manufacturing, the creation of the agile manifesto, and how these all lead to the modern agile development frameworks we use today. By exploring the original design and intent behind agile principles and practices, we'll also uncover common pitfalls to agile adoption, and insights into overcoming them.
This document discusses PostgreSQL database architecture patterns for running PostgreSQL at scale when a relational database as a service like Amazon RDS won't meet needs. It describes challenges faced with MySQL, Redshift and Vertica and how PostgreSQL was better suited through techniques like partitioning by date, TOAST compression, foreign data wrappers, and poor man's parallel processing. Key takeaways are that PostgreSQL supported scaling to petabytes of data, sub-second queries across large date ranges, and custom extensions needed while avoiding limitations and expenses of other database options.
This document provides an overview of Agile and Scrum methodologies. It describes the iterative incremental model and compares it to the waterfall model. The key aspects of Agile include iterative development, early delivery of working software, collaboration between business and developers, self-organizing teams, and face-to-face communication. Scrum is then introduced as a framework for implementing Agile. The core Scrum roles, events, artifacts, user stories, estimation techniques, and burn down charts are defined and explained at a high level.
Este documento describe la metodología ágil Scrum para el desarrollo de software. Scrum se basa en iteraciones cortas llamadas "sprints" de aproximadamente 30 días, en las que el equipo trabaja para completar un incremento de funcionalidad. El documento explica los roles, reuniones y procesos clave de Scrum como la planificación del sprint, las reuniones diarias y la revisión del sprint. También resume algunas de las ventajas de Scrum como la capacidad de adaptarse a cambios y entregar valor al cliente de forma incremental.
The document discusses Scrum, an agile framework for managing product development. It describes Scrum roles like Product Owner and Scrum Master. Key Scrum events are also outlined such as sprint planning, daily standups, sprint demos and retrospectives. Benefits of Scrum mentioned are rapid development, transparency and embracing change.
Scrum is an agile framework for managing product development. It involves self-organizing cross-functional teams who break their work into actions that can be completed within timeboxed iterations, called sprints, no longer than one month to build usable software. Key roles include the Product Owner who manages priorities from stakeholders, the Scrum Master who ensures Scrum is followed, and the Development Team. Artifacts include the Product Backlog of features, Sprint Backlog of tasks, and increments of functionality delivered each sprint. The process consists of sprints, daily stand-ups, sprint planning and review meetings, and retrospectives for continuous improvement.
This session is continuation of “Automated Production Ready ML at Scale” in last Spark AI Summit at Europe. In this session you will learn about how H&M evolves reference architecture covering entire MLOps stack addressing a few common challenges in AI and Machine learning product, like development efficiency, end to end traceability, speed to production, etc.
What is Scrum? How to implement Scrum?
- This presentation describes the basic elements of the Scrum Framework.
- My goal is to provide an organized view that will help a novice understand and implement the Scrum foundation quickly.
This document provides an introduction to Scrum, an agile framework for project management. It discusses the principles of agile development and Scrum, including self-organizing cross-functional teams, short sprint cycles, daily stand-ups, product backlogs and user stories, estimation techniques, and retrospectives for continuous improvement. The Scrum framework emphasizes empiricism, adaptation, transparency, inspection, and frequent delivery of working software.
Este documento describe la metodología ágil Scrum para el desarrollo de proyectos de software. Scrum se basa en iteraciones cortas llamadas sprints con equipos multifuncionales que entregan incrementos de funcionalidad frecuentemente. Los roles clave son el product owner, scrum master y el equipo de desarrollo. Las reuniones diarias, retrospectivas y revisión garantizan el progreso y la mejora continua.
This document discusses technical stories and architecture work in agile software development. It defines technical stories as stories that focus on technical goals rather than user goals. It discusses why technical stories are important for managing technical debt, architecture, and educating the technical team. It provides examples of technical stories and best practices for writing, accepting, and tracking them. The document also discusses architecture, why it is important, and how to plan architecture work through technical stories, architectural runways, and feedback loops.
Waterfall vs agile approach scrum framework and best practices in software d...Tayfun Bilsel
The document discusses various topics related to software development approaches, including:
1. The differences between waterfall and agile approaches. Agile focuses on iterative development and responding to change over extensive planning.
2. Common problems with traditional project management like late delivery and budget overruns.
3. An overview of the Scrum framework, including roles, artifacts, ceremonies, and best practices. Scrum uses short iterations called sprints to iteratively deliver working software.
4. Recommendations to customize Scrum by incorporating elements of eXtreme Programming (XP) and lean principles to eliminate waste and continually improve processes.
Este documento introduce Scrum, una metodología ágil para el desarrollo de software. Scrum se basa en iteraciones cortas llamadas sprints que duran típicamente de 2 a 4 semanas. Los roles clave son el Product Owner, el Scrum Master y el equipo. El ciclo incluye planificación, revisión y retrospectiva de sprints, así como reuniones diarias. Los artefactos principales son el backlog del producto y el backlog del sprint.
This document provides an overview of different software development processes including the waterfall model, iterative model, Rational Unified Process (RUP), and Agile Development Process (ADP). It describes the key aspects of each process including phases, roles, artifacts, and ceremonies. Specifically, it provides detailed explanations of Scrum, an agile methodology, including Scrum roles like Product Owner and Scrum Master, ceremonies like the Daily Scrum, and artifacts like the Product Backlog and Sprint Backlog. The document concludes with references for further information.
Scrum is an agile framework for managing product development. It defines three roles - Scrum Master, Product Owner, and Development Team - and three artifacts - Product Backlog, Sprint Backlog, and Product Increment. It also includes five ceremonies - Product Backlog Refinement, Sprint Planning, Daily Scrum, Sprint Review, and Sprint Retrospective. Scrum was first defined in 1986 and evolved through the 1990s, with Ken Schwaber and Jeff Sutherland formalizing the method in 2001 in their book Agile Software Development with Scrum.
Druid provides sub-second query latency and Flink provides SQL on streams allowing rich transformation/enrichment of events as it happens. In this talk we will learn how Lyft
uses flink sql and druid together to support real time analytics.
Meetup: https://www.meetup.com/druidio/events/252515792/
The document provides an overview of Apache Airflow, an open-source workflow management platform for data pipelines. It describes how Airflow allows users to programmatically author, schedule and monitor workflows or data pipelines via a GUI. It also outlines key Airflow concepts like DAGs (directed acyclic graphs), tasks, operators, sensors, XComs (cross-communication), connections, variables and executors that allow parallel task execution.
Agile evolution lifecycle - From implementing Agile to being AgileMichal Epstein
This document outlines an agile evolution lifecycle consisting of adoption, adjustment, and advancement. It discusses scaling challenges with initial agile adoption within teams and a lack of visibility outside teams. The adjustment phase emphasizes focusing on small, well-defined user stories and taking responsibility for deliveries. Advancement challenges working agile in organizations needing roadmaps for customers and discusses prioritizing features by business value and cost to fit within scope. The final culture stage involves organizational unity across functions, adapting approaches, and focusing on short cycles of gradual value to keep customers happy.
The document discusses an agile transformation process with three key ingredients: adopting practices and evolving them, building teams to model new behaviors, and finding tools to improve cooperation. It states that after agile transformations, project success rates increased to 80% and profitability increased. The transformation involves internalizing agile principles, building an open culture, and continuous improvement. Pilot projects are used to test changes through workshops, trainings and retrospectives. Barriers to enterprise-wide transformations include organizational behavior problems and a lack of transformational leadership. Benefits include increased agility, faster development cycles, higher customer satisfaction, and increased business value and employee happiness.
Agile Software Development, Nature of Agile Software Development, Tools in Agile Software Development, Phases of Agile Software Development, SCRUM. This presentation was done to present about Agile Software Development in our Rapid Application Development module.
What is the purpose of Sprint planning meeting in Agile?Mario Lucero
What is the purpose of the Sprint planning meeting?
When you’re working within an agile management framework, you accomplish discrete tasks within the framework of a sprint. On the first day of each sprint the scrum team holds the sprint planning meeting.
The document discusses performance testing and introduces the Gatling load testing tool. It summarizes that Gatling uses a non-blocking architecture with Scala and Akka and provides a DSL for defining test scenarios. Gatling can simulate load, monitor performance, and generate detailed reports on test results.
The document discusses performance testing and summarizes that:
1. Performance tests should closely simulate production environments including hardware, software, load, and isolation.
2. Extensive monitoring, logging, and profiling data should be collected to identify bottlenecks based on data rather than intuition.
3. Performance testing can be misleading without sufficient data due to issues like coordinated omission, so tools like Gatling and WRK2 that avoid this problem are recommended.
Este documento describe la metodología ágil Scrum para el desarrollo de software. Scrum se basa en iteraciones cortas llamadas "sprints" de aproximadamente 30 días, en las que el equipo trabaja para completar un incremento de funcionalidad. El documento explica los roles, reuniones y procesos clave de Scrum como la planificación del sprint, las reuniones diarias y la revisión del sprint. También resume algunas de las ventajas de Scrum como la capacidad de adaptarse a cambios y entregar valor al cliente de forma incremental.
The document discusses Scrum, an agile framework for managing product development. It describes Scrum roles like Product Owner and Scrum Master. Key Scrum events are also outlined such as sprint planning, daily standups, sprint demos and retrospectives. Benefits of Scrum mentioned are rapid development, transparency and embracing change.
Scrum is an agile framework for managing product development. It involves self-organizing cross-functional teams who break their work into actions that can be completed within timeboxed iterations, called sprints, no longer than one month to build usable software. Key roles include the Product Owner who manages priorities from stakeholders, the Scrum Master who ensures Scrum is followed, and the Development Team. Artifacts include the Product Backlog of features, Sprint Backlog of tasks, and increments of functionality delivered each sprint. The process consists of sprints, daily stand-ups, sprint planning and review meetings, and retrospectives for continuous improvement.
This session is continuation of “Automated Production Ready ML at Scale” in last Spark AI Summit at Europe. In this session you will learn about how H&M evolves reference architecture covering entire MLOps stack addressing a few common challenges in AI and Machine learning product, like development efficiency, end to end traceability, speed to production, etc.
What is Scrum? How to implement Scrum?
- This presentation describes the basic elements of the Scrum Framework.
- My goal is to provide an organized view that will help a novice understand and implement the Scrum foundation quickly.
This document provides an introduction to Scrum, an agile framework for project management. It discusses the principles of agile development and Scrum, including self-organizing cross-functional teams, short sprint cycles, daily stand-ups, product backlogs and user stories, estimation techniques, and retrospectives for continuous improvement. The Scrum framework emphasizes empiricism, adaptation, transparency, inspection, and frequent delivery of working software.
Este documento describe la metodología ágil Scrum para el desarrollo de proyectos de software. Scrum se basa en iteraciones cortas llamadas sprints con equipos multifuncionales que entregan incrementos de funcionalidad frecuentemente. Los roles clave son el product owner, scrum master y el equipo de desarrollo. Las reuniones diarias, retrospectivas y revisión garantizan el progreso y la mejora continua.
This document discusses technical stories and architecture work in agile software development. It defines technical stories as stories that focus on technical goals rather than user goals. It discusses why technical stories are important for managing technical debt, architecture, and educating the technical team. It provides examples of technical stories and best practices for writing, accepting, and tracking them. The document also discusses architecture, why it is important, and how to plan architecture work through technical stories, architectural runways, and feedback loops.
Waterfall vs agile approach scrum framework and best practices in software d...Tayfun Bilsel
The document discusses various topics related to software development approaches, including:
1. The differences between waterfall and agile approaches. Agile focuses on iterative development and responding to change over extensive planning.
2. Common problems with traditional project management like late delivery and budget overruns.
3. An overview of the Scrum framework, including roles, artifacts, ceremonies, and best practices. Scrum uses short iterations called sprints to iteratively deliver working software.
4. Recommendations to customize Scrum by incorporating elements of eXtreme Programming (XP) and lean principles to eliminate waste and continually improve processes.
Este documento introduce Scrum, una metodología ágil para el desarrollo de software. Scrum se basa en iteraciones cortas llamadas sprints que duran típicamente de 2 a 4 semanas. Los roles clave son el Product Owner, el Scrum Master y el equipo. El ciclo incluye planificación, revisión y retrospectiva de sprints, así como reuniones diarias. Los artefactos principales son el backlog del producto y el backlog del sprint.
This document provides an overview of different software development processes including the waterfall model, iterative model, Rational Unified Process (RUP), and Agile Development Process (ADP). It describes the key aspects of each process including phases, roles, artifacts, and ceremonies. Specifically, it provides detailed explanations of Scrum, an agile methodology, including Scrum roles like Product Owner and Scrum Master, ceremonies like the Daily Scrum, and artifacts like the Product Backlog and Sprint Backlog. The document concludes with references for further information.
Scrum is an agile framework for managing product development. It defines three roles - Scrum Master, Product Owner, and Development Team - and three artifacts - Product Backlog, Sprint Backlog, and Product Increment. It also includes five ceremonies - Product Backlog Refinement, Sprint Planning, Daily Scrum, Sprint Review, and Sprint Retrospective. Scrum was first defined in 1986 and evolved through the 1990s, with Ken Schwaber and Jeff Sutherland formalizing the method in 2001 in their book Agile Software Development with Scrum.
Druid provides sub-second query latency and Flink provides SQL on streams allowing rich transformation/enrichment of events as it happens. In this talk we will learn how Lyft
uses flink sql and druid together to support real time analytics.
Meetup: https://www.meetup.com/druidio/events/252515792/
The document provides an overview of Apache Airflow, an open-source workflow management platform for data pipelines. It describes how Airflow allows users to programmatically author, schedule and monitor workflows or data pipelines via a GUI. It also outlines key Airflow concepts like DAGs (directed acyclic graphs), tasks, operators, sensors, XComs (cross-communication), connections, variables and executors that allow parallel task execution.
Agile evolution lifecycle - From implementing Agile to being AgileMichal Epstein
This document outlines an agile evolution lifecycle consisting of adoption, adjustment, and advancement. It discusses scaling challenges with initial agile adoption within teams and a lack of visibility outside teams. The adjustment phase emphasizes focusing on small, well-defined user stories and taking responsibility for deliveries. Advancement challenges working agile in organizations needing roadmaps for customers and discusses prioritizing features by business value and cost to fit within scope. The final culture stage involves organizational unity across functions, adapting approaches, and focusing on short cycles of gradual value to keep customers happy.
The document discusses an agile transformation process with three key ingredients: adopting practices and evolving them, building teams to model new behaviors, and finding tools to improve cooperation. It states that after agile transformations, project success rates increased to 80% and profitability increased. The transformation involves internalizing agile principles, building an open culture, and continuous improvement. Pilot projects are used to test changes through workshops, trainings and retrospectives. Barriers to enterprise-wide transformations include organizational behavior problems and a lack of transformational leadership. Benefits include increased agility, faster development cycles, higher customer satisfaction, and increased business value and employee happiness.
Agile Software Development, Nature of Agile Software Development, Tools in Agile Software Development, Phases of Agile Software Development, SCRUM. This presentation was done to present about Agile Software Development in our Rapid Application Development module.
What is the purpose of Sprint planning meeting in Agile?Mario Lucero
What is the purpose of the Sprint planning meeting?
When you’re working within an agile management framework, you accomplish discrete tasks within the framework of a sprint. On the first day of each sprint the scrum team holds the sprint planning meeting.
The document discusses performance testing and introduces the Gatling load testing tool. It summarizes that Gatling uses a non-blocking architecture with Scala and Akka and provides a DSL for defining test scenarios. Gatling can simulate load, monitor performance, and generate detailed reports on test results.
The document discusses performance testing and summarizes that:
1. Performance tests should closely simulate production environments including hardware, software, load, and isolation.
2. Extensive monitoring, logging, and profiling data should be collected to identify bottlenecks based on data rather than intuition.
3. Performance testing can be misleading without sufficient data due to issues like coordinated omission, so tools like Gatling and WRK2 that avoid this problem are recommended.
Performance tests with Gatling are difficult for three main reasons:
1) The test environment must closely simulate production in terms of hardware, software, and load.
2) Proper infrastructure for monitoring, logging, and isolating tests is required.
3) Performance intuition can be wrong, so statistics like percentiles must be used rather than averages.
Eric Holscher gave a talk on testing in Django at Djangocon 2009. He discussed the state of testing in Django and how it has improved. He encouraged testing applications to ensure code quality and ability to adapt to changes. Holscher provided an overview of different types of tests like doctests, unit tests, and functional tests and tools available for testing. He highlighted goals for continued improvements to testing in Django like test-only models and better test coverage reporting.
Mock what? What Mock?Learn What is Mocking, and how to use Mocking with ColdFusion testing, development, and continuous integration. Look at Mocking and Stubbing with a touch of Theory and a lot of Examples, including what you could test, and what you should test… and what you shouldn't test (but might be fun).
This document discusses property-based testing using ScalaCheck. It introduces ScalaCheck as a tool for checking properties on random datasets generated by generators. Properties are logical statements that functions must satisfy, expressed using quantifiers and assertions. Generators are used to generate random test data, and built-in generators as well as custom generators are described. The document provides examples of using generators to test properties and discusses features like collecting generated values, classifying results, and stateful testing. Advantages and limitations of property-based testing are also summarized.
This document discusses automated acceptance testing for ASP.NET applications. It begins with a demonstration of using Selenium WebDriver to automate a Google search. The document then covers topics like the testing pipeline, challenges with real-world testing, focusing tests on solving specific pain points, and designing UI for testability. It emphasizes that UI tests should validate scenarios rather than individual actions and should focus on the most critical tests. The document also discusses tools, techniques, and strategies for testing databases, legacy systems, and more.
In 30 minutes I would like to show:
1. Why is it worth to spend some time and learn Gatling - a tool for integration/performance test of your web application?
2. Under what circumstances it is necessary to have Gatling in your toolbox?
3. What are Gatling cons and what kind of problems can you expect?
For sure there is no silver bullet in testing tools area, but you will definitely love Gatling DSL.
Nasal passages allow air to flow into and out of the lungs. Django's built-in testing framework has some pain points such as tests being slow, crowded, and overbroad. Django Nose improves upon Django's testing framework by enabling test discovery, attributes, generators, and XML output to make tests faster, more flexible, and scalable.
Unit testing in iOS featuring OCUnit, GHUnit & OCMockRobot Media
This document provides an overview and introduction to unit testing in iOS. It discusses OCUnit, GHUnit and OCMock, which are common frameworks for unit testing, mock objects, and assertions in Objective-C and iOS. The key points covered include:
- OCUnit is the default unit testing framework for Objective-C, with built-in support in Xcode.
- GHUnit is an alternative open source framework that provides a GUI runner and additional macros.
- OCMock allows mocking objects to control and isolate dependencies in tests.
- Examples are provided of writing tests with OCUnit, GHUnit and using mock objects with OCMock.
- Reasons for unit testing like fixing bugs early and easier
This document provides an overview of Spock, a testing framework for Java and Groovy. It describes how to include Spock tests in a project, run Spock tests, debug Spock tests, view test coverage, and integrate Spock tests with Sonar. It also explains Spock specifications, feature methods, blocks like setup, when/then, expect, and cleanup. It demonstrates how to write conditions, handle exceptions, create helper methods, mocks, stubs, and spies in Spock tests.
This document provides an overview of Spock, a testing framework for Java and Groovy. It describes how to include Spock tests in a project, run Spock tests, debug Spock tests, view test coverage, and integrate Spock tests with Sonar. It also explains Spock specifications, feature methods, blocks like setup, when/then, expect, and cleanup. It demonstrates how to write conditions, handle exceptions, create helper methods, mocks, stubs, and spies in Spock tests.
This document discusses various tools and techniques for testing JavaScript code, including:
1. Unit testing frameworks like Test.Unit that allow writing tests with assertions and automatically running tests.
2. Using Rake tasks to automate running tests and controlling browsers.
3. Behavior-driven development (BDD) techniques like RSpec that allow writing tests as should/is statements directly on objects.
4. Debugging tools like Firebug, Safari Web Inspector, and Microsoft Script Debugger for troubleshooting JavaScript issues.
Aiming at complete code coverage by unit tests tends to be cumbersome, especially for cases where external API calls a part of the code base. For these reasons, Python comes with the unittest.mock library, appearing to be a powerful companion in replacing parts of the system under test.
Heavenly hell – automated tests at scale wojciech seligaAtlassian
The document summarizes Atlassian's journey to improve their automated test suite over 2.5 years. They had over 20,000 slow and fragile tests that resulted in dispirited developers accepting failures as normal. Through efforts like restructuring tests, parallelizing execution, removing flaky tests, and splitting the codebase into modules, they were able to reduce build times from over 2 hours to under 1 hour and make passes the norm. Continuous measurement, removing technical debt, and prioritizing test performance were key to their success in improving development feedback loops.
Testing and validating spark programs - Strata SJ 2016Holden Karau
Apache Spark is a fast, general engine for big data processing. As Spark jobs are used for more mission-critical tasks, it is important to have effective tools for testing and validation. Expanding her Strata NYC talk, “Effective Testing of Spark Programs,” Holden Karau details reasonable validation rules for production jobs and best practices for creating effective tests, as well as options for generating test data.
Holden explores best practices for generating complex test data, setting up performance testing, as well as basic unit testing. The validation component will focus on how to create reasonable validation rules given the constraints of Spark’s accumulators.
Unit testing of Spark programs is deceptively simple. Holden looks at how unit testing of Spark itself is accomplished and distills a number of best practices into traits we can use. This includes dealing with local mode cluster creation and tear down during test suites, factoring our functions to increase testability, mock data for RDDs, and mock data for Spark SQL. A number of interesting problems also arise when testing Spark Streaming programs, including handling of starting and stopping the streaming context, providing mock data, and collecting results, and Holden pulls out simple takeaways for dealing with these issues.
Holden also explores Spark’s internal methods for generating random data, as well as options using external libraries to generate effective test datasets (for both small- and large-scale testing). And while acceptance tests are not always thought of as part of testing, they share a number of similarities, so Holden discusses which counters Spark programs generate that we can use for creating acceptance tests, best practices for storing historic values, and some common counters we can easily use to track the success of our job, all while working within the constraints of Spark’s accumulators.
The big data platforms of many organisations are underpinned by a technology that is soon to celebrate its 45th birthday: SQL. This industry stalwart is applied in a multitude of critical points in business data flows; the results that these processes generate may significantly influence business and financial decision making. However, the SQL ecosystem has been overlooked and ignored by more recent innovations in the field of software engineering best practices such as fine grained automated testing and code quality metrics. This exposes organisations to poor application maintainability, high bug rates, and ultimately corporate risk.
We present the work we’ve been doing at Hotels.com to address these issues by bringing some advanced software engineering practices and open source tools to the realm of Apache Hive SQL. We first define the relevance of such approaches and demonstrate how automated testing can be applied to Hive SQL using HiveRunner, a JUnit based testing framework. We next consider how best to structure Hive queries to yield meaningful test scenarios that are maintainable and performant. Finally, we demonstrate how test coverage reports can highlight areas of risk in SQL codebases and weaknesses in the testing process. We do this using Mutant Swarm, an open source mutation testing tool for SQL languages developed by Hotels.com that can deliver insights similar to those produced by Java focused tools such as Jacoco and PIT.
- Test-First Teaching involves writing tests before writing code to make the tests pass one by one. This helps students learn incrementally and receive immediate feedback.
- It encourages writing small, focused tests and code to address one problem at a time. Students learn by seeing their code pass each test.
- Research has found Test-First Teaching effective for learning programming languages like Ruby based on various studies and examples developed by independent instructors over time.
Similar to Performance tests with Gatling (extended) (20)
The document discusses event sourcing and command query responsibility segregation (CQRS) patterns at different levels of implementation. It covers the benefits of event sourcing including having a complete log of state changes, improved debugging, performance, scalability, and microservices integration. It also discusses challenges with increasing complexity, eventual consistency, and different event store and serialization options.
Event sourcing is a pattern where all changes to application state are stored as a sequence of events. This allows the entire history and state of the application to be reconstructed from those events. The document discusses event sourcing and CQRS at different levels of implementation, including using a relational database, event buses, and distributed event stores. It also covers challenges of event sourcing like performance, scalability, consistency, and schema evolution over time.
Event sourcing - what could possibly go wrong ? Devoxx PL 2021Andrzej Ludwikowski
Yet another presentation about Event Sourcing? Yes and no. Event Sourcing is a really great concept. Some could say it’s a Holy Grail of the software architecture. I might agree with that, while remembering that everything comes with a price. This session is a summary of my experience with ES gathered while working on 3 different commercial products. Instead of theoretical aspects, I will focus on possible challenges with ES implementation. What could explode (very often with delayed ignition)? How and where to store events effectively? What are possible schema evolution solutions? How to achieve the highest level of scalability and live with eventual consistency? And many other interesting topics that you might face when experimenting with ES.
Yet another presentation about Event Sourcing? Yes and no. Event Sourcing is a really great concept. Some could say it’s a Holy Grail of the software architecture. I might agree with that, while remembering that everything comes with a price. This session is a summary of my experience with ES gathered while working on 3 different commercial products. Instead of theoretical aspects, I will focus on possible challenges with ES implementation. What could explode (very often with delayed ignition)? How and where to store events effectively? What are possible schema evolution solutions? How to achieve the highest level of scalability and live with eventual consistency? And many other interesting topics that you might face when experimenting with ES.
Cassandra is a distributed database designed to handle large amounts of data across many servers. It provides high availability with no single point of failure and linear scalability. Data is distributed across nodes and replicated for fault tolerance. Writes are fast by using an append-only commit log and can be configured for different consistency levels.
This document provides an overview of Cassandra, including:
- Why Cassandra is used for big data applications handling large volumes of data.
- How Cassandra's distributed architecture provides high availability and horizontal scalability.
- Details of Cassandra's write path, including how writes are replicated across nodes and how consistency is ensured.
- Examples of modeling data in Cassandra, including choices for primary keys, clustering columns, and other techniques.
- Common use cases where Cassandra is applicable, such as sensor data, fraud detection, and personalization engines.
This document discusses annotation processing tools (APT) and how to use builders to generate code. It describes APTs purpose for source code generation and how to implement an APT using supported annotation types and lifecycle callbacks. It also provides tips for using builders over mocks, separating builder logic, and debugging APTs issues like output dependencies.
Mobile App Development Company In Noida | Drona InfotechDrona Infotech
Drona Infotech is a premier mobile app development company in Noida, providing cutting-edge solutions for businesses.
Visit Us For : https://www.dronainfotech.com/mobile-application-development/
Malibou Pitch Deck For Its €3M Seed Roundsjcobrien
French start-up Malibou raised a €3 million Seed Round to develop its payroll and human resources
management platform for VSEs and SMEs. The financing round was led by investors Breega, Y Combinator, and FCVC.
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemPeter Muessig
Learn about the latest innovations in and around OpenUI5/SAPUI5: UI5 Tooling, UI5 linter, UI5 Web Components, Web Components Integration, UI5 2.x, UI5 GenAI.
Recording:
https://www.youtube.com/live/MSdGLG2zLy8?si=INxBHTqkwHhxV5Ta&t=0
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfVALiNTRY360
Salesforce Healthcare CRM, implemented by VALiNTRY360, revolutionizes patient management by enhancing patient engagement, streamlining administrative processes, and improving care coordination. Its advanced analytics, robust security, and seamless integration with telehealth services ensure that healthcare providers can deliver personalized, efficient, and secure patient care. By automating routine tasks and providing actionable insights, Salesforce Healthcare CRM enables healthcare providers to focus on delivering high-quality care, leading to better patient outcomes and higher satisfaction. VALiNTRY360's expertise ensures a tailored solution that meets the unique needs of any healthcare practice, from small clinics to large hospital systems.
For more info visit us https://valintry360.com/solutions/health-life-sciences
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesQuickdice ERP
Explore the seamless transition to e-invoicing with this comprehensive guide tailored for Saudi Arabian businesses. Navigate the process effortlessly with step-by-step instructions designed to streamline implementation and enhance efficiency.
Measures in SQL (SIGMOD 2024, Santiago, Chile)Julian Hyde
SQL has attained widespread adoption, but Business Intelligence tools still use their own higher level languages based upon a multidimensional paradigm. Composable calculations are what is missing from SQL, and we propose a new kind of column, called a measure, that attaches a calculation to a table. Like regular tables, tables with measures are composable and closed when used in queries.
SQL-with-measures has the power, conciseness and reusability of multidimensional languages but retains SQL semantics. Measure invocations can be expanded in place to simple, clear SQL.
To define the evaluation semantics for measures, we introduce context-sensitive expressions (a way to evaluate multidimensional expressions that is consistent with existing SQL semantics), a concept called evaluation context, and several operations for setting and modifying the evaluation context.
A talk at SIGMOD, June 9–15, 2024, Santiago, Chile
Authors: Julian Hyde (Google) and John Fremlin (Google)
https://doi.org/10.1145/3626246.3653374
E-commerce Development Services- Hornet DynamicsHornet Dynamics
For any business hoping to succeed in the digital age, having a strong online presence is crucial. We offer Ecommerce Development Services that are customized according to your business requirements and client preferences, enabling you to create a dynamic, safe, and user-friendly online store.
Most important New features of Oracle 23c for DBAs and Developers. You can get more idea from my youtube channel video from https://youtu.be/XvL5WtaC20A
How Can Hiring A Mobile App Development Company Help Your Business Grow?ToXSL Technologies
ToXSL Technologies is an award-winning Mobile App Development Company in Dubai that helps businesses reshape their digital possibilities with custom app services. As a top app development company in Dubai, we offer highly engaging iOS & Android app solutions. https://rb.gy/necdnt
What to do when you have a perfect model for your software but you are constrained by an imperfect business model?
This talk explores the challenges of bringing modelling rigour to the business and strategy levels, and talking to your non-technical counterparts in the process.
Artificia Intellicence and XPath Extension FunctionsOctavian Nadolu
The purpose of this presentation is to provide an overview of how you can use AI from XSLT, XQuery, Schematron, or XML Refactoring operations, the potential benefits of using AI, and some of the challenges we face.
4. Performance tests - why so hard?
Simulate production as close as possible:
● hardware
○ CPU, RAM, storage, ...
● software
○ OS, Virtualization, DBs, …
● load
● isolation
5. Performance tests - why so hard?
Necessary to have:
● infrastructure
● monitoring
● logging
6. Performance tests - why so hard?
● Your performance intuition is wrong!
1. collect the data (monitoring, logging, profiling)
2. find the bottleneck (based on data)
3. fix the bottleneck
4. collect the data and check the assumptions
5. go to 1.
7. Performance tests - why so hard?
Lies, damned lies, and statistics:
● arithmetic mean = 2.9
● median = 1
● standard deviation = 6 (only for normal distribution)
8. Performance tests - why so hard?
● Anscombe's quartet
http://bravenewgeek.com/tag/coordinated-omission/
Property Value
Mean of x 9
Sample variance of x 11
Mean of y 7.50
Sample variance of y 4.125
Correlation between x and y 0.816
Linear regression line y = 3 + 0.5x
Coefficient of determination of
the linear regression
0.67
9. Performance tests - why so hard?
Lies, damned lies, and statistics:
● arithmetic mean = 2.9
● median = 1
● standard deviation = 6 (only for normal distribution)
Use:
● percentiles
○ 50th = 1
○ 70th = 1
○ 90th = 2.9
○ 95th = 11.45
○ 99th = 18.29
Check percentiles implementation!
10. Performance tests - why so hard?
● Coordinated omission problem by Gil Tene
http://bravenewgeek.com/tag/coordinated-omission/
20. Coordinated omission problem
total time 60 s
max 30 s
99th 1 s
time in % for max 50%
expected time in % for 99th 50% - 1% = 49%
real time for 99th 60 s * 49% = 29.4 s