How Can Simple Model Test Complex System Model Based Testing of Large-Scale Software Victor Kuliamin ISP RAS, Moscow.

Slides:



Advertisements
Similar presentations
Complex Test Suites Organization Victor Kuliamin ISP RAS, Moscow.
Advertisements

Model Based Testing in Linux Standard Base Compliance Program A.V.Khoroshilov, A.K.Petrenko { khoroshilov, petrenko ispras.ru MBT Users Conference.
Multi-Paradigm Models as Source for Automatic Test Construction Victor Kuliamin ISP RAS, Moscow.
T-FLEX DOCs PLM, Document and Workflow Management.
Testing AJAX functionality with UniTESK Yevgeny Gerlits, a postgraduate student from Lomonosov Moscow State University SYRCoSE 2010.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Feb. 23, 2004CS WPI1 CS 509 Design of Software Systems Lecture #5 Monday, Feb. 23, 2004.
For more Lectures and Notes Visit
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
Chapter 10 Application Development. Chapter Goals Describe the application development process and the role of methodologies, models and tools Compare.
Router modeling using Ptolemy Xuanming Dong and Amit Mahajan May 15, 2002 EE290N.
Course Instructor: Aisha Azeem
High Level: Generic Test Process (from chapter 6 of your text and earlier lesson) Test Planning & Preparation Test Execution Goals met? Analysis & Follow-up.
Introduction to Software Testing
Generation of WEB SERVICES Using PROGRAM SLICING RAVINDRA KUMAR SUDIP AKURA AMIT KUMAR BALKARAN SINGH SIDHU
Formal Methods in Industrial Software Standards Enforcement A. Grinevich, A. Khoroshilov V. Kuliamin, D. Markovtsev A. Petrenko, V. Rubanov ISP RAS, Moscow,
INFO425: Systems Design INFORMATION X Finalizing Scope (functions/level of automation)  Finalizing scope in terms of functions and level of.
© Siemens AG, CT SE 1, Dr. A. Ulrich C O R P O R A T E T E C H N O L O G Y Research at Siemens CT SE Software & Engineering Development Techniques.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Copyright © Siemens AG All rights reserved. Essential Criteria on MBT to Ensure Quality of Software in Industry PVR Murthy Andreas Ulrich Siemens.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
Microsoft Visual Studio 2010 Muhammad Zubair MS (FAST-NU) Experience: 5+ Years Contact:- Cell#:
Multimedia Teaching Tool SimArch V1.0 Faculty of Electronic Engineering University of Nis Serbia.
Contract Specification of Pipelined Designs Alexander Kamkin Institute for System Programming of RAS
WINS Data provides customized software solutions, web development, client-server applications using all major up-to-date technologies. We have experience.
Microsoft Visual Studio 2010 Muhammad Zubair MS (FAST-NU) Experience: 5+ Years Contact:- Cell#:
Automated Generation of Test Suites from Formal Specifications Alexander K.Petrenko Institute for System Programming of Russian Academy of Sciences (ISP.
CS480 Computer Science Seminar Introduction to Microsoft Solutions Framework (MSF)
Intel Academic Forum. Budapest, September, 2002 ISPRAS Experience in Model Based Testing Alexander K. Petrenko, Institute for System Programming.
Software Verification Academician V.P.Ivannikov, Director of ISPRAS Moscow, November 2008.
What’s New in Automated Software Testing and ClearQuest Shmuel Bashan IBM Rational
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
© DATAMAT S.p.A. – Giuseppe Avellino, Stefano Beco, Barbara Cantalupo, Andrea Cavallini A Semantic Workflow Authoring Tool for Programming Grids.
IBM Software Group ® Overview of SA and RSA Integration John Jessup June 1, 2012 Slides from Kevin Cornell December 2008 Have been reused in this presentation.
Dan Masethe (Software Engineering Dept) Work Integrated Learning Coordinator and Lecturer.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Code Contracts Parameterized Unit Tests Tao Xie. Example Unit Test Case = ? Outputs Expected Outputs Program + Test inputs Test Oracles 2 void addTest()
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
Applying Model Based Testing in Different Contexts Alexander Petrenko Victor Kuliamin ISP RAS, Moscow.
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.
Towards Model-Driven Unit Testing Gregor Engels Baris Güldali Marc Lohmann 02. October rd Workshop on Model design and Validation.
CSC480 Software Engineering Lecture 10 September 25, 2002.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Using Cycle-Accurate Contract Specifications for Testing Hardware Models Alexander Kamkin Institute for System Programming of RAS
Java EE Patterns Dan Bugariu.  What is Java EE ?  What is a Pattern ?
UniTesK: Model Based Testing in Industrial Practice Victor Kuliamin Alexander Petrenko Alexander Kossatchev Igor Burdonov Institute for System Programming.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Software Design Lecture What’s Design It’s a representation of something that is to be built. i.e. design  implementation.
ISP RAS Java Specification Extension for Automated Test Development Igor B. Bourdonov, Alexei V. Demakov, Andrei A. Jarov, Alexander S. Kossatchev, Victor.
 Programming - the process of creating computer programs.
UniTesK Test Suite Architecture Igor Bourdonov Alexander Kossatchev Victor Kuliamin Alexander Petrenko.
Model Design using Hierarchical Web-Based Libraries F. Bernardi Pr. J.F. Santucci {bernardi, University of Corsica SPE Laboratory.
CSC 480 Software Engineering High Level Design. Topics Architectural Design Overview of Distributed Architectures User Interface Design Guidelines.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 15. Review Interaction-Oriented Software Architectures – MVC.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Lecture 21: Component-Based Software Engineering
Andrey Karaulov, Alexander Strabykin Institute for System Programming Russian Academy of Sciences SYRCoSE: Spring Young Researchers Colloquium on Software.
UniTesK Test Suite Architecture Igor Bourdonov Alexander Kossatchev Victor Kuliamin Alexander Petrenko.
Whole Test Suite Generation. Abstract Not all bugs lead to program crashes, and not always is there a formal specification to check the correctness of.
Parallelizing Functional Tests for Computer Systems Using Distributed Graph Exploration Alexey Demakov, Alexander Kamkin, and Alexander Sortov
Linux Standard Base Основной современный стандарт Linux, стандарт ISO/IEC с 2005 года Определяет состав и поведение основных системных библиотек.
Technical Specifications
Unit OS2: Operating System Principles
Software Connectors – A Taxonomy Approach
Software Engineering with Reusable Components
V. Kuliamin, A. Petrenko, N.!Pakoulin, I.!Bourdonov, A.!Kossatchev
Chapter 5 Architectural Design.
Software Development Process Using UML Recap
Mark Quirk Head of Technology Developer & Platform Group
Presentation transcript:

How Can Simple Model Test Complex System Model Based Testing of Large-Scale Software Victor Kuliamin ISP RAS, Moscow

Real Software Systems System Year Size (MLOC) Windows Windows NT Windows Windows NT ,5 Red Hat Linux Debian Linux Windows Red Hat Linux Sun StarOffice ,6 Debian Linux Red Hat Linux Windows XP Red Hat Linux Debian Linux They are huge and have a lot of functions They have very complex interfaces They are developed by hundreds of people They are distributed and concurrent System Year DevTeam Size Windows NT Windows NT Windows NT Debian Linux * Debian Linux * Windows Debian Linux * Debian Linux *

Quality of Real Software Systems System Year TestTeam Size Windows NT Windows NT Windows NT (0.9) Windows (1.2) System Test Cases, K MS Word XP 35 Oracle 10i 100 Window XP >2000 (?) They are tested a lot But  Details of their behavior are not well defined  And they still do have serious bugs

Model Based Testing – a Solution? Potential to test very large systems with high adequacy Parallelization of work on system and its tests Google on “model based testing” “case study” gives  ~630 links on ~230 sites  ~60 separate case studies concerned with industry since 1990 Most MBT case studies are small  30 KLOC Most MBT techniques are based on state models and hence prone to state explosion problem ?

Fighting Complexity No simple way to test a complex system adequately But manageable way exists – use of general engineering principles  Abstraction  Separation of concerns  Modularization  Reuse

UniTesK Solutions Modularize the system under test – contract specifications of components Modularize the test system – flexible test system architecture  Adapters – binding test system and SUT  Contracts Oracles – checking SUT’s behavior  Test coverage goals based on contracts  Test data generators for single operation  Testing models (test scenario) – test sequence composition Abstract contract, more abstract testing model Reusability of contracts, testing models, test data generators →

Software Contracts Component AComponent C Component BComponent D Contract A Contract D Contract C Contract B Subsystem IISubsystem I Contract II Contract I Contracts (preconditions, postconditions, data integrity constraints) help to describe components on different abstraction levels

Test Coverage Goals post { if ( f(a, b) || g(a) ) … else if( h(a, c) & !g(b) ) … else … } !f(a, b) && !g(a) && !h(a, c) || !f(a, b) && !g(a) && g(b)

Testing Model states parametersoperation domain coverage goals

Test Data Generation Computation of single call arguments current state parameters states Test data generation is based on simple generators and coverage filtering

The Whole Picture System under Test Behavior Model Testing Model Coverage Model On-the-fly Test Sequence Generation Single Input Checking

Testing Concurrency s 11 Target System s 21 s 12 s 31 Multisequence is used instead of sequence of stimuli Stimuli and reactions form a partially ordered set r 12 r 22 r 11 r 21 Time

Plain concurrency : behavior of the system is equivalent to some sequence of the actions Checking Composed Behavior Plain concurrency axiom   ✕

The Case Study 1994 – 1996 ISP RAS – Nortel Networks project on functional test suite development for Switch Operating System kernel Size of the SUT is ~250 KLOC ~530 interface operations 44 components were determined ~60 KLOC of specifications ~40 KLOC test scenarios developed in 1.5 year by 6 people A lot of bugs found in the SUT, which had been in use for 10 years Several of them cause cold restart ~30% of specifications are used to test other components 3 versions of the SUT were tested by 2000 (~500 KLOC) Changes in the test suite were <5%

Other Case Studies IPv6 implementations  Microsoft Research  Mobile IPv6 (in Windows CE 4.1)  Oktet Intel compilers Web-based banking client management system Enterprise application development framework Billing system Components of TinyOS

UniTesK Tools 2001 Java / NetBeans, Eclipse (plan) Link 2003 C++ / NetBeans + MS Visual Studio CTesK 2002 C / Visual Studio 6.0, gcc 2003 C# / Visual Studio.NET 7.1 OTK 2003 Specialized tool for compiler testing

References 1.V. Kuliamin, A. Petrenko, I. Bourdonov, and A. Kossatchev. UniTesK Test Suite Architecture. Proc. of FME LNCS 2391, pp , Springer-Verlag, V. Kuliamin, A. Petrenko, N. Pakoulin, I. Bourdonov, and A. Kossatchev. Integration of Functional and Timed Testing of Real-time and Concurrent Systems. Proc. of PSI LNCS 2890, pp , Springer-Verlag, V. Kuliamin, A. Petrenko. Applying Model Based Testing in Different Contexts. Proceedings of seminar on Perspectives of Model Based Testing, Dagstuhl, Germany, September A. Kossatchev, A. Petrenko, S. Zelenov, S. Zelenova. Using Model-Based Approach for Automated Testing of Optimizing Compilers. Proc. Intl. Workshop on Program Undestanding, Gorno-Altaisk, V. Kuliamin, A. Petrenko, A. Kossatchev, and I. Burdonov. The UniTesK Approach to Designing Test Suites. Programming and Computer Software, Vol. 29, No. 6, 2003, pp (Translation from Russian) 6.S. Zelenov, S. Zelenova, A. Kossatchev, A. Petrenko. Test Generation for Compilers and Other Formal Text Processors. Programming and Computer Software, Vol. 29, No. 2, 2003, pp (Translation from Russian)

Contacts Victor V. Kuliamin , B. Kommunisticheskaya, 25 Moscow, Russia Web: Phone: Fax:

Thank you!