Testing RAVEN Helmut Neukirchen Faculty of Industrial Engineering, Mechanical Engineering and Computer Science University of Iceland, Reykjavík, Iceland.

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

System Integration Verification and Validation
User Interface Design Yonsei University 2 nd Semester, 2013 Sanghyun Park.
An overview on the Testing and Test Control Notation version 3 (TTCN-3) Helmut Neukirchen Háskóli Íslands
Software Engineering COMP 201
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
1 SWE Introduction to Software Engineering Lecture 5.
Introduction to Software Testing
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
 Cloud computing  Workflow  Workflow lifecycle  Workflow design  Workflow tools : xcp, eucalyptus, open nebula.
1 Software Testing (Part-II) Lecture Software Testing Software Testing is the process of finding the bugs in a software. It helps in Verifying and.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation.
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System.
Chapter 8 – Software Testing Lecture 1 1Chapter 8 Software testing The bearing of a child takes nine months, no matter how many women are assigned. Many.
CONTENTS Arrival Characters Definition Merits Chararterstics Workflows Wfms Workflow engine Workflows levels & categories.
Chapter 2: Software Process Omar Meqdadi SE 2730 Lecture 2 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software Testing. What is Software Testing? Definition: 1.is an investigation conducted to provide stakeholders with information about the quality of.
Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems CSCI-6140 – Computer Operating Systems David Goldschmidt, Ph.D.
Hadoop/MapReduce Computing Paradigm 1 Shirish Agale.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
 CS 5380 Software Engineering Chapter 8 Testing.
