I presented this topic at "The Test Tribe Community" meet up on 27/11/2021 with a live demo.
This presentation will be a good starting point if you need to start writing simple and meaningful tests in Postman.
In software testing, automation testing is a method that is performed with use of a special software tools to control the execution of tests and compare actual test results with predicted or expected results. Automation testing can increase the depth and scope of tests to help improve software quality.
The document compares the load testing tools Apache Jmeter and HP LoadRunner. It outlines that Jmeter is open source and platform independent while LoadRunner has a larger market share. LoadRunner supports a greater number of protocols but is limited in load generation capacity, while Jmeter has unlimited capacity but is less developed. The document provides a feature-by-feature comparison of the tools' architectures, capabilities, and functional components.
Silk Performer allows you to record and simulate realistic load tests for web and mobile applications. It uses virtual users (VUsers) to emulate real users and load test applications. The recorder captures live application traffic and generates scripts in BDL (Benchmark Description Language) format. These scripts can then be replayed to simulate concurrent loads and analyze performance. Key features include simulating thousands of users, protocol support for web, ERP, middleware etc., real-time monitoring, customizable reporting and root cause analysis using TrueLog Explorer. Load testing with Silk Performer helps answer questions around capacity, response times, bottlenecks and more.
Key Concepts:
The structure of a Test Framework, its components, and the process to create one will be presented. A Test Framework provides a means to automate tests fast and guarantee their extended existence. It makes the automation process straightforward and systematic, simplifies the error debugging procedures, makes the testware tolerant to all kinds of object changes and reliable in an unstable test environment. The presentation is not an illustration of a specific test framework implementation, but rather a description of the features that should be mandatory attributes of any test framework.
Learning Objectives:
How to present the testware internally as a hierarchy of test sets (structural level), use cases (functional - scenario level), test cases (the scenario steps with verification), test actions (the interface "action" words). How to present the testware externally as a set of configuration files, scripts, libraries.How to separate the business action words from the interface action words and the respective drivers.How to create debug logs that allow to identify the source of a failure in minutes.
This document provides evaluation criteria for selecting automated test tools. It recommends evaluating criteria like object recognition abilities, platform support, recording and playback of browser and Java objects, scripting languages, debugging support, and more. The goals are to reduce the effort of evaluating tools and ensure they meet an organization's specific testing needs, environments, and skill levels. Over 80 hours may be needed to fully evaluate each tool against the outlined criteria.
It's a very basic introduction of Load Runner for beginners, i explored it at my own, prepared slides & shared it with my colleagues.
What is Load Runner & why we need Performance testing etc.
Enjoy :)
This document discusses performance testing tools and techniques. It defines performance from the perspectives of developers, infrastructure, and end users. Key aspects covered include defining realistic user scenarios, available tools like JMeter, ApacheBench, Gatling and Locust, and the importance of continuous performance testing. The document recommends using the Apdex score as part of your definition of done, specifying good test scenarios, running tests simultaneously, choosing the right tool for your needs, and considering tools like Taurus that enable continuous performance testing.
In software testing, automation testing is a method that is performed with use of a special software tools to control the execution of tests and compare actual test results with predicted or expected results. Automation testing can increase the depth and scope of tests to help improve software quality.
The document compares the load testing tools Apache Jmeter and HP LoadRunner. It outlines that Jmeter is open source and platform independent while LoadRunner has a larger market share. LoadRunner supports a greater number of protocols but is limited in load generation capacity, while Jmeter has unlimited capacity but is less developed. The document provides a feature-by-feature comparison of the tools' architectures, capabilities, and functional components.
Silk Performer allows you to record and simulate realistic load tests for web and mobile applications. It uses virtual users (VUsers) to emulate real users and load test applications. The recorder captures live application traffic and generates scripts in BDL (Benchmark Description Language) format. These scripts can then be replayed to simulate concurrent loads and analyze performance. Key features include simulating thousands of users, protocol support for web, ERP, middleware etc., real-time monitoring, customizable reporting and root cause analysis using TrueLog Explorer. Load testing with Silk Performer helps answer questions around capacity, response times, bottlenecks and more.
Key Concepts:
The structure of a Test Framework, its components, and the process to create one will be presented. A Test Framework provides a means to automate tests fast and guarantee their extended existence. It makes the automation process straightforward and systematic, simplifies the error debugging procedures, makes the testware tolerant to all kinds of object changes and reliable in an unstable test environment. The presentation is not an illustration of a specific test framework implementation, but rather a description of the features that should be mandatory attributes of any test framework.
Learning Objectives:
How to present the testware internally as a hierarchy of test sets (structural level), use cases (functional - scenario level), test cases (the scenario steps with verification), test actions (the interface "action" words). How to present the testware externally as a set of configuration files, scripts, libraries.How to separate the business action words from the interface action words and the respective drivers.How to create debug logs that allow to identify the source of a failure in minutes.
This document provides evaluation criteria for selecting automated test tools. It recommends evaluating criteria like object recognition abilities, platform support, recording and playback of browser and Java objects, scripting languages, debugging support, and more. The goals are to reduce the effort of evaluating tools and ensure they meet an organization's specific testing needs, environments, and skill levels. Over 80 hours may be needed to fully evaluate each tool against the outlined criteria.
It's a very basic introduction of Load Runner for beginners, i explored it at my own, prepared slides & shared it with my colleagues.
What is Load Runner & why we need Performance testing etc.
Enjoy :)
This document discusses performance testing tools and techniques. It defines performance from the perspectives of developers, infrastructure, and end users. Key aspects covered include defining realistic user scenarios, available tools like JMeter, ApacheBench, Gatling and Locust, and the importance of continuous performance testing. The document recommends using the Apdex score as part of your definition of done, specifying good test scenarios, running tests simultaneously, choosing the right tool for your needs, and considering tools like Taurus that enable continuous performance testing.
The document discusses various types of test tools used at different stages of testing. It describes tools for test management, requirements management, incident management, configuration management, static testing, static analysis, modeling, test design, test data preparation, test execution, test harness, test comparators, coverage measurement, security testing, dynamic analysis, performance testing, load testing, stress testing, monitoring and thanks the reader. The tools support activities like scheduling tests, tracking bugs, reviewing code, generating test data, automating test execution, measuring code coverage and monitoring system performance.
The document discusses a test automation framework (TAF) that helps perform automated testing effectively. It has several key features including being keyword-driven, product-independent, tool-independent, and compatible with continuous integration frameworks. The TAF workflow involves initialization, development, usage, and maintenance phases. The TAF architecture consists of test scenarios that run via the TAF core and output results to various formats.
Load testing simulates multiple users accessing an application simultaneously to evaluate performance under different load scenarios. There are three main types of load testing:
1. Performance testing gradually increases load to determine the maximum number of users/requests per second an application can handle.
2. Stress testing pushes load beyond normal limits to identify the breaking point and ensure error handling.
3. Soak testing subjects an application to high load over an extended period to check for resource allocation problems, memory leaks, and server overloading.
The tool JMeter is commonly used for load testing and allows simulating many users and transactions. It can test HTTP, databases, and other components. Plugins extend its functionality and distributed testing improves load
This document provides an agenda and overview for a performance testing training with JMeter. It begins with an introduction to performance testing, including the purpose and types of performance testing. It then covers getting started with JMeter, including installation, setup, and running JMeter. The remainder of the document outlines the content to be covered, including building test plans with JMeter, load and performance testing of websites, parameterization, adding assertions, and best practices. The goal is to teach participants how to use JMeter to perform various types of performance testing of applications and websites.
Automation testing involves automating manual testing processes using software tools to execute test scripts and compare expected and actual results. There are different types of automation frameworks including data-driven, keyword-driven, modular, and hybrid frameworks. Implementing an automation framework involves 10 steps: identifying the testing scope and needs, evaluating tools, designing the framework, developing and populating test data, and configuring schedulers.
HP LoadRunner software allows you to prevent application performance problems by detecting bottlenecks before a new system or upgrade is deployed. The testing solution LoadRunner enables you to test rich Internet applications, Web 2.0 technologies, ERP and CRM applications, and legacy applications. It gives you a picture of end-to-end system performance before going live so that you can verify that new or upgraded applications meet performance requirements
Bottlenecks limit application performance and can be caused by hardware, software, or network resources. Identifying bottlenecks in complex J2EE applications requires various tools. The process involves running load tests using diagnostic tools to identify bottleneck layers and components, then using profilers to debug problematic code. Monitoring application server heap usage and server resource consumption also helps identify bottlenecks.
Performance testing with JMeter provides an introduction to key concepts and how to implement performance tests using JMeter. Some important steps include designing test plans, preparing the environment, determining metrics and goals, notifying stakeholders, and using JMeter elements like thread groups, samplers, listeners, assertions and configuration elements to simulate load and measure performance. JMeter is an open source tool that can run in GUI or non-GUI mode for load testing web applications and determining maximum operating capacity and bottlenecks under heavy loads.
This document discusses load testing using Apache JMeter. It covers planning a load test including time, tools, equipment and data needed. It describes JMeter components like thread groups, samplers and listeners. It discusses parameterizing tests for different environments and scenarios. The document also addresses recording tests, adding delays to mimic reality, handling Ajax requests, running data driven tests and evaluating results using JMeter reporters and Java monitoring tools. It emphasizes planning effectively, using Selenium tests as a base, parameterizing tests, and creating readable tests.
Performance testing involves testing a system to determine how it performs under a particular workload. The document discusses various types of performance testing like load/capacity testing, stress testing, volume testing, endurance testing, and spike testing. It also discusses concepts like bottlenecks, prerequisites for performance testing, popular load testing tools like JMeter, and how to use key JMeter features for performance testing like adding users, HTTP requests, listeners, parameterization, correlation, assertions, and distributed testing.
TestComplete is an automated testing tool used to test CALPADS. It allows creation, management and execution of tests for CALPADS. Some key learnings from using TestComplete include issues with script and name mapping maintenance over time, ensuring reusability and reliability of scripts across environments, and handling dynamic objects and unpredictable page loads. Going forward, guidelines for standardized script naming, test development with automation in mind, and a "three steps" process for test creation could help address these challenges.
The document discusses gathering requirements for performance testing an application. It lists questions to ask about the application type and architecture, test environment, workload model, and performance goals. Key information needs include the application technology, database and server used, network details, protocols, user sessions and load over time, and goals for response times and system utilization under load. The requirements gathered will help determine the appropriate performance tests and pass/fail criteria.
Web and load testing with Visual Studio 2010 UltimateAbhimanyu Singhal
Visual Studio 2010 Ultimate also gives you access to advanced web and load testing features that help you ensure that whatever application you are building it is ready for the most demanding uses. The Web and Load testing capabilities of Visual Studio 2010 Ultimate help you ensure that whatever application you are building it is ready for whatever scenarios your organization can envisage taking you one step closer to knowing your application is ready for prime time.
The document compares three testing frameworks: data-driven, keyword-driven, and hybrid. In a data-driven framework, test scripts read data from an Excel file and write results to another Excel file. A keyword-driven framework uses a test steps Excel file to read keywords and write test cases. A hybrid framework combines elements of both data-driven and keyword-driven frameworks by allowing test scripts to read both keywords and data.
Software Testing Tools are used to test the software fast which is done by Software Tester or Automation Software Tester. Their is too many types of Automation Tools which is used by Software Testing Companies.
Sadece uygulamalarınızın değil database sorgularınızın da performansını ölçmek için JMeter kullanabilirsiniz.
Güçlü bir teknik test ürünü olan JMeter ile hangi sorgunuzun daha sorunlu olduğunu bulalım.
You can use JMeter not only for measuring your applications performance but also your database queries.
With this powerfull technical test tool, you can discover which database queries takes most of the time.
Performance testing interview questions and answersGaruda Trainings
In software engineering, performance testing is in general testing performed to determine how a system performs in terms of responsiveness and stability under a particular workload. It can also serve to investigate, measure, validate or verify other quality attributes of the system, such as scalability, reliability and resource usage.
Build Your Custom Performance Testing FrameworkTechWell
Performance testing requires knowledge of systems architecture, techniques to simulate the load equivalent of sometimes millions of transactions per day, and tools to monitor/report runtime statistics. With the evolution from desktop to web and now the cloud, performance testing involves an unparalleled combination of different workloads and technologies. There is no one tool available—either commercial or open source—that meets all performance testing needs. Some tools act as load generators; others only monitor system resources; and many only operate for specific applications or environments. Prashant Suri shares the essential components you need for a comprehensive performance test framework and explores why each component is required for a holistic test. Learn how to develop your custom framework―starting with parsing test scripts in a predefined format, iterating over test data, employing distributed load generators, and integrating test monitors into the framework. Discover how building your own framework gives you flexibility to challenge multiple performance problems—and save thousands of dollars along the way.
WSO2 Test Automation Framework : Approach and AdoptionWSO2
The document discusses WSO2's test automation framework. It provides an overview of the framework's requirements, history, approach, architecture, and structure. The framework is designed to make automation easy, organized, relevant and optimized. It supports integration, platform, and cloud-based deployment testing across multiple WSO2 products. Key aspects include flexible execution modes, a context provider, server management, the automation API, utilities, and reporting. Challenges and future areas of focus are also presented, along with demonstrations of sample tests.
A smarter Pig: Building a SQL interface to Apache Pig using Apache CalciteJulian Hyde
What if Apache Pig had a SQL front-end and query optimizer? What if Apache Calcite was able to use Pig and MapReduce to run queries? In this project, we aimed to answer both questions by adding a Pig adapter for Calcite. In this talk, we describe Calcite's adapter framework, how we used it to write a Pig adapter, and how you can use this SQL interface to Pig for interactive and long-running queries.
A talk given by Eli Levine and Julian Hyde at Apache: Big Data, Miami, on May 17th, 2017.
The document discusses various types of test tools used at different stages of testing. It describes tools for test management, requirements management, incident management, configuration management, static testing, static analysis, modeling, test design, test data preparation, test execution, test harness, test comparators, coverage measurement, security testing, dynamic analysis, performance testing, load testing, stress testing, monitoring and thanks the reader. The tools support activities like scheduling tests, tracking bugs, reviewing code, generating test data, automating test execution, measuring code coverage and monitoring system performance.
The document discusses a test automation framework (TAF) that helps perform automated testing effectively. It has several key features including being keyword-driven, product-independent, tool-independent, and compatible with continuous integration frameworks. The TAF workflow involves initialization, development, usage, and maintenance phases. The TAF architecture consists of test scenarios that run via the TAF core and output results to various formats.
Load testing simulates multiple users accessing an application simultaneously to evaluate performance under different load scenarios. There are three main types of load testing:
1. Performance testing gradually increases load to determine the maximum number of users/requests per second an application can handle.
2. Stress testing pushes load beyond normal limits to identify the breaking point and ensure error handling.
3. Soak testing subjects an application to high load over an extended period to check for resource allocation problems, memory leaks, and server overloading.
The tool JMeter is commonly used for load testing and allows simulating many users and transactions. It can test HTTP, databases, and other components. Plugins extend its functionality and distributed testing improves load
This document provides an agenda and overview for a performance testing training with JMeter. It begins with an introduction to performance testing, including the purpose and types of performance testing. It then covers getting started with JMeter, including installation, setup, and running JMeter. The remainder of the document outlines the content to be covered, including building test plans with JMeter, load and performance testing of websites, parameterization, adding assertions, and best practices. The goal is to teach participants how to use JMeter to perform various types of performance testing of applications and websites.
Automation testing involves automating manual testing processes using software tools to execute test scripts and compare expected and actual results. There are different types of automation frameworks including data-driven, keyword-driven, modular, and hybrid frameworks. Implementing an automation framework involves 10 steps: identifying the testing scope and needs, evaluating tools, designing the framework, developing and populating test data, and configuring schedulers.
HP LoadRunner software allows you to prevent application performance problems by detecting bottlenecks before a new system or upgrade is deployed. The testing solution LoadRunner enables you to test rich Internet applications, Web 2.0 technologies, ERP and CRM applications, and legacy applications. It gives you a picture of end-to-end system performance before going live so that you can verify that new or upgraded applications meet performance requirements
Bottlenecks limit application performance and can be caused by hardware, software, or network resources. Identifying bottlenecks in complex J2EE applications requires various tools. The process involves running load tests using diagnostic tools to identify bottleneck layers and components, then using profilers to debug problematic code. Monitoring application server heap usage and server resource consumption also helps identify bottlenecks.
Performance testing with JMeter provides an introduction to key concepts and how to implement performance tests using JMeter. Some important steps include designing test plans, preparing the environment, determining metrics and goals, notifying stakeholders, and using JMeter elements like thread groups, samplers, listeners, assertions and configuration elements to simulate load and measure performance. JMeter is an open source tool that can run in GUI or non-GUI mode for load testing web applications and determining maximum operating capacity and bottlenecks under heavy loads.
This document discusses load testing using Apache JMeter. It covers planning a load test including time, tools, equipment and data needed. It describes JMeter components like thread groups, samplers and listeners. It discusses parameterizing tests for different environments and scenarios. The document also addresses recording tests, adding delays to mimic reality, handling Ajax requests, running data driven tests and evaluating results using JMeter reporters and Java monitoring tools. It emphasizes planning effectively, using Selenium tests as a base, parameterizing tests, and creating readable tests.
Performance testing involves testing a system to determine how it performs under a particular workload. The document discusses various types of performance testing like load/capacity testing, stress testing, volume testing, endurance testing, and spike testing. It also discusses concepts like bottlenecks, prerequisites for performance testing, popular load testing tools like JMeter, and how to use key JMeter features for performance testing like adding users, HTTP requests, listeners, parameterization, correlation, assertions, and distributed testing.
TestComplete is an automated testing tool used to test CALPADS. It allows creation, management and execution of tests for CALPADS. Some key learnings from using TestComplete include issues with script and name mapping maintenance over time, ensuring reusability and reliability of scripts across environments, and handling dynamic objects and unpredictable page loads. Going forward, guidelines for standardized script naming, test development with automation in mind, and a "three steps" process for test creation could help address these challenges.
The document discusses gathering requirements for performance testing an application. It lists questions to ask about the application type and architecture, test environment, workload model, and performance goals. Key information needs include the application technology, database and server used, network details, protocols, user sessions and load over time, and goals for response times and system utilization under load. The requirements gathered will help determine the appropriate performance tests and pass/fail criteria.
Web and load testing with Visual Studio 2010 UltimateAbhimanyu Singhal
Visual Studio 2010 Ultimate also gives you access to advanced web and load testing features that help you ensure that whatever application you are building it is ready for the most demanding uses. The Web and Load testing capabilities of Visual Studio 2010 Ultimate help you ensure that whatever application you are building it is ready for whatever scenarios your organization can envisage taking you one step closer to knowing your application is ready for prime time.
The document compares three testing frameworks: data-driven, keyword-driven, and hybrid. In a data-driven framework, test scripts read data from an Excel file and write results to another Excel file. A keyword-driven framework uses a test steps Excel file to read keywords and write test cases. A hybrid framework combines elements of both data-driven and keyword-driven frameworks by allowing test scripts to read both keywords and data.
Software Testing Tools are used to test the software fast which is done by Software Tester or Automation Software Tester. Their is too many types of Automation Tools which is used by Software Testing Companies.
Sadece uygulamalarınızın değil database sorgularınızın da performansını ölçmek için JMeter kullanabilirsiniz.
Güçlü bir teknik test ürünü olan JMeter ile hangi sorgunuzun daha sorunlu olduğunu bulalım.
You can use JMeter not only for measuring your applications performance but also your database queries.
With this powerfull technical test tool, you can discover which database queries takes most of the time.
Performance testing interview questions and answersGaruda Trainings
In software engineering, performance testing is in general testing performed to determine how a system performs in terms of responsiveness and stability under a particular workload. It can also serve to investigate, measure, validate or verify other quality attributes of the system, such as scalability, reliability and resource usage.
Build Your Custom Performance Testing FrameworkTechWell
Performance testing requires knowledge of systems architecture, techniques to simulate the load equivalent of sometimes millions of transactions per day, and tools to monitor/report runtime statistics. With the evolution from desktop to web and now the cloud, performance testing involves an unparalleled combination of different workloads and technologies. There is no one tool available—either commercial or open source—that meets all performance testing needs. Some tools act as load generators; others only monitor system resources; and many only operate for specific applications or environments. Prashant Suri shares the essential components you need for a comprehensive performance test framework and explores why each component is required for a holistic test. Learn how to develop your custom framework―starting with parsing test scripts in a predefined format, iterating over test data, employing distributed load generators, and integrating test monitors into the framework. Discover how building your own framework gives you flexibility to challenge multiple performance problems—and save thousands of dollars along the way.
WSO2 Test Automation Framework : Approach and AdoptionWSO2
The document discusses WSO2's test automation framework. It provides an overview of the framework's requirements, history, approach, architecture, and structure. The framework is designed to make automation easy, organized, relevant and optimized. It supports integration, platform, and cloud-based deployment testing across multiple WSO2 products. Key aspects include flexible execution modes, a context provider, server management, the automation API, utilities, and reporting. Challenges and future areas of focus are also presented, along with demonstrations of sample tests.
A smarter Pig: Building a SQL interface to Apache Pig using Apache CalciteJulian Hyde
What if Apache Pig had a SQL front-end and query optimizer? What if Apache Calcite was able to use Pig and MapReduce to run queries? In this project, we aimed to answer both questions by adding a Pig adapter for Calcite. In this talk, we describe Calcite's adapter framework, how we used it to write a Pig adapter, and how you can use this SQL interface to Pig for interactive and long-running queries.
A talk given by Eli Levine and Julian Hyde at Apache: Big Data, Miami, on May 17th, 2017.
The document provides an overview of API testing using Postman. It discusses testing APIs to verify functionality, status codes, response validation, data accuracy, performance, and security. The document outlines the different types of tests that can be performed in Postman, including tests for functionality, response validation, data accuracy, performance, and security. It also demonstrates how to write test scripts in Postman to validate responses, headers, response times, and security headers. The document uses an example API for a book management system to demonstrate setting up a test environment and collection in Postman, and writing tests to validate the API functionality.
This document discusses optimizing Apache Spark (PySpark) workloads in production. It provides an agenda for a presentation on various Spark topics including the primary data structures (RDD, DataFrame, Dataset), executors, cores, containers, stages and jobs. It also discusses strategies for optimizing joins, parallel reads from databases, bulk loading data, and scheduling Spark workflows with Apache Airflow. The presentation is given by a solution architect from Accionlabs, a global technology services firm focused on emerging technologies like Apache Spark, machine learning, and cloud technologies.
This document summarizes a presentation about near real-time analytics platforms at Uber and LinkedIn. It discusses use cases for streaming analytics, challenges with scalability and operations, and new platforms developed using Apache Samza and SQL. Key points include how Samza is used to build streaming applications with SQL queries, operators, and support for multi-stage workflows. The platforms aim to simplify deployment and management of streaming jobs through interfaces like AthenaX.
Flink Forward SF 2017: Malo Deniélou - No shard left behind: Dynamic work re...Flink Forward
The Apache Beam programming model is designed to support several advanced data processing features such as autoscaling and dynamic work rebalancing. In this talk, we will first explain how dynamic work rebalancing not only provides a general and robust solution to the problem of stragglers in traditional data processing pipelines, but also how it allows autoscaling to be truly effective. We will then present how dynamic work rebalancing works as implemented in the Google Cloud Dataflow runner and which path other Apache Beam runners link Apache Flink can follow to benefit from it.
GraphConnect 2014 SF: From Zero to Graph in 120: ScaleNeo4j
The document discusses various techniques for scaling Neo4j applications to handle increased load. It covers strategies for scaling reads, such as optimizing Cypher queries, modeling data more efficiently, and using unmanaged extensions. For scaling writes, it discusses reducing locking contention by delaying locks and batching/queueing write operations. Hardware considerations are also briefly mentioned.
This document discusses practices and tools for building better APIs. It outlines some key aspects of API quality, including value, usability, and stability. For usability, it discusses factors like learnability, efficiency, and errors based on a generic usability model. It also provides examples of API release notes to demonstrate concerns around stability and backward compatibility. The overall goal is to provide developers with perspectives and considerations for designing APIs that are easy to use and integrate with existing code.
Practices and tools for building better API (JFall 2013)Peter Hendriks
Een belangrijke voorwaarde om goede en leesbare Java code te schrijven is om gebruik te maken van een goede API. Een goede API helpt ontwikkelaars om sneller hoogwaardige code te schrijven. Het ontwerp van een API is daarom belangrijk, zeker als er grotere systemen worden gerealiseerd in teamverband. Moderne ontwikkeltools als Eclipse, IntelliJ IDEA en FindBugs helpen met het schrijven van goede API, en het detecteren van slecht gebruik. Deze sessie gaat in op de laatste ontwikkelingen en mogelijkheden, inclusief nieuwe taalmogelijkheden in Java 8. Er wordt hierbij gebruik gemaakt van praktische situaties en concrete codevoorbeelden, gebaseerd op echte ervaringen in grote codebases. Met praktische tips en toegankelijke tools kan al een grote stap gemaakt worden om in de praktijk beter met API ontwerp om te gaan!
This document summarizes how to use Ruby on Rails with legacy Oracle databases. It discusses using the ruby-oci8 and jruby-oci8 gems to connect to Oracle from Ruby. It also covers using the activerecord-oracle_enhanced-adapter gem to connect to Oracle from Rails. It provides examples of calling PL/SQL functions from Ruby using the ruby-plsql gem and overriding ActiveRecord methods to call custom PL/SQL packages. Finally, it diagrams a typical Rails application architecture when using an Oracle database.
Big Data, Analytics and Machine Learning on AWS Lambda - SRV402 - re:Invent 2017Amazon Web Services
AWS Lambda is a great fit for many data processing tasks, for data analytics and for machine learning inference. The Lambda team use Lambda for our own Analytics in conjunction with other AWS services. In this session, we will cover how we tie these services together to crunch the data Lambda creates to generate insights to better run our service. We will cover common design patterns for big data processing, how they map to Lambda and serverless, and look at some new patterns that serverless makes possible. Finally we will look to how to leverage Machine Learning inference on Lambda to derive better insights from the data.
Nexthink Library - replacing a ruby on rails application with Scala and SprayMatthew Farwell
Applications without tests (legacy applications) present particular problems to developers when changes are required. Unless the change is very small, they require a lot of manual testing. This is even more true when we wish to completely replace such an application. At Nexthink, we replaced a legacy Ruby on Rails application with a web application written using Spray and Slick. There were two parts, a Rest API, accessed from lots of different version of our products, and an administration web interface to allow editing of the data. In replacing this application, we had to ensure that the new implementation returned exactly the same answers to requests as the old application for the same input criteria, without knowing in advance what the requests were. This presentation shows how a combination of technologies was used to achieve this goal, including: spray - for the reactive http container proxy - the new application was used as a proxy to the old application, and the results were compared with the new application (in production) scalacheck - to generate structured queries on the old and new application, for testing gatling - for performance tests This presentation covers both how the replacement was done, to ensure the minimum number of bugs in production, along with our subsequent experience in production.
Posons-nous et profitons de ce talk pour prendre un peu de hauteur sur l’état de l’industrie tech autour de la création d’API de persistence (CRUD).
D’où venons-nous, ou allons-nous ? Pourquoi le choix entre RPC, SOAP, REST et GraphQL n’est peut-être qu’un sujet de surface qui cache un problème bien plus profond…
Youtube: https://www.youtube.com/watch?v=IskE3m3VjRY
AWS November Webinar Series - Advanced Analytics with Amazon Redshift and the...Amazon Web Services
Amazon Machine Learning is a service that makes it easy for developers of all skill levels to use machine learning technology and Amazon Redshift is a fast, fully managed, petabyte-scale data warehouse that makes it simple and cost-effective to efficiently analyze all your data using your existing business intelligence tools. The combination of the two can provide a solution to power advanced analytics for not only what has happened in the past, but make intelligent predictions about the future. Please join this webinar to learn how get the most value from your data for your data driven business.
Learning Objectives:
How to scale your Redshift queries with user-defined functions (UDFs)
How to apply Machine learning to historical data in Amazon Redshift
How to visualize your data with Amazon QuickSight
Present a reference architecture for advanced analytics
Who Should Attend:
Application developers looking to add UDFs, or predictive analytics to their applications, database administrators that need to meet the demand of data driven organizations, decision makers looking to derive more insight from their data
2011-02-03 LA RubyConf Rails3 TDD WorkshopWolfram Arnold
This document provides an overview of test-driven development (TDD) using Rails 3. It discusses why TDD is important, how to structure tests in different layers (model, controller, etc.), and what to test for models, controllers and views. It also covers RSpec 2 and useful tools like RVM. The presentation includes live coding demos and in-class exercises on TDD.
Gohan : YAML-based REST API Service Definition Language
API Definition Generation (including Swagger)
DB Table Generation & OR Mapping
Support Custom Logic using Gohan Script (Javascript, and Go)
Extensible Role-Based Access Control
etcd integration
Similar to API Testing - The power of libraries (chai, cheerio.js ,lodash and moment.js) (20)
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
Ivanti’s Patch Tuesday breakdown goes beyond patching your applications and brings you the intelligence and guidance needed to prioritize where to focus your attention first. Catch early analysis on our Ivanti blog, then join industry expert Chris Goettl for the Patch Tuesday Webinar Event. There we’ll do a deep dive into each of the bulletins and give guidance on the risks associated with the newly-identified vulnerabilities.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
GraphRAG for Life Science to increase LLM accuracyTomaz Bratanic
GraphRAG for life science domain, where you retriever information from biomedical knowledge graphs using LLMs to increase the accuracy and performance of generated answers
Things to Consider When Choosing a Website Developer for your Website | FODUUFODUU
Choosing the right website developer is crucial for your business. This article covers essential factors to consider, including experience, portfolio, technical skills, communication, pricing, reputation & reviews, cost and budget considerations and post-launch support. Make an informed decision to ensure your website meets your business goals.
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdfTechgropse Pvt.Ltd.
In this blog post, we'll delve into the intersection of AI and app development in Saudi Arabia, focusing on the food delivery sector. We'll explore how AI is revolutionizing the way Saudi consumers order food, how restaurants manage their operations, and how delivery partners navigate the bustling streets of cities like Riyadh, Jeddah, and Dammam. Through real-world case studies, we'll showcase how leading Saudi food delivery apps are leveraging AI to redefine convenience, personalization, and efficiency.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceIndexBug
Imagine a world where machines not only perform tasks but also learn, adapt, and make decisions. This is the promise of Artificial Intelligence (AI), a technology that's not just enhancing our lives but revolutionizing entire industries.
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
2. Anuradha Raman
★ Lead Automation Test Engineer
@Kissflow
★ 10+ years of experience in
software testing
★ Test Tribe champion for the
Chennai Chapter
3. Outline
➢ API Test Strategy
➢ Designing test scenarios for API testing
➢ Writing tests in Postman using different libraries
4. API Testing
Objectives:
● To ensure that the business logic implementation is working correctly as
expected
● To ensure that the implementation is working as specified according to the
requirements specification (API documentation)
● To prevent regressions between code merges and releases
5. API Testing - Scenarios
Positive Scenario
Negative Scenario
Flow Based - Series of requests which are common user actions or use
cases
Test every single API for
different sets of valid and
invalid input test data
6. Postman - A collaboration platform for
API development
● Collaborate in real-time with built-in version control
● Directly send REST, SOAP, and GraphQL requests
● Generate beautiful, machine-readable documentation
● Provide a shared context for building and consuming APIs
● Simulate endpoints and responses without having to set up a backend server
7. API Testing in Postman
a. Request level
Functional -> Request-Response Validation
Automated -> Code snippets -> Basic response code and response
object validation
a. Collection level tests
b. Schema validation test (https://ajv.js.org/)
pm.test("Response uses a valid schema", function() {
pm.expect(ajv.validate(cam, SCHEMA_STORED_AS_A_VARIABLE)).to.be.true;
});
8. Writing Tests in Postman
➔ Pre Request Tab (before)
➔ Tests (after)
➔ Assertions
◆ Parse the response body
◆ Write test script
Javascript code can be
written in both these places
9. JSON - JavaScript object notation
JSON String:
‘{
“Name”:”value”,
“array”: [ ]
}’
★ Data is in name value pairs
★ Data is separated by commas (,)
★ Curly braces holds objects
★ Square braces holds arrays
https://jsonpath.
herokuapp.com/
10. Variables
- Dynamic Variables using Faker library
(https://www.npmjs.com/package/faker)
- Generate mock/dummy test data for each run
- Some interesting dummy variables to note :
- Random filenames,
- images,
- catchphrases,
- To use in pre request and tests tab
pm.variables.replaceIn.(“{{$randomFirstname}}”)
11. Chai
Chai Assertion Library BDD: Default library in postman for assertions
This syntax provides options to optimize how readable (expect and should)
your tests are to you and your collaborators
const jsonData = pm.response.json(); -->Parsing the response body
pm.test("response data not null", function () {
pm.expect(jsonData.page).to.be.an('number');
pm.expect(jsonData.per_page).to.be.an('number');
pm.expect(jsonData.total_count).to.be.an('number');
pm.expect(jsonData.data.length).to.be.above(0);
})
Chai Assertion
12. Cheerio - Moment - Lodash
Cheerio - To parse HTML
response
Moment - working with dates Lodash - for loop
● To parse and retrieve the value
from an HTML response, we will
use the cheerio JavaScript library
● Simple library for working with the
DOM model.
● Cheerio wraps around parse5
parser and can optionally use
htmlparser2.
https://cheerio.js.org/
https://blog.logrocket.com/parsing-html-
nodejs-cheerio/
https://github.com/cheeriojs/cheerio
● To work with “dates” in Postman
● Can be used to manage test data in
pre requests tab or even query
params
https://momentjs.com/docs/
● Use with pm.expect() =>iterating
through response data, to help
assert that a certain value is
present.
● create some dynamic data to use in
our requests => The ‘_.random()’
Lodash function syntax
(_random(1000))
https://lodash.com/docs/4.17.15#forEach
13. Debugging Test Failures
● console.log(),
● console.info(),
● console.warn()
● and console.error()
=> Debug statements with test assertions,
=> Examine the content of the HTTP requests and responses, as well as Postman data
items such as variables
14. Automated tests in Postman
1. Workflows/End to End Testing/User Journey
2. Workflows=>Collection of API Requests. Automating workflows with the
collection runner
3. Default execution of requests in a Postman collection is sequential/linear
4. Configure which request to run next using pm.setNextRequest();
5. Loop over current request => Set name of current request to setNextRequest
6. Stop the run => pm.setNextRequest(null);
A basic guideline is to identify the most common parameters and conditions that an end developer will use when calling the APIs and test these scenarios extensively. Validate integration between services
Reliable Code
Need for API tests
Sweet spot of the Testing pyramid
Shift left
Agile Practices
Happy - check basic functionality and the acceptance criteria of the API
Negative - gracefully handle problem scenarios with both valid user input and invalid user input
The awesome thing about this tool is that it simplifies each step of building an API and it also makes collaboration seamless for building faster APIs.
Automate functional tests
Check API performance and response times at scheduled intervals
You can store the schema to be validated against as a collection variable and write various tests for the possible responses for an API.
The `Pre-request Script` and `Tests` tabs are basically little JavaScript IDE’s and they give us the ability to write small scripts, to assist us with things like creating test data or managing the response data that we receive from an API endpoint
Derived from Java script object notation
With JavaScript you can create an object and assign data to it, like this:
It is a common mistake to call a JSON object literal "a JSON object".
JSON cannot be an object. JSON is a string format.
You can access object values by using dot (.) notation:
You can also access object values by using bracket ([]) notation:
You access array values by index:
The sole purpose of a test is to identify that for a situation given parameters of the system are as expected. To force that the parameters of the system are correct we assert the expected values with the actual values during a test run. Assertions are used to assert that expected and actual values during a test run match. If they don't match, the test fails with the output pointing directly to the failure.
Cheerio can parse nearly any HTML or XML document.
Lodash - to check that the specific property of each object in the array
you can override this behavior using a built-in function.as the name suggests, allows you to specify which request runs next. Exit the loop with proper logic in place to avoid indefinite run