Provar Automated Testing The promise Embarking on a Salesforce project can present some fairly daunting testing requirements. You need to prove that your Salesforce functionality works as expected, with functionality such as complex workfows, custom processing and reports. Your project will most often need to interface with your existing IT system, providing a tricky and time sapping end-to-end testing challenge. You will need to do load and performance testing to ensure your SLAs can be met. The above becomes so much more challenging in Agile or phased delivery cycles where you’ll need to ensure that each new delivery has not broken previously tested functionality. It is widely accepted that automating this testing provides huge savings in time and expenditure while greatly reducing delivery risk, for your currently delivery as well as future deliveries, enhancements and bug ixes. But, until now, there has not been a tightly integrated and effective way of achieving true end-to-end test automation in the Salesforce space. Some pitfalls While automated testing is a must-have for most professionally managed projects, it is not uncommon for test suites to fall out-of-date or become unmaintainable. Common reasons for this are: • Ul-based testing is notoriously brittle and dificult to maintain. While Provar has strong support for this, we recommend that it be kept to the minimum. • Many testing frameworks are very technical, requiring that testers have specialist skills. • Many frameworks are cobbled together and fall into disuse when their creators move on. • Many commercial frameworks are not user-extendable, resulting in unacceptably long lead-times when changes are required. • Many frameworks are tied to a particular technology (e.g. Java or .NET) which leads to a dead-end when your end-to-end testing requirement expands. Welcome to Provar Provar is a “no code” end-to-end testing tool, which is tightly integrated with Salesforce. lt delivers the beneits of automated test while avoiding many of the pitfalls. DISCOVER THE DIFFERENCE WE CAN MAKE TO YOUR PROJECT Contact Jonathan Bainbridge: +44 (0)207 960 4197 J.bainbridge@makepositive.com Provar Automated Testing The product • • • • • • • • • • Tests are created by dragging and dropping test APIs onto a test case from a palette. No programming skills are required. Provar has tight integration with SeleniumHQ, allowing you to import and parameterise existing WebDriver tests and seamlessly create new ones. The Salesforce plug-in offers test APIs to test all standard Force.com functionality together with the facility to execute any APEX code, if required. It comes bundled with a rich set of general-purpose test APIs (e.g database, web, messaging, looping, branching). These can be used to test almost any existing system. Provar has been designed with extensibility in mind and creating a new test API is easy and takes a matter of minutes. Provar has a distributed test execution design whereby individual test steps can be executed on different hosts in any language (currently Java and C# are supported). Its distributed design makes Provar ideal for load and performance testing. Provar's advanced coniguration management features make it easy to maintain and run your tests against multiple test environments. Strong support for sourcing test data from external stores such as Excel spreadsheets or relational databases. This allows you to manage your test data in a business-friendly format. Provar test suites can be included in continuous integration builds (e.g. Jenkins and TeamCity), thereby enhancing your SDLC process. Architecture Repository Eclipse Selenium WebDriver Test Cases Test Editor Interactive Runner & Debugger Templates In-memory Test Execution Agent (Java) Test Data Web Custom Test APIs Management Dashboard Configuration Management Test Results Test Execution Controller Local Test Execution Agent (Java/.NET) SDLC Test Driven Development Test Results Continous Integration Remote Test Execution Agent (Java/.NET) Provar Automated Testing Salesforce driven approach • • • • • Developers will conigure custom objects and ield deinitions in the Salesforce org and they will manage their own testing using the Salesforce unit test framework. Testers to create automated Provar scripts by connecting to the development Org and creating CRUD tests, leveraging existing data. They can also call pre-built Provar Salesforce functions and combine this with Custom APIs and integrated Selenium GUI tests. Tests are formally run on the irst day of the test cycle and test evidence can be viewed in the Provar reporting tool or results can be viewed or stored in the test management tool of choice Developers to ix and re-run Provar tests manually, in debug mode or as part of the continuous Integration build. This allows testers to work on additional tests. Testers to concentrate on End to End test cases asserting not only the Salesforce application, but the expected results in a downstream application This approach not only provides immediate beneits to project, but the automated test script will then be used in the Regression Test suite ensuring a signed off piece of functionality. The same scripts can be run on multiple servers for load or performance testing and against any environment by simply re-coniguring the test at runtime. 5 ways to cover all your testing requirements with Provar 1. Tight Integration against your Salesforce project by connecting directly to your development organisation whilst authoring tests. • Ability to drag and drop test data and expected results from a previously executed manual test run • Access to Salesforce ields and data when updating test data • Salesforce API suite for features such as object approval • Ability to bulk load and assert data • 2. Support for running custom Apex code • Developers can provide access to their own implementations which were previously inaccessible to the tester • Ability to write custom APEX code using the force.com plugin and use Provar to parameterise and expose this functionality to tester • Supports returning of parameters from Execute Anonymous calls 3. Support for Salesforce UI testing • Drag and drop UI test steps from your Org and re-use existing data • Locators anchor to metadata not to labels which create robust tests • All Salesforce wait issues and browser quirks taken care of • No code for Salesforce Layouts and report testing Provar Automated Testing 4. Support for Visualforce UI testing • User extendible Page Object implementation • Anchors to metadata making it resilient to Label changes, location on pages and environment changes. 5. End to End testing • Support for Application versions, Environment Variables, Variables date logic and Static data repository • Provar provides rich API support for Database, Asynchronous messaging, Web Services, ile based operations and many more... • Uses the best features of Xpath2 and regular expression, but are exposed as easy to understand features for a non-technical tester • Supports debugging step mode which includes the ability to view Variables • Negative tests and comprehensive Assert functionality built in • Reporting tools DISCOVER THE DIFFERENCE WE CAN MAKE TO YOUR PROJECT Contact Jonathan Bainbridge: +44 (0)207 960 4197 J.bainbridge@makepositive.com