Useful Tools for Testing

Slides:



Advertisements
Similar presentations
The following 10 questions test your knowledge of desired configuration management in Configuration Manager Configuration Manager Desired Configuration.
Advertisements

The map and reduce functions in MapReduce are easy to test in isolation, which is a consequence of their functional style. For known inputs, they produce.
Lectures on File Management
© 2010 Wipro Ltd - Confidential SGSN Automation Testing Using TTCN3 Authors: Jyothi Gavara Nikhil Rahul Ekka.
Test Automation Framework Ashesh Jain 2007EE50403 Manager Amit Maheshwari.
1 Chapter 12 Working With Access 2000 on the Internet.
Object-Oriented Enterprise Application Development Tomcat 3.2 Configuration Last Updated: 03/30/2001.
David Adams ATLAS DIAL Distributed Interactive Analysis of Large datasets David Adams BNL March 25, 2003 CHEP 2003 Data Analysis Environment and Visualization.
Secure Off Site Backup at CERN Katrine Aam Svendsen.
1 DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 3 Processes Skip
Input Validation For Free Text Fields ADD Project Members: Hagar Offer & Ran Mor Academic Advisor: Dr Gera Weiss Technical Advisors: Raffi Lipkin & Nadav.
VIRTUALISATION OF HADOOP CLUSTERS Dr G Sudha Sadasivam Assistant Professor Department of CSE PSGCT.
Linux Operations and Administration
October 30, 2008 Extensible Workflow Management for Simmod ESUG32, Frankfurt, Oct 30, 2008 Alexander Scharnweber (DLR) October 30, 2008 Slide 1 > Extensible.
DIANE Overview Germán Carrera, Alfredo Solano (CNB/CSIC) EMBRACE COURSE Monday 19th of February to Friday 23th. CNB-CSIC Madrid.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Building service testbeds on FIRE D5.2.5 Virtual Cluster on Federated Cloud Demonstration Kit August 2012 Version 1.0 Copyright © 2012 CESGA. All rights.
Configuration Management and Server Administration Mohan Bang Endeca Server.
Redes Inalámbricas Máster Ingeniería de Computadores 2008/2009 Tema 7.- CASTADIVA PROJECT Performance Evaluation of a MANET architecture.
© 2012 WIPRO LTD | 1 Version 1.0a, 23 rd April 2012 TTCN-3 Users Conference Practical integration of TTCN-3 with Robot test automation framework.
© 2012 LogiGear Corporation. All Rights Reserved Robot framework.
Imperial College Tracker Slow Control & Monitoring.
Business Unit or Product Name © 2007 IBM Corporation Introduction of Autotest Qing Lin.
Capture and Replay Often used for regression test development –Tool used to capture interactions with the system under test. –Inputs must be captured;
Cloud Standard API and Contextualization
11 MANAGING AND DISTRIBUTING SOFTWARE BY USING GROUP POLICY Chapter 5.
Design and Programming Chapter 7 Applied Software Project Management, Stellman & Greene See also:
FYP Final Presentation: Distributed Audio Mixing Daire O'Neill, Final Year Electronic Engineering Project Supervisor: Dr Peter Corcoran Co-Supervisor:
| nectar.org.au NECTAR TRAINING Module 10 Beyond the Dashboard.
The Basics of Javadoc Presented By: Wes Toland. Outline  Overview  Background  Environment  Features Javadoc Comment Format Javadoc Program HTML API.
MAE Continuous Integration Administration guide July 8th, 2013.
Using OUI to install Oracle9i Release 2 on an OpenVMS System.
Installing Oracle9i RAC Release 2 on HP OpenVMS Systems.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.
Some Design Notes Iteration - 2 Method - 1 Extractor main program Runs from an external VM Listens for RabbitMQ messages Starts a light database engine.
TimePro End of Day Routine Current Day Has everyone finished work? No Yes Automatic (Leave TimePro running on PC connected to the Clock) You will have.
Software Architecture in Practice Practical Exercise in Performance Engineering.
Guide to Linux Installation and Administration, 2e1 Chapter 11 Using Advanced Administration Techniques.
Member: Wei-Jie Hsiao 、 Hui-Hsiung Chung Advisor: Quicy Wu Date: Mar.23 1.
SilkTest 2008 R2 SP1: Silk4J Introduction. ConfidentialCopyright © 2008 Borland Software Corporation. 2 What is Silk4J? Silk4J enables you to create functional.
Horizon: CDR The Horizon Project Team September 29 th, 2006.
ALICE Use of CMF (CC) for the installation of OS and basic S/W OPC servers and other special S/W installed and configured by hand PVSS project provided.
CSE 548 Advanced Computer Network Security Trust in MobiCloud using Hadoop Framework Updates Sayan Cole Jaya Chakladar Group No: 1.
| nectar.org.au NECTAR TRAINING Module 5 The Research Cloud Lifecycle.
| nectar.org.au NECTAR TRAINING Module 10 Beyond the Dashboard.
Maite Barroso - 10/05/01 - n° 1 WP4 PM9 Deliverable Presentation: Interim Installation System Configuration Management Prototype
Linux Operations and Administration
SQL SERVER 2008 Installation Guide A Step by Step Guide Prepared by Hassan Tariq.
Understand Windows Services Software Development Fundamentals LESSON 5.3.
TDAQ Experience in the BNL Liquid Argon Calorimeter Test Facility Denis Oliveira Damazio (BNL), George Redlinger (BNL).
S.Linev: Go4 - J.Adamczewski, H.G.Essel, S.Linev ROOT 2005 New development in Go4.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Spell Checker web service (you build a web client that interacts with the service) The client uses a servlet class and a JSP page. The user passes information.
 Project Team: Suzana Vaserman David Fleish Moran Zafir Tzvika Stein  Academic adviser: Dr. Mayer Goldberg  Technical adviser: Mr. Guy Wiener.
