A TOOL TO AUTOMATICALLY MAP IMPLEMENTATION-BASED TESTING TECHNIQUES TO CLASSES

Author(s):  
PETER J. CLARKE ◽  
JUNHUA DING ◽  
DJURADJ BABICH ◽  
BRIAN A. MALLOY

The object-oriented (OO) paradigm provides several benefits during analysis and design of large-scale software systems, but scores lower in terms of testability. The low testability score for OO software is due mainly to the composition of OO systems exhibiting the characteristics of abstraction, encapsulation, genericity, inheritance, polymorphism, concurrency and exception handling. To address the difficulty of testing the features of a class, a plethora of implementation-based testing techniques (IBTTs) have been developed. However, no one IBTT has emerged as the preferred technique to test the implementation of a class. In this paper we present a technique that automatically identify those IBTTs that are most suitable for testing a class based on the characteristics of that class. Our approach uses a taxonomy of OO classes that is used to succinctly abstract the characteristics of a class under test (CUT). We have implemented a tool that automates the process of mapping IBTTs to a class. In addition to identifying the IBTTs that would be best suited for testing a class, our tool provides feedback to the tester facilitating the identification of the characteristics of the class that are not suitably tested by any of the IBTTs in the list. We provide results of a study supporting the notion that using more than on IBTT during testing improves test coverage of a CUT.

Author(s):  
KUANG XU ◽  
JEFFREY J. P. TSAI

Despite the growing importance of multimedia applications, we still know relatively little about how to specify, design, and maintain this class of complex applications in a systematic manner. The concept of software architecture has recently emerged as a way to improve our ability to effectively construct and maintain large-scale complex software systems. Under this new paradigm, software engineers are able to do evolutionary design of complex systems through architecture specification, design rationale capture, architecture validation and verification, and architecture transformation. Several architecture description languages (ADLs), such as Wright, Rapide, UniCon, ACME, etc. have been proposed to support the architecture development under this new software paradigm. Although current ADLs more or less support certain features of object-oriented design approach, few of them are purely based on object-oriented paradigm. In this paper, we present an architecture description language — OOADL (Object-Oriented Architecture Description Language) to facilitate the architecture specification of multimedia software systems. This language takes object-oriented paradigm as its backbone, and provides formal semantics for modeling architectures of software systems. It also aims at other goals such as, support for hierarchical refinement, support for reuse of architecture styles, support for analysis, and support for exception handling. We also introduce the default architecture style which brings the features of extensibility and re-usability into the language. Finally, we use OOADL to construct part of the architecture framework of a multimedia system to illustrate the usage and modeling capability of OOADL.


2016 ◽  
Vol 11 (01) ◽  
Author(s):  
Rashmi Trivedi Sharma

In today’s fast pace world, large scale system design is sought for, and to fulfill this need Object-oriented paradigm is the solution. It includes various distinguished features that are not involved in their conventional analogues. Example: Encapsulation, Polymorphism, Object instantiation, Persistence, Synchronization, Message Passing, Inheritance, and Dynamic Binding etc. Hence, Testing for such programs becomes even more tedious than that for stereotyped programs. In this paper we have discussed about the testing being carried out in the Object Oriented domain. In order to conform to this, several new methodologies have been proposed like Scenario based testing, Deep structural testing, Surface structure testing, and fault-based techniques.


2014 ◽  
Vol 543-547 ◽  
pp. 3122-3125
Author(s):  
Zhi Yuan Gao ◽  
Hai Feng Huang ◽  
Jian Guo Yao ◽  
Yang Cao ◽  
Sheng Chun Yang

Testing is of great significance for the safe and reliable running of a large-scale software system. Starting from analysis on the weakness of Combinatorial Testing techniques when they are applied to large-scale software testing, a test model is given which is more in line with the actual characteristics, and some theorems about software input-output space reduction are also proven based on the model. It is proved that the input-output space of a large-scale software can be significantly reduced by proper decomposition according to the relationships between different software modules and the correlations between input factors and output factors. The results of this paper lay a theoretical foundation to simplify the testing of large-scale software systems.


