eggPlant Functional TestPlant Ltd Functional test automation from mainframe to mobile. September 2013 1 Introduction eggPlant Functional is the unique and innovative software test automation tool from TestPlant that can verify the functionality and user experience of any application from mainframe mobile. Delivering the ability to test across any technology by seeing exactly what’s displayed on the Human Machine Interface, or HMI, eggPlant executes test routines in exactly the same way a human user does enabling end-to-end testing capabilities with it’s cross platform, technology agnostic technology. eggPlant Functional delivers better software in less time and lower cost. 2 eggPlant Functional overview eggPlant Functional uses patented image recognition technology to detect and interact with every pixel that makes up the display allowing it to control and deliver automation across the entire user interface. Using a series of unique features, eggPlant Functional allows for very simple development of automated routines, or scripts, to execute tests against any technology that includes an HMI. Those features include: Sophisticated image recognition to see the screen of the System Under Test, SUT. Easy to use scripting language, SenseTalk. Two system architecture delivering non-invasive testing. Beyond the unique capabilities of eggPlant Functional, there is a requirement to ensure test tools such as eggPlant Functional can support external functions such as script and test case management, communication with continuous integration tools and buck tracking systems. In addition, more traditional programming languages deliver extended integration which eggPlant Functional enables through its eggPlant Drive capability. 2.1 Image recognition technology eggPlant Functional’s patented technology was recognised as unique due to the use of sophisticated image recognition technology over a two system architecture. Its image based approach means eggPlant sees the screen in exactly the same way a human user does. Removing the dependency of understanding the code of the SUT enables eggPlant Functional to remain completely technology agnostic, automating workflows to verify functionality, performance and the user experience of the environment at every stage of the test. 2.2 SenseTalk scripting language Automation is meant to make testing easy, and therefore should be easy to implement. Scripting in complex development languages such as Python, Java or VBScript introduces difficulties that slow down implementation, limit expertise and have hidden costs when training for and onboarding the tool for use across the team. SenseTalk is eggPlant Functional’s proprietary scripting language that allows the nondevelopment user to create, modify and also execute test scripts with ease. A very Englishlike language, SenseTalk is easy to read, learn and implement. April 2014 2.3 Two system architecture Traditional testing tools have the inherent overhead of being installed on the SUT impacting the performance of hardware and environment in which the application is designed. eggPlant’s architectures allows it to test across two systems to ensure a non-invasive testing approach. The eggPlant Functional test controller is installed on one machine and remotely connects to the SUT. As displayed in Figure 1, eggPlant uses Virtual Network Computing [VNC] to communicate with SUT. Figure 1: eggPlant's Two System Model 2.4 Live mode and capture mode Within eggPlant Functional there are two modes of operation. Live mode allows the tester to freely interact with the SUT and operates in exactly the same state and even allows users to execute manual testing capabilities. To build the automated test routines, eggPlant Functional enters capture mode which allows users to navigate through your application under test following the steps of a manual testing procedure and in turn automatically writing an eggPlant test script. More advance scripters can directly write their tests within eggPlant’s scripting window. 3 Advanced functionality 3.1 Optical Character Recognition In addition to the sophisticated image recognition algorithms, eggPlant Functional incorporates a powerful Optical Character Recognition [OCR] engine that supports over 200 languages. This allows you to focus your testing on your target market, but additionally recognise and verify dynamic data displayed on any screen. April 2014 3.2 Cross platform, cross device testing The only data that VNC translates to your desktop is the graphical information about the pixels. This means that every SUT is treated in exactly the same way. This, combined with the image level approach, means that eggPlant can test any technology from mainframe to mobile: Figure 2: The universal tool Desktop – any operating system [Windows, Linux, Mac] Browser – any browser [Chrome, IE, Safari, Firefox, Opera] and technology [Flash, Flex, Silverlight, HTML 5] Mobile – iOS, Android, Blackberry, Windows, Symbian Embedded – Any embedded RTOS framework This includes any other technology with a user interface, from mainframe to server to cloud. 3.3 Multi device end-to-end testing Verifying the entire architecture and infrastructure across the system is imperative to ensure complete compatibility and integration across the environment. Using eggPlant Functional’s technology agnostic approach, a single license can seamless transition to test across multiple systems or devices without the need for any human interaction verifying any business or mission critical systems. 3.4 ODBC data driven testing During many test scenarios, the requirement to push variables or different data sets through the application under test is frequently required. eggPlant Functional includes full ODBC integration to enable multi dimensional data driven testing or data verification during any test cycle. In addition, simple text/CSV stored data can be utilised to execute these tests. 3.5 eggPlant Drive eggPlant Drive is an extension to eggPlant Functional that allows for full control of any eggPlant controller through any language that support XML-RPC. With the familiarity of more development heavy languages, eggPlant Drive allows more technical users to script in Java, Python, Ruby and more. April 2014 Figure 3: eggPlant Drive Figure 3 above illustrates the simplicity of eggPlant Drive. Commands sent from the XMLRPC framework are translated by eggPlant Drive for eggPlant, which runs the image based tests and returns the results 4 eggPlant Functional Integration The application life cycle consists of multiple elements and eggPlant Functional delivers an extensive solution for the automation of test execution. Test management, continuous integration and other form an important part of the testing ecosystem. eggPlant Functional includes specific adaptors with official APIs to enable communication between the eggPlant Functional controller and third part solutions and bespoke in-house solutions. Those integrations include: HP Quality Centre IBM Rational Quality Manager Zephyr Jira National Instruments Test Stand Jenkins/Hudson Further integrations are achievable through the command line, SenseTalk’s ‘shell()’ command and eggPlant Drive. 5 Additional benefits 5.1 Data entry As eggPlant Functional replicates every action performed by the end user, it can replace labour heavy manual processes of data entry. Using data driven testing techniques allows basic, repetitive population of generic data files can be fully automated from end to end in a faster, more efficient and cost saving approach. April 2014 5.2 User Acceptance Testing [UAT] eggPlant Functional, whilst physically driving the SUT to verify workflow and standard regression packs, it immediately can verify the user experience of the application removing the need to execute monotonous manual user acceptance tests. eggPlant Functional will interact with the pixels on the screen, a true representation of the performance of the top level of your application is quickly verified in any eggPlant Functional scripts. 5.3 Flexible Architecture Traditional testing tools are installed on the SUT with an instance of the particular testing tool required at each testing location and each SUT. eggPlant Functional’s two-system architecture enables its users to install a single eggPlant instance and test any number of systems in any locations. 5.4 Ease of Use Translating manual test cases into automated scripts with eggPlant Functional is very easy. It enables the user to step through the process by capturing images, and selecting the relevant function. There is no requirement to learn complex scripting languages such as Python or Ruby – eggPlant Functional is Plug ‘n’ Play. 5.5 Support Framework The TestPlant support team is a group of highly skilled individuals with a vast amount of experience in test automation. Under the standard licensing agreement we provide unlimited technical support through email, telephone and face-to-face. TestPlant is committed to ensuring that our customers maximise the potential of their eggPlant investment. 5.6 Professional Services Partnerships In addition to on-site visits and support from our support team, TestPlant manage an ecosystem of partnerships that allows extended training or even resource to support your project requirements with eggPlant expertise. Accelerator courses can be introduced under eggPlant Consultancy to provide additional resource to ensure users of eggPlant Functional can get up to speed very quickly. eggPlant Consultancy days are delivered per day and designed to support the introduction and implementation of eggPlant Functional as well as initial introductions and possible training associated with the tool. Simply, the introduction, implementations and training is designed around the desired goals and number of days allocated to consultancy. 6 eggPlant Licence Model eggPlant is sold on a 12 month term basis which includes… Full use to the latest version of eggPlant Full support and maintenance Free access to all new product releases Full access to our online guides and training material Inclusion in our Customer Care Programme April 2014 Terms of 24 months or greater are also available and include extended term discounts. eggPlant can be purchased with different levels of functionality. This functionality allows licences to be fixed or floating [eggPlant or eggPlant Team], develop or execute [Development or Execution] and finally the addition of our API [eggPlant Drive]. To establish the licences required please choose… eggPlant or eggPlant Team License? An eggPlant license can only be used on one computer (sometimes called a "node-locked license"), i.e. It can have multiple users however they all have to operate through the same machine. You may change the computer that a specific license is associated with, but this is a manual process through your eggPlant license portal, GreenHouse. An eggPlant Team license provides more flexibility by allowing a team of testers to share a license. The license can be used by any computer on your network, but only one tester may be using it at any given time. If you need multiple testers to be using eggPlant at the same time then you will need to purchase multiple eggPlant Team licenses. Development or Execution? A "development" license allows a tester to use the full functionality of eggPlant. Most importantly this includes both creating and executing test scripts. An "execution" license allows a tester to execute existing eggPlant scripts, but they cannot develop scripts. eggPlant Drive? eggPlant Drive provides you with an API that gives you full access to all the functionality of eggPlant. Everything from running an existing test script, to interactively executing specific commands on the system-under-test (e.g. screen touch). This allows you to fully integrate eggPlant into your wider testing, continuous integration or development environment. Please note that eggPlant Team licenses include eggPlant Drive. 7 About TestPlant TestPlant is an international software business based in London. It has development centres in the USA and the UK with sales and support centres in the USA, the UK and Asia as well as an extensive network of business partners. The company was founded in 2008 by George Mackintosh and Jon Richards with venture capital backing and it has shown rapid growth organically and through the acquisitions of Redstone Software and Facilita. TestPlant’s products are used in over 30 countries by well over 300 enterprise customers in sectors which include Financial Services, Automotive, Healthcare and Leif Sciences, Media and Entertainment, Retail and Defence and Aerospace. The eggPlant range is a set of tools which support the design, development, test and management of software applications for mainframe, desktop and mobile is any technology platform environment. The tools are relevant in the agile, mobile, web and DevOps deployments. eggPlant use improves and reports on the quality and responsiveness of software systems, reduces time to market and lowers costs by the introducing process automation. The eggPlant tools have been granted patents with several applications pending. The company’s achievements have been recognised with the software industry and by the venture capital community. TestPlant is also a Red Herring Global Top 100 company and was awarded a Queen’s Award for Enterprise in 2013. April 2014 8 Contact details Email: sales@testplant.com Tel: 0207 002 7888 www.testplant.com TestPlant Europe Ltd 6 Snow Hill London EC1A 2AY UK April 2014