MetaBoss
User Guides
Synopsis
Beginner's Guide
Configuration Guide
Design Studio Guide
Programming Model Guide
Testing Framework Guide
'How To ...' Guides
References
Synopsis
Design Model Reference
Design Model UML Profile
Test Schema Reference
MetaBoss design library
Run-time libraries API
Dev-time libraries API
HatMaker Example
Synopsis
Enterprise Model Description
Enterprise Model Reference
SystemTest Example
WebServices Example
Miscellaneous
About MetaBoss
Quality Assurance
Compatibility Notes
Acknowledgments
Glossary
Change Log
Version 1.4.0001
Built on 15 Dec 2005 22:31:47

MetaBoss Testing Framework Guide.

Introduction.

Overview

MetaBoss testing framework combines Service Interface Definitions from MetaBoss Enterprise Model with XML technologies and offers the following features:

  • Ability to formally define test cases including Prerequisite conditions, Parameters, Service invocation instructions and Result Acceptance criteria. By formally we mean that the definitions are expressed in platform, programming language and technology independent XML format in accordance with Service XML Schemas generated from the model.
  • Ability to execute these test cases in sequence, measure performance and log the test results in convenient form.
  • Ability to compare current test results against previously saved specimen results in order to detect any regression which might have occurred in the newer version of the systems.
  • Ability to rapidly build and use a simulated service implementation for any new, as yet undeveloped service.

Note that this framework is based on the MetaBoss's ability to generate the Enterprise Services XML Schema, which fully describes all Services in the enterprise. This schema includes definitions for Operations, Input and Output values and Output messages. The schema is physically generated by one of the Service Adapter generators - namely Generic Dom Elements Adapter generator. This generator creates one schema file per servicemodule (note that the same rule is for namespaces - one namespace per servicemodule) and places it in the generated source directory all generated java source files. Also a link to the schema document is provided from the Javadoc API documentation page for this adapter.

Comparison with JUnit framework

One of the most frequently asked questions related to the MetaBoss Testing Framework is that How is this Framework different to JUnit? or Why not simply use JUnit?.

For the benefit of some readers let us mention that JUnit is a very popular Java based Testing framework. It contains a java class library providing abstractions for the components of test and various test running utilities. User of JUnit needs to extend classes in the class library and create families of Tests, Fixtures and Test Sutes. Once this is done these tests could be executed in various ways. Freedom of "native" Java gives JUnit user ability to test anything - from single java class to the big enterprise system. However, with this freedom comes certain complexity in preparation and maintaining of the test cases (eg. requirement for Java programmer to prepare test cases)

MetaBoss Testing Framework is similar to JUnit in spirit, but differs in following key aspects:

  • Use of MetaBoss Testing Framework is limited to testing Services (as in Service Oriented Architecture or SOA), which are formally modelled in the Enterprise Model.
  • The advantage of this voluntary limitation is that the language in which tests are defined is not a specific procedural programming language (eg. Java), but XML which is governed by Service XML Schemas generated from Enterprise Model. This makes it possible to have and directly execute Platform Independent Test Definitions based only on Platform Independent Model.
  • JUnit is a testing framework only. MetaBoss Testing Framework also includes simulation capability which allows to simulate behaviour of as yet uncoded Services again based solely on Platform Independent XML data files.