Wednesday NI Vision Sessions
Progress Apama Fundamentals
Integrating ArcSight with Enterprise Ticketing Systems
Integrating ArcSight with Enterprise Ticketing Systems
Apache Ignite Data Grid Research Corey Pentasuglia.
Useful Tools for Testing
Deploying and Configuring SSIS Packages
Leanne Guy EGEE JRA1 Test Team Manager
OPNFV Arno Installation & Validation Walk-Through
slides borrowed and adapted from Alex Mariakis and CSE 390a
Introduction to JUnit CS 4501 / 6501 Software Testing
An introduction to the Linux environment v
Status and plans for bookkeeping system and production tools
Presentation transcript:

Useful Tools for Testing Aled Smith

Useful Tools for Testing This presentation will be looking at two useful tools for performing tests: Virtual Machine Creator https://svn.cern.ch/reps/en-ice-svn/trunk/utilities/SIC/virtual-environment-setup/vm_creator/ Unit-Test-Harness https://svn.cern.ch/reps/en-ice-svn/trunk/utilities/SIC/virtual-environment-setup/Unit_Test_Harness A use case for each of these tools will also be demonstrated.

VM Creator: Overview What is it? The Virtual Machine Creator is a Python based script that fully automates the process of creating and configuring OpenStack virtual machines. How does it work? The VM creator uses three main components: Fabric - A Python based SSH wrapper. JenkinsAPI - A Python based API for Jenkins. Nova - A Python based API to OpenStack. What can it do? Fabric provides the Virtual Machine Creator with a Python based SSH interface to a virtual machine so that any SSH tasks like installing and configuring software can be executed from a Python script. It also provides built-in functions to perform tasks like sudo commands and file transfers. JenkinsAPI allows the Virtual Machine Creator to interact with Jenkins and performs tasks like registering new slave nodes and executing Jenkins jobs. Nova allows the Virtual Machine Creator to interact with OpenStack and perform tasks like creating, deleting and modifying virtual machines. Jenkins OpenStack JenkinsAPI Nova SSH Fabric VM Creator

VM Creator: Use Case This use case will create a CERN Scientific Linux 6 Jenkins slave virtual machine running with WinCC-OA installed for the purposes of running test projects using Jenkins. Generate new key-pair Create virtual machine Expand main partition Add ‘jenkinst’ service account Install WinCC-OA Subversion Install PVSSBootstrapper Java Connect VM to Jenkins X-Window This basic flow chart shows the main tasks that the Virtual Machine Creator must complete for this particular use case. However, the Virtual Machine Creator is not restricted to any specific use case and the user can pick and choose the functions they’d like to use and also add their own.

Create virtual machine Create virtual machine Install PVSSBootstrapper VM Creator: Use Case This use case will create a CERN Scientific Linux 6 Jenkins slave virtual machine running with WinCC-OA installed for the purposes of running test projects using Jenkins. Generate new key-pair Create virtual machine Create virtual machine This basic flow chart shows the main tasks that the Virtual Machine Creator must complete for this particular use case. However, the Virtual Machine Creator is not restricted to any specific use case and the user can pick and choose the functions they’d like to use and also add their own. For example, in this use case, a CERN Scientific Linux 6 virtual machine is created with WinCC-OA installed that is not a Jenkins slave, has a local account called ‘pvss’ and has Kerberos setup so that DFS can be mounted and accessed. Add ‘pvss’ local account Expand main partition Install X-Window Install WinCC-OA Install PVSSBootstrapper Install Subversion Setup Kerberos Mount DFS