SOFTWARE TESTING Scope of Testing  The dynamic Indian IT industry has always lured the brightest minds with challenging career.
Software Testing The process of operating a system or component under specified conditions, observing and recording the results, and making an evaluation.
University of Kaiserslautern Department of Computer Science Integrated Communication Systems ICSY License4Grid: Adopting DRM for Licensed.
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
Lecture 7: Requirements Engineering
Introduction to Software Testing. Types of Software Testing Unit Testing Strategies – Equivalence Class Testing – Boundary Value Testing – Output Testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
This chapter is extracted from Sommerville’s slides. Textbook chapter
High Level Architecture (HLA)  used for building interactive simulations  connects geographically distributed nodes  time management (for time- and.
Introduction to Software Engineering. Why SE? Software crisis manifested itself in several ways [1]: ◦ Project running over-time. ◦ Project running over-budget.
Major Disciplines in Computer Science Ken Nguyen Department of Information Technology Clayton State University.
DISTRIBUTED COMPUTING. Computing? Computing is usually defined as the activity of using and improving computer technology, computer hardware and software.
Requirements Specification. Welcome to Software Engineering: “Requirements Specification” “Requirements Specification”  Verb?  Noun?  “Specification”
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
CS551 - Lecture 5 1 CS551 Lecture 5: Quality Attributes Yugi Lee FH #555 (816)
Testing, Testing & Testing - By M.D.ACHARYA QA doesn't make software but makes it better.
Distributed System Services Fall 2008 Siva Josyula
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Assoc. Prof. Dr. Ahmet Turan ÖZCERİT.  System and Software  System Engineering  Software Engineering  Software Engineering Standards  Software Development.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Software Testing and Quality Assurance 1. What is the objectives of Software Testing?
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
International Telecommunication Union © ITU-T Study Group 17 Integrated Application of SDL Amardeo Sarma NEC Europe Ltd.
What is a level of test?  Defined by a given Environment  Environment is a collection of people, hard ware, software, interfaces, data etc.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Cloud Computing – UNIT - II. VIRTUALIZATION Virtualization Hiding the reality The mantra of smart computing is to intelligently hide the reality Binary->
This chapter is extracted from Sommerville’s slides. Textbook chapter 22 1 Chapter 8 Validation and Verification 1.
Parallelizing Functional Tests for Computer Systems Using Distributed Graph Exploration Alexey Demakov, Alexander Kamkin, and Alexander Sortov
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
Testing and Evolution CSCI 201L Jeffrey Miller, Ph.D. HTTP :// WWW - SCF. USC. EDU /~ CSCI 201 USC CSCI 201L.
Copyright 1999 G.v. Bochmann ELG 7186C ch.1 1 Course Notes ELG 7186C Formal Methods for the Development of Real-Time System Applications Gregor v. Bochmann.
Software Engineering Lecture 11 Software Testing Presenter: Josef Hallberg 1.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XVII. Verification and Validation.
Software Testing Training Online. Software testing is ruling the software business in current scenario. It provides an objective, independent view of.
Supercomputing versus Big Data processing — What's the difference?
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Chapter 8 – Software Testing
Peer-to-peer networking
We need your input on gaps in Software Engineering (SE) for HPC!
Introduction to Software Testing
Decentralized Model-Based Testing of Distributed Systems
Chapter 7 Software Testing.
A Cross-Layer BPaaS Adaptation Framework
GGF10 Workflow Workshop Summary
Presentation transcript:

Testing RAVEN Helmut Neukirchen Faculty of Industrial Engineering, Mechanical Engineering and Computer Science University of Iceland, Reykjavík, Iceland

About me Helmut Neukirchen –Associate Professor for Computer Science at the University of Iceland since Currently in parental leave until end of 2010 –Before: researcher and lecturer in Germany. Phd in Computer Science & Postdoc at University of Göttingen Started PhD studies at University of Lübeck Studied Computer science at RWTH Aachen Research interests: Software Engineering & Distributed Systems –Software Quality, Testing Distributed System, Grid computing & Cloud computing.

What is Software Testing? “Testing is the process of executing a program with the intent of finding errors.” (Myers) “Program testing can be used to show the presence of bugs, but never to show their absence!” (Dijkstra) Testing is an expensive (up to 50% project costs), but important means of quality management. –Other means: reviews, checking of models, etc.

How does testing work? Stimulus is sent to system under test. Observe response. System under test Response Stimulus

Test types Functional test: –Test passed as long as observed response fits stimulus. Non-functional test: –Performance: Response must not only be correct, but be observed within certain time-limits. –Scalability/Load: Test correct & timely response at different system sizes & work loads. –Robustness –Security –Usability –…

Test levels: Unit test Test a single class by calling a method, test a protocol layer by sending a network message. –Cover methods/messages. UI / Visualisation Analysis CSR Network Tester CSR Tester Network Unit test of RAVEN CSR Unit:RAVEN System:

Test levels: Integration test Test that multiple units are able to work together. –Cover interface between integrated units. UI / Visualisation Analysis CSR Network Tester Analysis CSR Tester Network Integration test of RAVEN Analysis interacting with RAVEN CSR: RAVEN System:

Test levels: System test/Acceptance test Test the system as a whole via it’s user interface. –Cover usage scenarios. –System test: system tested in an artificial test environment. –Acceptance test: system tested in final environment. UI / Visualisation Analysis CSR Network System test of RAVEN: RAVEN System: UI / Visualisation Analysis CSR Network Tester

Automated test execution with TTCN-3 Testing and Test Control Notation version 3 Language for specifying distributed tests. Compilable into executable code: automated test execution. Standardised technology: –European Telecommunication Standards Institute (ETSI). –International Telecommunication Union (ITU). Strength in functional testing of distributed systems. –However, applicable to other domains, levels, and types of tests: From unit test to acceptance test level. From functional to non-functional (load, performance) tests. 3G/UMTS networks, IP networks, Grid. Rings, Neukirchen, Grabowski: Testing Grid Application Workflows Using TTCN-3. International Conference on Software Testing, Verification, and Validation, IEEE 2008

Distributed testing with TTCN-3 Testing a distributed system often requires a tester that is distributed itself. TTCN-3 supports this by the notion of test components: –execute behaviour of a test, –may run on different nodes of a test environment, –may co-ordinate their behaviour. System Under Test Test component Specified and implemented using TTCN-3 language

Testing RAVEN Functional test of RAVEN (at all levels: unit test, integration test, system test). –Networking/communication aspects: TTCN-3-based standard approach from protocol testing for telecommunication and network systems. –UI/visualisation aspects: Standard capture/replay approach may not work here. –Analysis aspects: Feasible as long as small “toy” examples are used as test data.

Challenges of testing RAVEN Performance test, Scalability/Load test of RAVEN: –Heisenberg’s uncertainty problem at the software (& hardware) scale: by observing (= testing) a system, we influence it, e.g. Communication overhead to co-ordinate distributed test components reduces network capacity. Self monitoring (  visualisation) overhead. –How to test analysis algorithms working on PB of test data? How to manage (generate, store) PB of test data?  Only possible to a certain size within an artificial test environment. Performance & Scalability beyond this size only testable by productive use in real environment? Performance & Scalability beyond this size may evaluated by simulation based on performance models! How do others (e.g. Apache Hadoop) do this? –A quick look: small artificial tests, big productive-use test.