Model-based Testing: Taking BDD/ATDD to the Next LevelBob Binder
Slides from presentation at the Chicago Quality Assurance Association, February 25, 2014.
Acceptance Test Driven Development (ATDD) and Behavior Driven Development (BDD) are well-established Agile practices that rely on the knowledge and intuition of testers, product owners, and developers to identify and then translate statements into test suites. But the resulting test suites often cover only a small slice of happy-path behavior. And, as a BDD specification and its associated test code base grows over time, work to maintain it either crowds out new development and testing or, typically, is simply ignored. Either is high-risk. That’s how Agile teams get eaten by the testing BackBlob.Model Based Testing is a tool-based approach to automate the creation of test cases. This presentation will outline the techniques and benefits of MBT, and show how model-based testing can address both problems. A detailed demo of Spec Explorer, a free model-based testing tool shows how a model is constructed and used to create and maintain a test suite.
Cucumber spec - a tool takes your bdd to the next levelnextbuild
CucumberSpec is a tool that combines Behavior-Driven Testing (BDT) using Gherkin with Model-Based Testing (MBT). It generates a test model from Gherkin scenario files, allowing automated generation of test cases. This provides benefits of both BDT like common language and MBT like exhaustive testing. The document demonstrates CucumberSpec by modeling and testing requirements for an AR drone using Gherkin scenarios and SpecExplorer modeling.
Lessons learned validating 60,000 pages of api documentationBob Binder
The document discusses lessons learned from validating over 60,000 pages of API documentation at Microsoft. It provides an overview of Microsoft's protocol quality assurance process, which included developing model-based test suites to validate technical documentation against actual Windows services. Key aspects of the process included requirements engineering to derive testable requirements from documentation statements, modeling protocol behavior, and using the Spec Explorer tool to automatically generate and execute test cases from the models. The process uncovered over 50,000 issues in the documentation, most before test execution, and helped close an antitrust case regarding Microsoft's interoperability documentation.
How to Release Rock-solid RESTful APIs and Ice the Testing BackBlobBob Binder
REST APIs are a key enabling technology for the cloud. Mobile applications, service-oriented architecture, and the Internet of Things depend on reliable and usable REST APIs. Unlike browser, native, and mobile apps, REST APIs can only be tested with software that drives the APIs. Unlike developer-centric hand-coded unit testing, adequate testing of REST APIs is truly well-suited to advanced automated testing.
As most web service applications are developed following an Agile process, effective testing must also avoid the "testing backblob," in which work to maintain hand-coded BDD-style test suites exceeds available time after a few iterations.
This talk presents a methodology for developing and testing REST APIs using model-based automation that has the beneficial side-effect of shrinking the testing backblob.
Unit tests isolate and test classes individually using mocks and dependency injection. Integration tests emulate dependencies using fakes to test integration points. Functional tests start the application context and emulate user requests to test functionality across layers without GUI. The document discusses patterns for different types of automated tests including using embedded containers and databases, configuration overrides, and JUnit rules to test at the unit, integration, and functional levels. The goal is to decrease costs and risks of changes through extensive automation.
The document summarizes a presentation on testing in Java given by David Noble. The presentation covered test-driven development concepts and practices, common testing terminology, popular tools for different types of testing, and resources for learning more. It included a demonstration of test-driven development using an open source medical records system. The goal was to motivate excellence in testing through concepts, practices and tools discussed.
This document discusses test-driven development (TDD), behavior-driven development (BDD), and acceptance test-driven development (ATDD). It explains that while they have different names, they all share the same core idea of using examples from business requirements to create automated tests. The document provides examples of how to write tests before having a user interface, and recommends abstracting from the GUI to focus on business logic. It also lists some popular tools that can be used for ATDD, BDD, and TDD.
Model-based Testing: Taking BDD/ATDD to the Next LevelBob Binder
Slides from presentation at the Chicago Quality Assurance Association, February 25, 2014.
Acceptance Test Driven Development (ATDD) and Behavior Driven Development (BDD) are well-established Agile practices that rely on the knowledge and intuition of testers, product owners, and developers to identify and then translate statements into test suites. But the resulting test suites often cover only a small slice of happy-path behavior. And, as a BDD specification and its associated test code base grows over time, work to maintain it either crowds out new development and testing or, typically, is simply ignored. Either is high-risk. That’s how Agile teams get eaten by the testing BackBlob.Model Based Testing is a tool-based approach to automate the creation of test cases. This presentation will outline the techniques and benefits of MBT, and show how model-based testing can address both problems. A detailed demo of Spec Explorer, a free model-based testing tool shows how a model is constructed and used to create and maintain a test suite.
Cucumber spec - a tool takes your bdd to the next levelnextbuild
CucumberSpec is a tool that combines Behavior-Driven Testing (BDT) using Gherkin with Model-Based Testing (MBT). It generates a test model from Gherkin scenario files, allowing automated generation of test cases. This provides benefits of both BDT like common language and MBT like exhaustive testing. The document demonstrates CucumberSpec by modeling and testing requirements for an AR drone using Gherkin scenarios and SpecExplorer modeling.
Lessons learned validating 60,000 pages of api documentationBob Binder
The document discusses lessons learned from validating over 60,000 pages of API documentation at Microsoft. It provides an overview of Microsoft's protocol quality assurance process, which included developing model-based test suites to validate technical documentation against actual Windows services. Key aspects of the process included requirements engineering to derive testable requirements from documentation statements, modeling protocol behavior, and using the Spec Explorer tool to automatically generate and execute test cases from the models. The process uncovered over 50,000 issues in the documentation, most before test execution, and helped close an antitrust case regarding Microsoft's interoperability documentation.
How to Release Rock-solid RESTful APIs and Ice the Testing BackBlobBob Binder
REST APIs are a key enabling technology for the cloud. Mobile applications, service-oriented architecture, and the Internet of Things depend on reliable and usable REST APIs. Unlike browser, native, and mobile apps, REST APIs can only be tested with software that drives the APIs. Unlike developer-centric hand-coded unit testing, adequate testing of REST APIs is truly well-suited to advanced automated testing.
As most web service applications are developed following an Agile process, effective testing must also avoid the "testing backblob," in which work to maintain hand-coded BDD-style test suites exceeds available time after a few iterations.
This talk presents a methodology for developing and testing REST APIs using model-based automation that has the beneficial side-effect of shrinking the testing backblob.
Unit tests isolate and test classes individually using mocks and dependency injection. Integration tests emulate dependencies using fakes to test integration points. Functional tests start the application context and emulate user requests to test functionality across layers without GUI. The document discusses patterns for different types of automated tests including using embedded containers and databases, configuration overrides, and JUnit rules to test at the unit, integration, and functional levels. The goal is to decrease costs and risks of changes through extensive automation.
The document summarizes a presentation on testing in Java given by David Noble. The presentation covered test-driven development concepts and practices, common testing terminology, popular tools for different types of testing, and resources for learning more. It included a demonstration of test-driven development using an open source medical records system. The goal was to motivate excellence in testing through concepts, practices and tools discussed.
This document discusses test-driven development (TDD), behavior-driven development (BDD), and acceptance test-driven development (ATDD). It explains that while they have different names, they all share the same core idea of using examples from business requirements to create automated tests. The document provides examples of how to write tests before having a user interface, and recommends abstracting from the GUI to focus on business logic. It also lists some popular tools that can be used for ATDD, BDD, and TDD.
The document discusses Selenium and Specflow, which are tools for automating browser testing and behavior-driven development. Selenium allows automating browsers through its WebDriver API, while Specflow uses Gherkin syntax like Given, When, Then to describe test cases in plain language. The document provides code examples and tips for thinking in behaviors rather than actions when using these tools, and recommends additional tools like NUnit and page object modeling to create robust and maintainable test automation.
This document provides an overview and agenda for a presentation on automation testing using IBM Rational Functional Tester. It discusses what automation testing is, why it is useful, and when it should be implemented. It also addresses common myths about automation testing and provides best practices for setting up a successful automation framework. Finally, it gives an introduction to the features and capabilities of IBM Rational Functional Tester, including the recording and playback process for automated tests.
There's a recording of this talk at Agile 2012 here: http://www.youtube.com/watch?v=v-L_2y6g5DI
Creating automated end-to-end functional acceptance tests is hard. Maintaining them over time is harder. Some agilistas even claim that the cost outweighs the benefit. In this lecture we present five principles for creating valuable, maintainable acceptance test suites. We discuss practices such as layering acceptance tests to reduce coupling between the test harness, and talk about how teams should be organized in order to efficiently manage acceptance test driven development. The core of the talk discusses how to manage the evolution of acceptance tests by organizing them as scenarios rather than as suites of story tests. Finally we show how to manage data for acceptance tests.
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 discusses code quality and testing tools from Micro Focus including DevPartner Studio, SilkTest, and Silk Central Test Manager. It summarizes the capabilities of these tools such as source code review, security scanning, debugging, performance analysis, test automation, requirements management, and deployment. The document emphasizes that these tools can help achieve better software faster through a proactive approach to continuous integration, testing, and analysis.
Mastering Test Automation: How to Use Selenium Successfully Applitools
** WATCH FULL WEBINAR RECORDING HERE: https://youtu.be/06H-6hjyyvI **
What is Selenium? Why should you use it? And how do you use it successfully?
In this webinar, Automation expert Dave Haeffner answers these questions as he steps through the why, how, and what of Selenium.
Dave also discusses how to start from nothing and build out a well factored, maintainable, resilient, fast and scalable set of tests. These tests will not only work well, but across all of the browsers you care about, while exercising relevant functionality that matters to your business.
Watch this webinar and learn how to:
* Decompose an existing web application to identify what to test
* Pick the best language for you and your team
* Write maintainable and reusable Selenium tests that will be cross-browser compatible and performant
* Dramatically improve your test coverage with automated visual testing
* Build an integrated feedback loop to automate test runs and find issues fast
TDD involves first writing an automated test that fails, then writing just enough code to pass that test, and refactoring the code. The red-green-refactor process ensures code is tested and well-designed. Studies found TDD reduced pre-release defects by 40-90% and increased initial development time by 15-35%, but allowed for faster development long-term by eliminating bugs early. The document demonstrates TDD with a temperature converter in Xcode, starting with failing tests for -40C=-40F and 30C=86F then coding to pass them.
Test and Behaviour Driven Development (TDD/BDD)Lars Thorup
In this introduction to Test Driven Development (TDD) or Behaviour Driven Development (BDD) we give a high level description of what it is and why it is useful for developers. Then we go into some details on stubs and mocks, test data, UI testing, SQL testing, JavaScript testing, web services testing and how to start doing TDD/BDD on an existing code base.
How Spotify Does Test Automation - Kristian KarlSmartBear
Kristian Karl's (@kristiankarl) presentation from MeetUI 2013, SoapUI's first user conference, in Stockholm, Sweden. Kristian is a test manager at Spotify.
This workshop is about testing the right way. Get a clear view on how to test your code in an efficient and useful way!
This first testing-related workshop is about all aspects of unit testing. Integration testing and TDD will have their own dedicated workshops.
QA Fest 2015. Владимир Примаков. Автоматизация нестандартной отчетности из JI...QAFest
This document discusses using Google Sheets to create reports from Jira data by connecting to the Jira REST API. It outlines some weaknesses in Jira's native reporting and why Google Sheets is a good alternative. It then describes the key technologies used, including functions for configuring Jira parameters, fetching data via API calls, and parsing the JSON responses. Examples are provided of quality reports, time trends, pivots, and audit reports that can be created in this way in Google Sheets.
[AnDevCon 2016] Mutation Testing for AndroidHazem Saleh
Unit testing coverage is a great way to show us the amount of tested lines and branches of code, but is this really enough? The answer is "no" since unit testing coverage does not really fully measure the efficiency of the unit tests.
This is why there is a need for having techniques that show unit tests efficiency. Mutation testing is one of these powerful techniques. The main idea of mutation testing is to perform byte code modifications (mutations) to original Android app source code and then run app unit tests to check if they are strong enough to fail as a result of these mutations.
This session discusses mutation testing techniques, and demonstrates PIT as a powerful mutation testing tool for Android apps with demos.
Exactpro Systems for KSTU Students in KostromaIosif Itkin
This document discusses Exactpro Systems, an innovative trading systems company. It provides information on the company's history, team compositions for different offices including Kostroma, statistics on employee retention and attrition, the breakdown of departments, and descriptions of products developed including ClearTH, Mini-Robots, Dolphin, Shsha, and Load Injector. It also discusses the company's conference in Kostroma on software development and analysis topics.
The document provides an overview of manual software testing, including the software development life cycle, testing methodologies, techniques, and types of testing. It discusses static testing, white box testing, black box testing, gray box testing, reviews, inspections, audits, walkthroughs, unit testing, integration testing, stubs and drivers, code coverage, system testing, user acceptance testing, and more. It also covers the software testing life cycle, test planning, test design, defect management, and test closure.
This document discusses the design and implementation of a test automation architecture (TAA). It describes the different layers of a generic TAA, including the test adaptation, test execution, test definition, and test generation layers. It then covers considerations for designing a TAA, such as the types of tests and system under test. Finally, it provides an example implementation of a TAA for an ecommerce application, outlining choices for tools, execution, reporting, and test case management.
The document contains interview questions from various companies like HCL, Emids, Manhattan, 3PLM, Zolipe Solutions, Synchronoss, and Cognizant for positions ranging from 2-3 years of experience in Selenium testing. The questions cover a wide range of topics including Selenium, manual testing, Java, SQL, algorithms, data structures and design patterns. Common questions asked relate to frameworks, test automation lifecycles, handling dynamic elements, test case design techniques, and debugging skills.
This document summarizes a presentation about continuous inspection and reducing technical debt in software development. It discusses the "7 deadly sins" that can accumulate technical debt, such as duplications, lack of testing, and complexity. It introduces Sonar as a tool to help developers measure and reduce these sins by augmenting their ability to reduce, reuse and recycle source code. The presentation demonstrates Sonar and outlines its future roadmap to expand its rules, metrics, and language support to further help developers improve software quality.
The document discusses Behavior Driven Development (BDT) using Microsoft Visual Studio 2010 and SpecFlow, including an overview of BDT, different BDT methodologies, using Gherkin syntax to write scenarios, configuring SpecFlow tests in Visual Studio, and a live demo of SpecFlow.
This document provides an agenda and overview for a two-day Beginning AngularJS workshop taking place on June 13-14, 2015. The instructor is Troy Miles, who has over 35 years of programming experience.
Day one will cover AngularJS introduction and tools, building a To Do app, testing, animation, services, controllers, filters, and more. Day two will focus on deployment, providers, building a contacts app, HTTP requests, testing AJAX calls, using Firebase, custom directives, and a wrap-up.
The document includes code examples and outlines several hands-on labs for attendees to complete, such as setting up their environment, two-way data binding, and building an expanded contacts
Model Driven Testing: requirements, models & test Gregory Solovey
The document discusses ensuring requirements are test-friendly and models support test completeness. It proposes three lines of defense:
1. Using a modeling tool to represent objects in a hierarchical structure of UML diagrams of manageable size. This helps create complete tests using known methods.
2. Incorporating test management into the modeling tool to link test cases to models in a traceable hierarchy. This supports monitoring test quality.
3. Providing end-to-end reviews of requirements, test plans, scripts and code to check for testability and completeness. Reviews also identify needs for test harnesses.
The document discusses Selenium and Specflow, which are tools for automating browser testing and behavior-driven development. Selenium allows automating browsers through its WebDriver API, while Specflow uses Gherkin syntax like Given, When, Then to describe test cases in plain language. The document provides code examples and tips for thinking in behaviors rather than actions when using these tools, and recommends additional tools like NUnit and page object modeling to create robust and maintainable test automation.
This document provides an overview and agenda for a presentation on automation testing using IBM Rational Functional Tester. It discusses what automation testing is, why it is useful, and when it should be implemented. It also addresses common myths about automation testing and provides best practices for setting up a successful automation framework. Finally, it gives an introduction to the features and capabilities of IBM Rational Functional Tester, including the recording and playback process for automated tests.
There's a recording of this talk at Agile 2012 here: http://www.youtube.com/watch?v=v-L_2y6g5DI
Creating automated end-to-end functional acceptance tests is hard. Maintaining them over time is harder. Some agilistas even claim that the cost outweighs the benefit. In this lecture we present five principles for creating valuable, maintainable acceptance test suites. We discuss practices such as layering acceptance tests to reduce coupling between the test harness, and talk about how teams should be organized in order to efficiently manage acceptance test driven development. The core of the talk discusses how to manage the evolution of acceptance tests by organizing them as scenarios rather than as suites of story tests. Finally we show how to manage data for acceptance tests.
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 discusses code quality and testing tools from Micro Focus including DevPartner Studio, SilkTest, and Silk Central Test Manager. It summarizes the capabilities of these tools such as source code review, security scanning, debugging, performance analysis, test automation, requirements management, and deployment. The document emphasizes that these tools can help achieve better software faster through a proactive approach to continuous integration, testing, and analysis.
Mastering Test Automation: How to Use Selenium Successfully Applitools
** WATCH FULL WEBINAR RECORDING HERE: https://youtu.be/06H-6hjyyvI **
What is Selenium? Why should you use it? And how do you use it successfully?
In this webinar, Automation expert Dave Haeffner answers these questions as he steps through the why, how, and what of Selenium.
Dave also discusses how to start from nothing and build out a well factored, maintainable, resilient, fast and scalable set of tests. These tests will not only work well, but across all of the browsers you care about, while exercising relevant functionality that matters to your business.
Watch this webinar and learn how to:
* Decompose an existing web application to identify what to test
* Pick the best language for you and your team
* Write maintainable and reusable Selenium tests that will be cross-browser compatible and performant
* Dramatically improve your test coverage with automated visual testing
* Build an integrated feedback loop to automate test runs and find issues fast
TDD involves first writing an automated test that fails, then writing just enough code to pass that test, and refactoring the code. The red-green-refactor process ensures code is tested and well-designed. Studies found TDD reduced pre-release defects by 40-90% and increased initial development time by 15-35%, but allowed for faster development long-term by eliminating bugs early. The document demonstrates TDD with a temperature converter in Xcode, starting with failing tests for -40C=-40F and 30C=86F then coding to pass them.
Test and Behaviour Driven Development (TDD/BDD)Lars Thorup
In this introduction to Test Driven Development (TDD) or Behaviour Driven Development (BDD) we give a high level description of what it is and why it is useful for developers. Then we go into some details on stubs and mocks, test data, UI testing, SQL testing, JavaScript testing, web services testing and how to start doing TDD/BDD on an existing code base.
How Spotify Does Test Automation - Kristian KarlSmartBear
Kristian Karl's (@kristiankarl) presentation from MeetUI 2013, SoapUI's first user conference, in Stockholm, Sweden. Kristian is a test manager at Spotify.
This workshop is about testing the right way. Get a clear view on how to test your code in an efficient and useful way!
This first testing-related workshop is about all aspects of unit testing. Integration testing and TDD will have their own dedicated workshops.
QA Fest 2015. Владимир Примаков. Автоматизация нестандартной отчетности из JI...QAFest
This document discusses using Google Sheets to create reports from Jira data by connecting to the Jira REST API. It outlines some weaknesses in Jira's native reporting and why Google Sheets is a good alternative. It then describes the key technologies used, including functions for configuring Jira parameters, fetching data via API calls, and parsing the JSON responses. Examples are provided of quality reports, time trends, pivots, and audit reports that can be created in this way in Google Sheets.
[AnDevCon 2016] Mutation Testing for AndroidHazem Saleh
Unit testing coverage is a great way to show us the amount of tested lines and branches of code, but is this really enough? The answer is "no" since unit testing coverage does not really fully measure the efficiency of the unit tests.
This is why there is a need for having techniques that show unit tests efficiency. Mutation testing is one of these powerful techniques. The main idea of mutation testing is to perform byte code modifications (mutations) to original Android app source code and then run app unit tests to check if they are strong enough to fail as a result of these mutations.
This session discusses mutation testing techniques, and demonstrates PIT as a powerful mutation testing tool for Android apps with demos.
Exactpro Systems for KSTU Students in KostromaIosif Itkin
This document discusses Exactpro Systems, an innovative trading systems company. It provides information on the company's history, team compositions for different offices including Kostroma, statistics on employee retention and attrition, the breakdown of departments, and descriptions of products developed including ClearTH, Mini-Robots, Dolphin, Shsha, and Load Injector. It also discusses the company's conference in Kostroma on software development and analysis topics.
The document provides an overview of manual software testing, including the software development life cycle, testing methodologies, techniques, and types of testing. It discusses static testing, white box testing, black box testing, gray box testing, reviews, inspections, audits, walkthroughs, unit testing, integration testing, stubs and drivers, code coverage, system testing, user acceptance testing, and more. It also covers the software testing life cycle, test planning, test design, defect management, and test closure.
This document discusses the design and implementation of a test automation architecture (TAA). It describes the different layers of a generic TAA, including the test adaptation, test execution, test definition, and test generation layers. It then covers considerations for designing a TAA, such as the types of tests and system under test. Finally, it provides an example implementation of a TAA for an ecommerce application, outlining choices for tools, execution, reporting, and test case management.
The document contains interview questions from various companies like HCL, Emids, Manhattan, 3PLM, Zolipe Solutions, Synchronoss, and Cognizant for positions ranging from 2-3 years of experience in Selenium testing. The questions cover a wide range of topics including Selenium, manual testing, Java, SQL, algorithms, data structures and design patterns. Common questions asked relate to frameworks, test automation lifecycles, handling dynamic elements, test case design techniques, and debugging skills.
This document summarizes a presentation about continuous inspection and reducing technical debt in software development. It discusses the "7 deadly sins" that can accumulate technical debt, such as duplications, lack of testing, and complexity. It introduces Sonar as a tool to help developers measure and reduce these sins by augmenting their ability to reduce, reuse and recycle source code. The presentation demonstrates Sonar and outlines its future roadmap to expand its rules, metrics, and language support to further help developers improve software quality.
The document discusses Behavior Driven Development (BDT) using Microsoft Visual Studio 2010 and SpecFlow, including an overview of BDT, different BDT methodologies, using Gherkin syntax to write scenarios, configuring SpecFlow tests in Visual Studio, and a live demo of SpecFlow.
This document provides an agenda and overview for a two-day Beginning AngularJS workshop taking place on June 13-14, 2015. The instructor is Troy Miles, who has over 35 years of programming experience.
Day one will cover AngularJS introduction and tools, building a To Do app, testing, animation, services, controllers, filters, and more. Day two will focus on deployment, providers, building a contacts app, HTTP requests, testing AJAX calls, using Firebase, custom directives, and a wrap-up.
The document includes code examples and outlines several hands-on labs for attendees to complete, such as setting up their environment, two-way data binding, and building an expanded contacts
Model Driven Testing: requirements, models & test Gregory Solovey
The document discusses ensuring requirements are test-friendly and models support test completeness. It proposes three lines of defense:
1. Using a modeling tool to represent objects in a hierarchical structure of UML diagrams of manageable size. This helps create complete tests using known methods.
2. Incorporating test management into the modeling tool to link test cases to models in a traceable hierarchy. This supports monitoring test quality.
3. Providing end-to-end reviews of requirements, test plans, scripts and code to check for testability and completeness. Reviews also identify needs for test harnesses.
WebTest - Efficient Functional Web Testing with HtmlUnit and Beyondmguillem
The document is a presentation about WebTest, an open source tool for automated functional web testing. It discusses how WebTest works, how to extend its capabilities using Groovy, common myths about automated web testing, and the tool's future integration with WebDriver. The presentation aims to demonstrate how WebTest can be used to efficiently test web applications.
The document provides tips and guidelines for automating tests using SilkTest including advantages and disadvantages of SilkTest, designing test automation frameworks, incorporating automated test scripts into testing processes, designing functions and methods, and using the "@" redirection operator.
My first test qtp tutorial slide presentation.
--------------------------------------------------------------------
mail2web - Check your email from the web at
http://link.mail2web.com/mail2web
QTP is a functional test and regression test automation solution that addresses major software applications and environments. The testing process involves preparation, recording tests, enhancing tests, running and debugging tests, and analyzing results. QTP supports features like checkpoints, parameters, object spying, and keyword-driven testing to simplify test creation and maintenance. It is suitable for functional testing and regression testing of relatively stable systems.
This document introduces AngularJS and how to create a web app with AngularJS and a Web API. It covers key AngularJS concepts like directives, controllers, modules, filters and services. It also discusses how to build a Web API with ASP.NET. The document includes an agenda and demonstrations of building an AngularJS app that interacts with a Web API to add and save data.
Struts is an open source MVC framework that makes it easier to develop and maintain Java web applications by providing common functionality out of the box and enforcing standardized patterns, reducing the need to write boilerplate code and helping developers focus on business logic. The framework handles common tasks like request processing, validation, and view resolution while providing features like tag libraries, internationalization support, and annotation-based configuration. Struts uses the model-view-controller architectural pattern and is based on technologies like servlets, JSPs, and Java beans.
The document discusses test automation concepts and introduces QuickTest Professional (QTP) 9.2. It covers the benefits of automation, the automation life cycle, supported technologies and browsers, the object repository, recording and run modes, options, and basic VBScript concepts used in QTP.
The document discusses test automation concepts and introduces QuickTest Professional (QTP) 9.2. It covers the benefits of automation, the automation life cycle, supported technologies, record and run modes, main tools and features in QTP, and key areas like script structure, parameterization, checkpoints, and exception handling.
The document provides an overview of automation testing concepts using QuickTest Professional (QTP) 9.2. It discusses what automation testing is, its benefits, and the automation life cycle. It also covers topics like supported technologies, add-ins, recording and run modes, and the main QTP window. Sample script snippets demonstrate commonly used QTP functions.
Guide to using the CAMV test suite approach for XML testing. Download CAMV open source tool from http://www.cameditor.org and see videos here: http://www.youtube.com/watch?v=yaCwiIX5lM4
The document discusses strategies for testing a web application, including:
- Using static analysis tools like FindBugs to analyze source code.
- Using QUnit to test JavaScript functions and refactoring code to make it testable.
- Using Selenium to automate UI testing and catch bugs by verifying page content.
- Implementing continuous integration using an existing Cruise Control server to automatically run tests.
Testing Experience - Evolution of Test Automation FrameworksŁukasz Morawski
Implementing automated tests is something that everybody wants to do. If you ask
any tester, test automation is their aim. And while it may be the golden target, very
few testers take pains to assess the required knowledge, under the illusion that a
programming language or expensive tool will suffice to cope with all problems likely
to arise. This is not true. Writing good automated tests is much harder than that,
requiring knowledge this article will make clear
Catalyst is a web framework for Perl that allows developers to build dynamic web applications in a modular, reusable way. It utilizes common Perl techniques like Moose, DBIx::Class and Template Toolkit to handle tasks like object modeling, database access and view rendering. Catalyst applications can be built in a model-view-controller style to separate application logic, data access and presentation layers. This framework provides a standard way to write reusable code and build web UIs for tasks like system administration and automation.
This document proposes adding test management and project management functionality to MagicDraw modeling tool. This would allow monitoring test implementation progress by building tests to verify models, and monitoring new feature development by tracking key performance indicators. Tests would be associated with models to help ensure completeness. Dashboards would provide visibility into test and requirements coverage, relationships between releases, features and models, and metrics on automated testing. The goal is to help users deliver products with zero defects by shifting testing left into the modeling process.
The document discusses various topics related to QuickTest Professional (QTP) including:
1. The V-model is a software development model where verification and validation activities are done parallel to requirements gathering and design.
2. Descriptive programming in QTP allows testers to perform actions on objects not in the object repository by providing a description to identify the object.
3. Parameterization in QTP replaces fixed values in tests with parameters, greatly increasing flexibility. Data driving uses parameterization to run a test with different data sets.
4. Regular expressions can be used to handle dynamic objects in QTP whose properties may change between test runs.
The document discusses the V-model software development process. It explains that in the V-model, verification activities such as testing occur parallel to validation activities from initial requirements elicitation through final acceptance testing. Both the left and right sides of the "V" represent progressive testing stages from unit to system level.
Struts is an open-source MVC framework that makes it easier to develop Java web applications by providing common functionality out of the box. While the Model 2 pattern provides a basic structure, frameworks like Struts standardize development and provide features like validation, tag libraries, and simplified configuration. For large applications, frameworks save development time compared to manually implementing common functionality in each application. Struts uses the Model 2 pattern with interceptors, actions, and results to simplify request processing and forwarding.
Similar to SoftTest Ireland: Model Based Testing - January 27th 2011 (20)
This document discusses using the ios-driver tool with Selenium to automate testing of iOS applications. It describes how ios-driver works by exposing the iOS element tree through the WebDriver API and allowing tests to be written using existing Selenium infrastructure and languages. It also covers testing hybrid, web, and localizing applications and discusses integrating the tools into a continuous integration pipeline using Jenkins. Future plans include adding support for running ios-driver nodes on non-Mac platforms and improvements to the inspector.
Janet Gregory presents Current Testing Challenges with SoftTest IrelandDavid O'Dowd
The document discusses challenges with testing agile software development and proposes collaborative solutions. It covers topics like test automation strategies, different levels to automate tests, roles of testers and developers in testing, and challenges with new technologies. The document aims to start a discussion on how testers and developers can better work together to improve testing in agile projects.
The document discusses challenges with testing agile software development and proposes collaborative solutions. It covers topics like test automation strategies, different levels to automate tests, roles of testers and developers in testing, and challenges with new technologies. The document aims to start a discussion on how testers and developers can better work together to improve testing in agile projects.
Gordon baisley - eircom - Introducing the EDM role with www.softtest.ieDavid O'Dowd
The document introduces a new "Environment Delivery Manager" role to centralize management and control of test environments, fill provisioning gaps, and meet new environment requirements and challenges from concurrent testing of several large projects introducing new platforms. The Environment Delivery Managers would plan, schedule, request, measure, and govern test environments while environment engineers technically deliver, build, configure, create data for, interface, and maintain the environments. An immediate task list focuses the Environment Delivery Managers on both business as usual delivery of environments for projects and implementing a new management framework.
Release management and environments management are important for agile delivery. Release management involves defining, implementing, and improving standardized structures and processes for building, deploying, and releasing software. Environments management identifies, scopes, plans, and allocates test environments. Proper release and environments management is critical for adopting agile practices and speeds up time to market while improving quality. Effective environment management reduces time and costs by meeting milestones.
Intune Agile Testing Talk with www.softtest.ieDavid O'Dowd
This document discusses applying agile testing methods to complex embedded systems. It describes a distributed Ethernet optical switch system with over 500,000 lines of code across 6 architectural subsystems. The challenges of testing such a complex system in short time intervals are discussed. The approach taken involved using integration spikes to prove high risk interfaces early. Extensive automation was employed, with 60% of the integration team focused on automation. Over 1000 automated tests were run nightly against the main code branch. A virtual test environment was also utilized to improve testing efficiency.
Mobile Testing Challenges Lighting Talk with www.softtest.ieDavid O'Dowd
Mobile testing presents challenges due to varying screen sizes, operating systems, and devices. Tools like Firefox plugins and Device Anywhere allow testing ad delivery and click-throughs across environments. Varnish helps compare new builds, and Selenium automates functional tests by modifying request headers. PHP and Java test backend detection. Android tools like Robotium and Testdroid automate app tests on real devices. iOS tools include MonkeyTalk, Testing with Frank, and KIF for automation and Cucumber-style tests. Monkeyrunner and Calabash also support cross-platform testing.
HMH Agile Testing Lightning Talk with www.softtest.ieDavid O'Dowd
The document summarizes an organization's journey towards adopting agile transformation. It discusses how the development team was previously perceived as slow, expensive, and operating without visibility. A large project exemplified these issues. The organization explored adopting agile/scrum practices to improve collaboration, increase flexibility, and deliver higher quality products faster. Initial results were positive with successful mini-releases and feedback. However, the journey is ongoing and communication remains vital as agile/scrum must be adapted to each business. The document cautions that while agile/scrum helped, it is not a "silver bullet" and ongoing improvements are needed.
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip BannonDavid O'Dowd
This document provides an introduction to functional, performance, and non-functional testing with JMeter. It discusses what JMeter is, how it works, its main components, and how to perform tests. It also provides demonstrations of creating functional and performance tests with JMeter.
www.softtest.ie presents Selenium 2 With David Burn'sDavid O'Dowd
Selenium 2 combines Selenium 1 and WebDriver to provide a simpler and more powerful test automation tool. It features a new Selenium server and bindings that support all major browsers and mobile platforms using a RESTful API. Selenium 2 is available now and provides an easier migration path from Selenium 1 through the WebDriverBackedSelenium adapter class.
Agile Test Management - www.softtest.ieDavid O'Dowd
This document provides an agenda and description for a workshop on Agile Test Management. The workshop will cover transitioning the test manager role to agile, test strategy in agile contexts, estimating and planning tests in agile, and addressing test management issues like metrics and process improvement. It will use presentations, exercises and discussion and encourage participants to share challenges and experiences working with agile.
Whittaker How To Break Software Security - SoftTest IrelandDavid O'Dowd
The document discusses different approaches to software testing, specifically functional testing versus security testing. It notes that security testing requires thinking about what the software should not do rather than just what it should do. It provides examples of security bugs related to external dependencies, unanticipated user input, vulnerable design, and vulnerable implementation. It advocates using specific security testing techniques to identify these types of vulnerabilities, such as exploring how applications interact with their environment and inputs they may not anticipate. The key takeaways are to consider what should not happen with a program, understand its environment, identify worst-case scenarios, and use attacks and tools commonly used by hackers to test for security issues.
David Parnas - Documentation Based Software Testing - SoftTest IrelandDavid O'Dowd
This document discusses documentation-based software testing and testing approaches. It advocates planning testing early and basing tests on documentation prepared throughout the design process. This allows test plans and evaluation to be determined in advance so high quality standards can be enforced on a project. The document also discusses different types of testing like black box, clear box, and grey box testing and notes that while black box testing tests against specifications, knowledge of internal structure can provide better test coverage.
James Lyndsay - Testing in an agile environmentDavid O'Dowd
The document discusses testing in an agile environment. It begins by outlining the values of agile software development according to the Agile Manifesto, prioritizing individuals and interactions, working software, customer collaboration, and responding to change over processes/tools, documentation, contract negotiation, and following a plan, respectively.
It then discusses that in an agile environment, testing is automatic through comprehensive testing via refactoring and continuous integration. Errors should be avoided through practices like metaphor, pair programming, 40-hour work weeks, and coding standards. Friction is reduced through improved communication using techniques like planning games, small releases, simple design, collective ownership, and on-site customers.
The document concludes
Liberty Mutual Information Systems uses open source tools to help Liberty Mutual Group exceed their business objectives by delivering high-value, market-responsive IT solutions. Richard Thompson discusses why open source tools are useful during various phases of development like unit testing, configuration management, and continuous integration. He provides examples of specific open source tools used for tasks like test reporting, static analysis, performance testing, and more. Thompson also outlines lessons for successfully implementing open source tools, like considering community size and support when selecting tools.
Neil Thompson - Thinking tools: from top motors, through software process imp...David O'Dowd
1) The document discusses analogies between improvements in manufacturing processes like Toyota's and how those principles could apply to software development processes.
2) It outlines Toyota's progression from quality to global dominance through principles like continuous process flow, visual controls, and a learning organization.
3) The document then examines how concepts like identifying constraints, exploiting buffers, and problem-solving tools from Toyota Production System (TPS) and Theory of Constraints (TOC) could apply to challenges in software testing processes.
Tester's are doing it for themselves - Julie Gardiner - SoftTest IrelandDavid O'Dowd
This document discusses the importance of personal investment for testers. It outlines different types of personal investment including time, cost, and emotional well-being. The tester's mindset and key attributes are described. Testers are encouraged to invest in their own development by reading materials, attending trainings, and pursuing qualifications. Companies can also invest in testers through career paths, internal communities, and training opportunities. The document stresses that personal investment will make testers feel better in their roles and more adaptable to challenges.
Test Automation: A Roadmap For SucesssDavid O'Dowd
The document outlines a roadmap for successful test automation, including steps to plan an automation framework, select an appropriate automation tool considering requirements and constraints, and implement a strategy for test selection, prioritization, and management of the automation project. It also provides examples of applying the roadmap through SQS case studies and addresses questions about the automation process.
AppSec PNW: Android and iOS Application Security with MobSFAjin Abraham
Mobile Security Framework - MobSF is a free and open source automated mobile application security testing environment designed to help security engineers, researchers, developers, and penetration testers to identify security vulnerabilities, malicious behaviours and privacy concerns in mobile applications using static and dynamic analysis. It supports all the popular mobile application binaries and source code formats built for Android and iOS devices. In addition to automated security assessment, it also offers an interactive testing environment to build and execute scenario based test/fuzz cases against the application.
This talk covers:
Using MobSF for static analysis of mobile applications.
Interactive dynamic security assessment of Android and iOS applications.
Solving Mobile app CTF challenges.
Reverse engineering and runtime analysis of Mobile malware.
How to shift left and integrate MobSF/mobsfscan SAST and DAST in your build pipeline.
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfChart Kalyan
A Mix Chart displays historical data of numbers in a graphical or tabular form. The Kalyan Rajdhani Mix Chart specifically shows the results of a sequence of numbers over different periods.
Your One-Stop Shop for Python Success: Top 10 US Python Development Providersakankshawande
Simplify your search for a reliable Python development partner! This list presents the top 10 trusted US providers offering comprehensive Python development services, ensuring your project's success from conception to completion.
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/temporal-event-neural-networks-a-more-efficient-alternative-to-the-transformer-a-presentation-from-brainchip/
Chris Jones, Director of Product Management at BrainChip , presents the “Temporal Event Neural Networks: A More Efficient Alternative to the Transformer” tutorial at the May 2024 Embedded Vision Summit.
The expansion of AI services necessitates enhanced computational capabilities on edge devices. Temporal Event Neural Networks (TENNs), developed by BrainChip, represent a novel and highly efficient state-space network. TENNs demonstrate exceptional proficiency in handling multi-dimensional streaming data, facilitating advancements in object detection, action recognition, speech enhancement and language model/sequence generation. Through the utilization of polynomial-based continuous convolutions, TENNs streamline models, expedite training processes and significantly diminish memory requirements, achieving notable reductions of up to 50x in parameters and 5,000x in energy consumption compared to prevailing methodologies like transformers.
Integration with BrainChip’s Akida neuromorphic hardware IP further enhances TENNs’ capabilities, enabling the realization of highly capable, portable and passively cooled edge devices. This presentation delves into the technical innovations underlying TENNs, presents real-world benchmarks, and elucidates how this cutting-edge approach is positioned to revolutionize edge AI across diverse applications.
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving
Manufacturing custom quality metal nameplates and badges involves several standard operations. Processes include sheet prep, lithography, screening, coating, punch press and inspection. All decoration is completed in the flat sheet with adhesive and tooling operations following. The possibilities for creating unique durable nameplates are endless. How will you create your brand identity? We can help!
Monitoring and Managing Anomaly Detection on OpenShift.pdfTosin Akinosho
Monitoring and Managing Anomaly Detection on OpenShift
Overview
Dive into the world of anomaly detection on edge devices with our comprehensive hands-on tutorial. This SlideShare presentation will guide you through the entire process, from data collection and model training to edge deployment and real-time monitoring. Perfect for those looking to implement robust anomaly detection systems on resource-constrained IoT/edge devices.
Key Topics Covered
1. Introduction to Anomaly Detection
- Understand the fundamentals of anomaly detection and its importance in identifying unusual behavior or failures in systems.
2. Understanding Edge (IoT)
- Learn about edge computing and IoT, and how they enable real-time data processing and decision-making at the source.
3. What is ArgoCD?
- Discover ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes, and its role in deploying applications on edge devices.
4. Deployment Using ArgoCD for Edge Devices
- Step-by-step guide on deploying anomaly detection models on edge devices using ArgoCD.
5. Introduction to Apache Kafka and S3
- Explore Apache Kafka for real-time data streaming and Amazon S3 for scalable storage solutions.
6. Viewing Kafka Messages in the Data Lake
- Learn how to view and analyze Kafka messages stored in a data lake for better insights.
7. What is Prometheus?
- Get to know Prometheus, an open-source monitoring and alerting toolkit, and its application in monitoring edge devices.
8. Monitoring Application Metrics with Prometheus
- Detailed instructions on setting up Prometheus to monitor the performance and health of your anomaly detection system.
9. What is Camel K?
- Introduction to Camel K, a lightweight integration framework built on Apache Camel, designed for Kubernetes.
10. Configuring Camel K Integrations for Data Pipelines
- Learn how to configure Camel K for seamless data pipeline integrations in your anomaly detection workflow.
11. What is a Jupyter Notebook?
- Overview of Jupyter Notebooks, an open-source web application for creating and sharing documents with live code, equations, visualizations, and narrative text.
12. Jupyter Notebooks with Code Examples
- Hands-on examples and code snippets in Jupyter Notebooks to help you implement and test anomaly detection models.
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
Dandelion Hashtable: beyond billion requests per second on a commodity serverAntonios Katsarakis
This slide deck presents DLHT, a concurrent in-memory hashtable. Despite efforts to optimize hashtables, that go as far as sacrificing core functionality, state-of-the-art designs still incur multiple memory accesses per request and block request processing in three cases. First, most hashtables block while waiting for data to be retrieved from memory. Second, open-addressing designs, which represent the current state-of-the-art, either cannot free index slots on deletes or must block all requests to do so. Third, index resizes block every request until all objects are copied to the new index. Defying folklore wisdom, DLHT forgoes open-addressing and adopts a fully-featured and memory-aware closed-addressing design based on bounded cache-line-chaining. This design offers lock-free index operations and deletes that free slots instantly, (2) completes most requests with a single memory access, (3) utilizes software prefetching to hide memory latencies, and (4) employs a novel non-blocking and parallel resizing. In a commodity server and a memory-resident workload, DLHT surpasses 1.6B requests per second and provides 3.5x (12x) the throughput of the state-of-the-art closed-addressing (open-addressing) resizable hashtable on Gets (Deletes).
Taking AI to the Next Level in Manufacturing.pdfssuserfac0301
Read Taking AI to the Next Level in Manufacturing to gain insights on AI adoption in the manufacturing industry, such as:
1. How quickly AI is being implemented in manufacturing.
2. Which barriers stand in the way of AI adoption.
3. How data quality and governance form the backbone of AI.
4. Organizational processes and structures that may inhibit effective AI adoption.
6. Ideas and approaches to help build your organization's AI strategy.
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
Skybuffer SAM4U tool for SAP license adoptionTatiana Kojar
Manage and optimize your license adoption and consumption with SAM4U, an SAP free customer software asset management tool.
SAM4U, an SAP complimentary software asset management tool for customers, delivers a detailed and well-structured overview of license inventory and usage with a user-friendly interface. We offer a hosted, cost-effective, and performance-optimized SAM4U setup in the Skybuffer Cloud environment. You retain ownership of the system and data, while we manage the ABAP 7.58 infrastructure, ensuring fixed Total Cost of Ownership (TCO) and exceptional services through the SAP Fiori interface.
7. Tools / Environment . GraphML Model with yEd GraphWalker MBT engine Selenium Java or SOAP QTP Via SOAP Hudson Build system
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
Editor's Notes
Although several definitions exists, most of them carry the same basic idea about an model describing a system of some sort and some way of using that model to get test cases (or rather test sequences).
The model describes the functionality of a system, or rather the functionality we want to test. You see the possible paths through the system visualized by arrows (aka edges) and nodes (aka vertexes). Traversing the model is quite simple; do something in an edge and verify that your actions turn out right in the following vertex, and on to the next one…. One beauty of this approach is that the code will be fairly small functions of “do:ing”, that would be Edges, and mainly “verifying”, Vertexes. I say mainly because one usually need to do some things to be able to verify, like open a customer dialog and search for latest transaction or create a database connection to check a certain post in a datatabel etc.
That is an interesting question! And a potential trap! Instinct will tell you not to model to “ shallow”, an extreme case would look like Edge_StartGoogle, Vertex_GoogleHome, Edge_NavToImagesAndVideosAndLoginGMailWithValidAndInvalidDataAndNavToHome and finally Vertex_ValidateAllWeJustDidt! Such a model will not benefit from anything. The data you want to verify is very far back and even more serious is the total lack of possible, “random”, paths through the system The opposite is not too good either, by cutting all and everything into small pieces you will end up with a too big model representing fairly little functionality compared to its size and loosing the overview benefits of the model. OK, so what is the appropriate medium way? I’d say use your knowledge, experience and gut feeling and fine-tune from that. Remember that you haven’t scripted anything yet so changes are fast and cheap!
You will be one that discover the misalignment of understanding between developers, testers, SME:s, product owners and the alike, and you didn’t even start to automate any tests yet! Now, that is proactive testing! (couldn’t we get this benefit with “classic” automation? Sure, just try getting the parties mentioned to read your test cases….compared to browsing through a model on the and informally discuss the functionality. I’ll bet even your boss will glance at the model and nod in pseudo-understanding….)
No UML GraphWalker own ruleset in conjunction with GraphML , is easier to get started with than UML. As testers, we do not need all functionality that UML has to offer. No exit/stop points The idea behind this, is that we want long, unpredictable test sequences. We do not want to walk the same path every time we execute a test. We want variation, spiced with randomness. This will create a better 'test coverage' of the system under test. The way to tell GraphWalker to stop generating test sequences are done by means of Stop Criterias, passed as arguments to the tool. Online GraphWalker supports online test sequence generation. Using the online mode, the tool is capable of testing non-deterministic systems. In essence, this means that the path walked through the model is decided runtime, during the actual test execution. This is very helpful if your test execution tool needs to communicate with the model during the test. Event-driven GraphWalker will support (from version 2.5.1-SNAPSHOT) the possibility to switch model caused by an event. For example, let's say we have a model that executes the navigation of the GUI of a mobile phone. At any point in that execution, an incoming call will be such an event that will switch from navigating the GUI, to a model that handles the call.