Loading...
Search for: software-testing
0.011 seconds
Total 104 records

    Towards model-based testing patterns for enhancing agile methodologies

    , Article Frontiers in Artificial Intelligence and Applications ; Volume 246 , 2012 , Pages 57-72 ; 09226389 (ISSN) ; 9781614991243 (ISBN) Jalalinasab, D ; Ramsin, R ; Fujita H ; Revetria R ; Sharif University of Technology
    2012
    Abstract
    Quality is one of the most important issues in the context of agile and lightweight methodologies. These methodologies recommend automated testing as the main method for quality assurance; however, they are plagued with several deficiencies in this regard, including complex and difficult-to-maintain test case scripts. Model-based testing is an approach for automating the test creation process through replacing individual test-case design with abstract models. In this paper, we explore a set of patterns based on current methods used in model-based testing which can be used to ameliorate the abovementioned deficiencies in agile/lightweight methodologies. We then demonstrate how these patterns... 

    Dependability analysis using a fault injection tool based on synthesizability of HDL models

    , Article 18th IEEE International Symposium on Defect and Fault Tolerance in VLSI Systems, DFT 2003, 3 November 2003 through 5 November 2003 ; Volume 2003-January , 2003 , Pages 484-492 ; 15505774 (ISSN); 0769520421 (ISBN) Zarandi, H. R ; Miremadi, S. G ; Ejlali, A ; Sharif University of Technology
    Institute of Electrical and Electronics Engineers Inc  2003
    Abstract
    This paper presents a fault injection tool, called SINJECT that supports several synthesizable and non-synthesizable fault models for dependability analysis of digital systems modeled by popular HDLs. The tool provides injection of transient and permanent faults into the Verilog as well as VHDL models of a digital circuit to study the fault behavior, fault propagation and fault coverage. Moreover, using specific simulators, the SINJECT provides a mixed-mode fault injection, i.e., fault injection into both Verilog and VHDL parts of a model, to achieve high description reality by Verilog and high capability modeling by VHDL. To demonstrate the tool, two case studies are evaluated: 1) an... 

    Software Testing Based on Input Grammars with Semantics

    , Ph.D. Dissertation Sharif University of Technology Keramati, Hossein (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    Generating test cases based on software input interface is a black-box testing technique that can be made more effective by using structured input models such as input grammars. Automatically generating grammar-based test inputs may lead to structurally valid but semantically invalid inputs that may be rejected in early semantic error checking phases of a system under test. This research aims to introduce a method for specifying a grammar-based input model with the model’s semantic constraints to be used in the generation of positive test inputs. It is also important that the method can generate effective test suites based on appropriate grammar-based coverage criteria. Formal specification... 

    An ensemble-based predictive mutation testing approach that considers impact of unreached mutants

    , Article Software Testing Verification and Reliability ; Volume 31, Issue 7 , 2021 ; 09600833 (ISSN) Aghamohammadi, A ; Mirian Hosseinabadi, S. H ; Sharif University of Technology
    John Wiley and Sons Ltd  2021
    Abstract
    Predictive mutation testing (PMT) is a technique to predict whether a mutant is killed, using machine learning approaches. Researchers have proposed various methods for PMT over the years. However, the impact of unreached mutants on PMT is not fully addressed. A mutant is unreached if the statement on which the mutant is generated is not executed by any test cases. We aim at showing that unreached mutants can inflate PMT results. Moreover, we propose an alternative approach to PMT, suggesting a different interpretation for PMT. To this end, we replicated the previous PMT research. We empirically evaluated the suggested approach on 654 Java projects provided by prior literature. Our results... 

    An ensemble-based predictive mutation testing approach that considers impact of unreached mutants

    , Article Software Testing Verification and Reliability ; Volume 31, Issue 7 , 2021 ; 09600833 (ISSN) Aghamohammadi, A ; Mirian Hosseinabadi, S. H ; Sharif University of Technology
    John Wiley and Sons Ltd  2021
    Abstract
    Predictive mutation testing (PMT) is a technique to predict whether a mutant is killed, using machine learning approaches. Researchers have proposed various methods for PMT over the years. However, the impact of unreached mutants on PMT is not fully addressed. A mutant is unreached if the statement on which the mutant is generated is not executed by any test cases. We aim at showing that unreached mutants can inflate PMT results. Moreover, we propose an alternative approach to PMT, suggesting a different interpretation for PMT. To this end, we replicated the previous PMT research. We empirically evaluated the suggested approach on 654 Java projects provided by prior literature. Our results... 

    Fault injection into SRAM-based FPGAs for the analysis of SEU effects

    , Article 2nd International Conference on Field Programmable Technology, FPT 2003, 15 December 2003 through 17 December 2003 ; 2003 , Pages 428-430 ; 0780383206 (ISBN); 9780780383203 (ISBN) Asadi, G ; Miremadi, S. G ; Zarandi, H. R ; Ejlali, A ; Sharif University of Technology
    Institute of Electrical and Electronics Engineers Inc  2003
    Abstract
    SRAM-based FPGAs are currently utilized in applications such as industrial and space applications where high availability and reliability and low cost are important constraints. The technology of such devices is sensible to Single Event Upsets (SEUs) that may be originated mainly from heavy ion radiation. This paper presents a fault injection method that is based on emulated SEU on the configuration bitstrearn file of commercial SRAM-based FPGA devices to study the error propagation in these devices. To demonstrate the method, an Altera FPGA, i.e. the Flex10K200, and the ITC'99 benchmark circuits are used. A fault injection tool is developed to inject emulated SEU faults into the circuits.... 

    The Bug Prediction Model Using Mutation Metrics

    , M.Sc. Thesis Sharif University of Technology Mohebbi, Ali (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    Software developers notice existence of faults by report of a fault in issue tracking systems or a failure in software tests. Then they try to locate the bug and understand the problem. Early detection of fault results in saving time and money and facilitates debugging process. Prediction models can be built and used easily by modern statistical tools. Software metrics are the most important part of prediction models. Therefore higher performance in models can be achieved using new and effective metrics. In this study, process metrics and metrics that built base on mutation analysis used and resulting models evaluated. In addition to using process metrics with mutation metrics, two group of... 

    Test Case Refactoring in Test-Driven Development of Software: A Pattern-Based Approach

    , M.Sc. Thesis Sharif University of Technology Masghadi, Nima (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    Design patterns as successful solutions of recurring problems, have attracted much attention in the field of Software Engineering. These Patterns, which are derived from the principles of Object-Oriented programming, are fine-grained architectures that have significant impact on software quality attributes such as maintainability, scalability, configurability, understandability, and so on. On the other hand, Refactoring as behavior protective method for making changes to software structure, to enhance maintainability and reduce the cost of changes, is now widely used in industry. This structural changes, can be as simple as moving a method or adding a parameter, or as complex as transforming... 

    Improving the Efficiency of Program State Coverage Criterion

    , M.Sc. Thesis Sharif University of Technology Karimi, Shahab (Author) ; Mirian Hossein Abadi, Hassan (Supervisor)
    Abstract
    One of the most crucial methods to Ensure correct software performance is testing. On this ground, one of the most critical discussions regarding software testing is the effectiveness of a test suite. Program state coverage is a criterion for determining the effectiveness of a test suite. This criterion indicates the number of program states that are executed for the lines. Since the total number of program states cannot be calculated to measure coverage, this criterion proposes a fixed number of 10 to measure program state coverage. Also, according to calculations for the program state in the execution of each line, the time complexity of this criterion is high. In this thesis, providing... 

    A Probabilistic Approach to Assessing and Interpreting Test Suite Effectiveness

    , Ph.D. Dissertation Sharif University of Technology Agha Mohammadi, Alireza (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    The test suite effectiveness concerns the ability of test suites to reveal faults. Mutation testing is a de facto standard to assess the test suite effectiveness. However, mutation testing is a time-consuming process. Over the years, researchers have proposed two kinds of approaches. The first category is related to code coverage criteria and assess the total test suite effectiveness. The second is known as Predictive Mutation Testing (PMT). The suggested approach is probabilistic, being in different levels of abstraction (macro and micro). First, in the macro level, there is a code coverage criterion that not only does outperform existing code coverage but also does not have a statistically... 

    Program state coverage: A test coverage metric based on executed program states

    , Article 26th IEEE International Conference on Software Analysis, Evolution, and Reengineering, SANER 2019, 24 February 2019 through 27 February 2019 ; 2019 , Pages 584-588 ; 9781728105918 (ISBN) Etemadi Someoliayi, K ; Jalali, S ; Mahdieh, M ; Mirian Hosseinabadi, S. H ; Sharif University of Technology
    Institute of Electrical and Electronics Engineers Inc  2019
    Abstract
    In software testing, different metrics are proposed to predict and compare test suites effectiveness. In this regard, Mutation Score (MS) is one of most accurate metrics. However, calculating MS needs executing test suites many times and it is not commonly used in industry. On the other hand, Line Coverage (LC) is a widely used metric which is calculated by executing test suites only once, although it is not as accurate as MS in terms of predicting and comparing test suites effectiveness. In this paper, we propose a novel test coverage metric, called Program State Coverage (PSC), which improves the accuracy of LC. PSC works almost the same as LC and it can be calculated by executing test... 

    Tailoring Software Testing Techiques for Product Line Engineering

    , M.Sc. Thesis Sharif University of Technology Rezvan, Abolfazl (Author) ; Mirian-Hosseinabadi, Hassan (Supervisor)
    Abstract
    In industry it is usual to develop a family of similar software instead of a single one. Software product-line (SPL) engineering or family-based software engineering is an approach that tries to minimize needed effort and time-to-market and maximize quality of manufactured products through strategic planning for maximizing reuse among members of the family. On the other hand it is known that testing software is an indivisible part of software development process which requires considerable time and effort. With large number of products created from an SPL, it is obvious that testing should be conducted in such a way that needed effort does not maintain a linear relationship with number of... 

    An Improvement on Test Driven Development

    , M.Sc. Thesis Sharif University of Technology Sadeghi, Alireza (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    Less than a decade ago, Test Driven Development (TDD) emerged as a quality assurance approach and applied in agile software developments. In this method, test cases act as software development driver and a new piece of code is added just to satisfy the corresponding test case in the test repository. Although the results of applying TDD show its success in software quality promotion, but the method suffers from some limitations and shortcomings that make its usage hard in complicated and enterprise software projects, particularly in the industry. The goal of the following research is to mitigate the drawbacks of TDD and improve the method in order to make it more applicable for complicated... 

    A Lightweight Approach to Model-Based Testing

    , M.Sc. Thesis Sharif University of Technology Jalalinasab, Darioush (Author) ; Ramsin, Raman (Supervisor)
    Abstract
    In the modern software era, testing plays an invaluable role in software development as a quality assurance measure. Estimates have been made that up to 50% of effort and resources in software projects are allocated to testing. Model based testing (MBT) is one of the important stages of model driven development (MDD), which involves creating test cases from software models. When test cases are created from models, they reside at a higher level of abstraction, therefore creating and maintaining them will cost less, and will utilize more automation possibilities. Also, MBT takes a systematic route to test generation; this allows for a more goal-oriented and direct approach in achieving... 

    Generating Mutants from Android Event - Driven Programs

    , M.Sc. Thesis Sharif University of Technology Etemadi Some Oliayi, Khashayar (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    In the recent years, developing and using android applications has experienced a huge expansion. Due to the novelity of these applications and their environment for developers, we can find so many problems in their perfomance. At the same time as spread of developing these applications, new automatic and non-automatic methods are introduced for testing them. Usually mutation testing methods are used to evaluate new suggested software testing methods, so some rigorous and effective methods of mutation testing for android applications are needed too. Today, some primary methods are suggested for generating mutants of android applications which are not mature yet and have many defects. The goal... 

    A Method for Evaluating Effectiveness of Test Cases

    , M.Sc. Thesis Sharif University of Technology Jalali, Sajjad (Author) ; Mirian-Hosseinabadi, Hassan (Supervisor)
    Abstract
    One of the most important methods to ensure correct software and check the quality of software is software testing. One of the most important discussions about software testing is the effectiveness of a test suite. Manufacturers need a benchmark to determine the effectiveness of the test suite to stop the software testing process. The proposed solutions for determining the effectiveness are mutation testing and code coverage. The mutation test has a higher accuracy than the code coverage, but it takes a long time to calculate. This dissertation has tried to improve the existing solutions by presenting a new coverage that has a higher degree of accuracy than the proposed coverages in... 

    Generating Mutants to Improve Test Suites: A Search-Based Approach

    , M.Sc. Thesis Sharif University of Technology Barati, Babak (Author) ; Mirian-Hosseinabadi, Hassan (Supervisor)
    Abstract
    Mutation testing is known to be one of the best strategies to improve the quality of test suites, consequently the quality of the software. However, some challenges make mutaton testing unpractical. One of the main challenges confronting mutation testing is that it demands exhustive computation and is time consuming because of the large number of mutants that need to be compiled and executed on the test cases of the test suite. Many researches have been conducted to reduce the number of mutants without losing the main characteristics of the all possible mutants. Most of these researches select the mutants without considering the characteristics of the test suite, therefore the reduced set of... 

    Generating Mutants for User Interface Testing in Web-based Applications

    , M.Sc. Thesis Sharif University of Technology Naderi, Mohammad Javad (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    In recent years, the user interface of web-based applications has become more and more complicated. Various technologies, architectures, and tools are being used to create a modern user interface. Users interact directly with the user interface, so its functionality has a significant impact on their satisfaction and it is required to design special test suites for the user interface. Furthermore, we need a method to measure the quality and effectiveness of test suites. An effective test suite is a test suite which is able to detect real faults. But this definition is ambiguous, and hence, not practical. A method called Mutation Testing solves this problem and instead of real faults, uses... 

    Cross-Platform Software Testing

    , M.Sc. Thesis Sharif University of Technology Niroomand, Mohammad Hassan (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    According to expanding penetration of Internet and the increased power of processing devices in the recent years, softwares are incisingly used for daily acitivies. The variety of hardware configuration and operating system of such devices leds the companies to take advantage of cross-platform software development methods. Although the production of cross platform software, resude development costs, it results in an specific type of faults known as platform-specific failures. These faults occur when software is running on specific platforms, and therefore, to identify and resolve them, the software test process should be performed on different platforms. To deal with this problem, we present... 

    A Method for Evaluation of Effecticeness and Efficiency of Grammar Based Criteria

    , M.Sc. Thesis Sharif University of Technology Monemi Bidgoli, Atieh (Author) ; Mirian Hoseinabadi, Hasan (Supervisor)
    Abstract
    Grammar-based software's are the software's that their input can be expressed according to the grammars for example, reverse engineering software's, evolutional counting's, adjustable programming in product line and XML controllers are in this category; so we can use this capability of the software in its testing .In the field of criteria for the test coverage of the grammar-based software, 5 criteria have been offere so far, which contain rule coverage criterion, context-dependant rule coverage criterion, length-n successor coverage criterion, loop-K coverage criterion and full coverage criterian, any of which have benefits and defeats. The first questions which are asked in this field is...