VM Creator: Use Case The WinCC-OA Jenkins slave creator use case described previously has been implemented and incorporated into a Jenkins job. Jenkins Job: https://icejenkins.cern.ch/job/CREATE_JENKINS_SLAVE/

Unit-Test-Harness: Overview What is it? The Unit-Test-Harness is a tool that automates the process of unit testing framework components within a WinCC-OA project. What can it do? It can be invoked from command line using Python or from a GUI panel within the project. It can automatically create a new WinCC-OA project and install the required components It can automatically run the unit tests and publish the results in Junit XML format. How does it work? The user creates a ctl script containing the unit tests. If executed from the GUI panel, the Unit-Test-Harness finds any unit tests within the project and presents them to the user. The user can then select the tests that they want executing. If executed from the command line, the user needs to describe the components that need to be installed/tested, their sources and the location of the unit test ctl script in an XML file. The Unit-Test-Harness can then parse the XML and either create a new test project or use an existing one. It then performs the desired units tests and publishes the results in Junit XML format. Finally, the Unit-Test-Harness can also delete the project and clean-up any downloaded files.

Unit-Test-Harness: Overview Start via GUI panel. Find available unit tests within project. Run the unit tests. Publish the results of the unit tests. End via GUI panel. User selects unit tests. CTRL Python Delete project Start via command line. Use existing project? Check project is registered and start it. Create project, install desired components and start project. Start Unit-Test-Harness within project. Copy results from project and stop project Clean-up project? End via command line. Yes No

Unit-Test-Harness: Use Case This use case is used to test whether an RDA3 client correctly receives different formats of data while the RDA3 server continuously iterates the data it publishes. It checks that the client is receiving the data correctly by using a listener that checks each iteration of data that is received and records any missed or incorrect iterations. This use case requires some logic to be run outside of the Unit-Test-Harness such as starting the RDA3 Server. The Unit-Test-Harness can therefore be run separately in two ways: With runTestsImediatley=False, the Unit-Test-Harness will setup the project and download and install the desired components but not run the unit tests. With useExistingProject = True, the Unit-Test-Harness executes the units tests and retrieves the results on the already created project. This use case was also incorporated into a Jenkins job and is shown in the following flow chart:

Unit-Test-Harness: Use Case Start via GUI panel. Find available unit tests within project. Run the unit tests. Publish the results of the unit tests. End via GUI panel. User selects unit tests. CTRL Python Start Jenkins job Start RDA3 client Start RDA3 server Start listener and leave running for fixed time End of Jenkins job Publish test results Jenkins Initialise listener values Stop listener Delete project Start via command line. Use existing project? Check project is registered and start it. Create project, install desired components and start project. Start Unit-Test-Harness within project. Copy results from project and stop project Clean-up project? End via command line. Yes No runUnitTests.py runTestsImmediately = False useExistingProject = True

Unit-Test-Harness: Use Case In this screenshot, you can see the XML code within the XML configuration file that is passed to the Unit-Test-Harness through the command line. The XML file describes the components that need to be installed, their sources and also defines the location of the test suite file. Specifying just the test suite tells the Unit-Test-Harness to execute all of the unit test cases but these can also be specified individually using the <testCase> tag.

Unit-Test-Harness: Use Case In this screenshot, you can see a snapshot of the code within the test suite file. In this ctl script, the user defines the unit test cases and their logic. Each unit test should have an assert routine. The Unit-Test-Harness supports the following assert routines: assertError() assertEmpty() assertEqual() assert() assertTrue() assertFalse() Jenkins Job: https://icejenkins.cern.ch/job/RDA3_CLIENT_MONITOR/

Any questions? Useful Links: Virtual Machine Creator: https://svn.cern.ch/reps/en-ice-svn/trunk/utilities/SIC/virtual-environment-setup/vm_creator/ Unit-Test-Harness: https://svn.cern.ch/reps/en-ice-svn/trunk/utilities/SIC/virtual-environment-setup/Unit_Test_Harness Fabric: http://docs.fabfile.org/en/1.10/ JenkinsAPI: http://jenkinsapi.readthedocs.org/en/latest/ Nova: http://docs.openstack.org/developer/python-novaclient/