2020 ◽  
Vol 12 (1) ◽  
pp. 34-39
Author(s):  
Thamer Al-Rousan ◽  
Hasan Abualese

Comprehending a huge execution trace is not a straightforward task due to the size of data to be processed. Detecting and removing utilities are useful to facilitate the understanding of software and decrease the complexity and size of the execution trace. The goal of this study is to develop a novel technique to minimize the complexity and the size of traces by detecting and removing utilities from the execution trace of object-oriented software. Two novel utility detection class metrics were suggested to decide the degree that a specific class can be counted as a utility class. Dynamic coupling analysis forms the basis for the proposed technique to address object-oriented features. The technique presented in this study has been tested by two case studies to evaluate the effectiveness of the proposed technique. The results from the case studies show the usefulness and effectiveness of our technique.


Author(s):  
Yuslena Sari ◽  
Irfan Prasetia

This paper presents concept of a database system on a computer software systems. Requirements in analysis and design are a serious problem in developing a manual system into a computer software system that is fully automated. To link the two systems (manual and automatic), a modeling language Unified Modeling Language (UML) is now accepted as the de facto standard for the design and specification of object-oriented systems. In this study, ULM modeling language used to design a management information system (MIS) of Toilet Maintenance on the Faculty of Engineering, Lambung Mangkurat University using Access 2013. From this system, dean as admin of the system, can immediately know the damage or the need of maintenance in real time every day. Such information would greatly assist the management on making decision related to monitoring, maintenance and repair of toilet in the Faculty of Engineering, Lambung Mangkurat University. The final results is to keep the cleanliness and reliability of toilet in the Faculty of Engineering, Lambung Mangkurat University.


Author(s):  
Peretz Shoval

This chapter explains the roles of a data dictionary (DD) in the development of the information system (IS) and describes its components. The chapter presents a possible implementation of the data dictionary both with the relational and the object oriented (OO) models. A DD is a database or repository of data on the products of the analysis and design phases. It is initially created during the analysis phase, containing details about the components of the object oriented data flow diagram (OO-DFD) and the data elements carried by their various dataflows. But it will be updated and extended throughout the design phase to include details about the products of that phase too. The DD is essential in the development of large-scale systems because it enables its users (analysts and designers) to define, save, and retrieve, in a standard manner, various details of the analysis and design products, details which are not included in those products. A DD can be implemented as a relational database consisting of tables, or as an OO database consisting of object classes. This chapter describes the components of a DD using both models. Obviously, at this stage we only describe the components which are created at the analysis phase.


2013 ◽  
Vol 278-280 ◽  
pp. 2029-2032
Author(s):  
Hao Hua Zhang ◽  
Yu Ren Zhai ◽  
Wen Jiang Feng ◽  
Hai Shen

The networks of interdependencies in large-scale Object Oriented software systems are complex, visualization and understand become the important issues for developer. We propose that topology structure can be imaged to network and better understood via core structure decomposition based on complex networks. The core structure analysis allows characterizing networks beyond the degree distribution and uncovering some potential characteristics, Such as structural hierarchies, centrality and evolution. We analyze the core structure of some popular open source software and discuss the differences and similarities, get some noticeable properties, the result show the method provides an interesting view helping to comprehend and evaluate system in development.


Author(s):  
Terrence P. Fries

The need for reengineering of software systems has dramatically increased as legacy systems are migrated to new platforms and rewritten in modern object-oriented languages. Although the de facto standard for describing object-oriented systems is the Unified Modeling Language (UML), many legacy systems have been documented using non-object-oriented structured analysis and design methods. Problems arise in the migration because non-object-oriented documentation is inherently not conducive to the development of object-oriented systems. This chapter presents a set of rules to automate the conversion of systems which were originally modeled using structured techniques to UML. The newly created UML documentation can then be used in developing an object-oriented equivalent system. The UML model may also be used by computer aided software engineering tools to implement a new system. The reengineering rules are tested on an example structured system to demonstrate their viability.


Sign in / Sign up

Export Citation Format

Share Document