Component-based Simulation Framework for Testing of Software Components Tomáš Potužák Department of Computer Science and Engineering Faculty of Applied Sciences University of West Bohemia, Pilsen, Czech Republic 1 Presentation Content > > > Introduction and Motivation Component Models and Frameworks Simulation Framework Description > Features > Components Interactions > Restrictions and Issues > > Live Demonstration of the Simulation Framework Future Work 2 Introduction and Motivation > Software component approach > System constructed from set of individual components potentially created by various parties > Each component considered as black-box with no externally observable state > Testing of components > Often tested for extra-functional properties and quality of services (functionality according specification often considered implied) > Often utilization of potentially incorrect models of components > Simulation framework for testing of real components Component Models and Frameworks > Component model > Specifies the look, behavior, and interaction of the components > Component framework > Implementation of an specific component model > Not to be confused with simulation framework for testing > OSGi component framework > Widely used in many fields of industry > Spring DM extension of the OSGi > Simplification of the development process Simulation Framework for Component Testing > A simulation framework designed using SpringDM for testing of real components > No need for creation of models of the tested components > Testing of OSGi components > Framework also constructed from components > Modularity of the framework > Easy to change the features of the simulation > Implementation of the simulation framework > Tomáš Kabíček and Matěj Prokop as two master thesis Framework – Types of Components > Components of the framework > Components necessary for functionality of the framework > Real tested components > Components to be tested in the simulation framework > Simulated components > Components for providing of the services required by the real tested components > Intermediate components > Components for mediating of the services between two real tested components Framework – Types of Components Framework – Features I > Possible to test one or more real components in simulation environment > Services required by the real tested components provided by other real components or simulated components > All services invocations managed by the simulation framework using event calendar without necessity of deprecated methods > Depiction of components > Three variously detailed variants, automated components layout > Depiction of the simulation run by components highlighting and depiction of the events in the calendar Framework – Features II > Logging of all events of the simulation run into a text file > Logged all events, similar to the depiction of the calendar, but more detailed > Simulation scenarios described in XML files > Description of the components and their types > Description of external events in the simulation run > Description of the behavior of the simulated components (in separate XML files) Framework – Real/Simulated Components Framework – Real/Real Components Framework – Restrictions and Issues > Restriction > Only for OSGi/SpringDM components > Issues > No collections of statistics/results aside the log > Only one simple case study implemented, many aspects not tested > No handling of system time calls, remote services etc. Framework – Live Demonstration > Demonstration of the simple case study directly in the simulation framework Future Work > Implementation of a component for statistics collections > As a master thesis of a student > Testing of two more advanced case studies > File manager > Traffic crossroad > Solving of issues > Handling of system time calls and remote connections Thank you for your attention > Questions?