Aspect-Oriented Approach for Testing Software Applications and Automatic Aspect Creation

Author(s):  
Manish Jain ◽  
Dinesh Gopalani

The existing techniques for software testing can be used to perform only a particular type of testing, and moreover proficiency is required to write the automation test scripts using these techniques. This paper proposes a novel software testing approach using Aspect-Oriented Programming (AOP) that alone suffices for carrying out most of the types of software testing and thus obliterates the need of using distinctive tools for different types of testing. Nevertheless, AOP is a new programming paradigm and not all testers have the proficiency of working with it. Hence, a domain-specific language named Testing Aspect Generator Language (TAGL) was developed which has got a very low learning curve. Using TAGL, testers can write the testing code in the form of natural language-like statements. Further, the lexical analyzer and parser, written using lex and yacc, convert the TAGL statements into actual testing code in the form of AOP. The proposed approach was applied for the testing of widely used open source projects and remarkable bugs were detected into them. A detailed comparison as to how our approach is effective than the conventional testing techniques is provided.

Author(s):  
Nahid Anwar ◽  
Susmita Kar

Software testing is the process of running an application with the intent of finding software bugs (errors or other defects). Software applications demand has pushed the quality assurance of developed software towards new heights. It has been considered as the most critical stage of the software development life cycle. Testing can analyze the software item to identify the disparity between actual and prescribed conditions and to assess the characteristics of the software. Software testing leads to minimizing errors and cut down software costs. For this purpose, we discuss various software testing techniques and strategies. This paper aims to study diverse as well as improved software testing techniques for better quality assurance purposes.


Author(s):  
Michal Sroka ◽  
Roman Nagy ◽  
Dominik Fisch

Abstract The article presents tCF (testCaseFramework) - a domain specific language with corresponding toolchain for specification-based software testing of embedded software. tCF is designed for efficient preparation of maintainable and intelligible test cases and for testing process automation, as it allows to generate platform specific test cases for various testing levels. The article describes the essential parts of the tCF meta-model and the applied concept of platform specific test cases generators.


Author(s):  
Pooja Kaplesh ◽  
Severin K. Y. Pang

Testing software is a process of program execution with the intent to find errors. For this purpose, various testing techniques have been used over time. Testing software is an intensive field of research in which much development work has been done. This field will become increasingly important in the future. There are many techniques for software testing. This chapter gives an overview of the entire range of software testing with suggestions for their implementation. One focus is on testing in an agile development process why the different types of software tests are important, and their cycle and methodology are described. In addition, different levels, types, and a comparative study on different types of tests are presented. The chapter also includes suggestions for performing the various tests and an effective approach to testing a software system.


Author(s):  
Xiaozhen Xue ◽  
Sima Siami-Namini ◽  
Akbar Siami Namin

Empirical studies show that coverage-based fault localizations are very effective in testing and debugging software applications. It is also a commonly held belief that no software testing techniques would perform best for all programs with various data structures and complexity. An important research question posed in this paper is whether the type and complexity of faults in a given program has any influence on the performance of these fault localization techniques. This paper investigates the performance of coverage-based fault localizations for different types of faults. We explore and compare the accuracy of these techniques for two large groups of faults often observed in object-oriented programs. First, we explore different types of traditional method-level faults grouped into six categories including those related to arithmetic, relational, conditional, logical, assignment, and shift. We then focus on class-level faults related to object-oriented features and group them into four categories including inheritance, overriding, Java-specific features, and common programming mistakes. The results show that coverage-based fault localizations are less effective for class-level faults associated with object-oriented features of programs. We therefore advocate the needs for designing more effective fault localizations for debugging object-oriented and class-level defects.


Author(s):  
Jessica Ray ◽  
Ajav Brahmakshatriya ◽  
Richard Wang ◽  
Shoaib Kamil ◽  
Albert Reuther ◽  
...  

ZDM ◽  
2021 ◽  
Author(s):  
Haim Elgrably ◽  
Roza Leikin

AbstractThis study was inspired by the following question: how is mathematical creativity connected to different kinds of expertise in mathematics? Basing our work on arguments about the domain-specific nature of expertise and creativity, we looked at how participants from two groups with two different types of expertise performed in problem-posing-through-investigations (PPI) in a dynamic geometry environment (DGE). The first type of expertise—MO—involved being a candidate or a member of the Israeli International Mathematical Olympiad team. The second type—MM—was comprised of mathematics majors who excelled in university mathematics. We conducted individual interviews with eight MO participants who were asked to perform PPI in geometry, without previous experience in performing a task of this kind. Eleven MMs tackled the same PPI task during a mathematics test at the end of a 52-h course that integrated PPI. To characterize connections between creativity and expertise, we analyzed participants’ performance on the PPI tasks according to proof skills (i.e., auxiliary constructions, the complexity of posed tasks, and correctness of their proofs) and creativity components (i.e., fluency, flexibility and originality of the discovered properties). Our findings demonstrate significant differences between PPI by MO participants and by MM participants as reflected in the more creative performance and more successful proving processes demonstrated by MO participants. We argue that problem posing and problem solving are inseparable when MO experts are engaged in PPI.


Sign in / Sign up

Export Citation Format

Share Document