Loading...
Search for: test-case
0.007 seconds
Total 51 records

    Test Case Selection in Test-Driven Development

    , Ph.D. Dissertation Sharif University of Technology Mafi, Zohreh (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    The large number of unit tests produced in the test-driven development (TDD) method and the iterative execution of these tests extend the regression test execution time in TDD. This study aims to reduce test execution time in TDD. We propose a TDD-based approach that creates traceable code elements and connects them to relevant test cases to support regression test selection during the TDD process. Our proposed hybrid technique combines text and syntax program differences to select related test cases using the nature of TDD. We use a change detection algorithm to detect program changes. Our experience is reported with a tool called RichTest, which implements this technique. To evaluate our... 

    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... 

    A Tool For Generating Test Cases from Formal Specification of Programs

    , M.Sc. Thesis Sharif University of Technology Mortezazadeh Jagargh, Iman (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    The use of formal methods in the software development process has many advantages. One of the benefits is extracting test cases from formal specification with test coverage criteia. In this study, we tried to extracting control flow graph form Z language. Using this graph and control flow graph coverage criteria, test cases are derived from Z. A tool to automate the generation of test cases from Z also produced. This tool uses the CZT, describing formal language Z receives and uses the standard graph covers, set of test cases stems. Using mutants, the proposed method was evaluated by this method was able to achieve a score of 92%  

    Testing of Workflow Engine Based Systems: A Model-Based Approach

    , M.Sc. Thesis Sharif University of Technology Farnoush, Mojtaba (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    As the increased use of workflow engine based systems in various domains, quality assurance and testing them has become critical. The majority of these systems are designed and implemented by a workflow language, so testing these systems is highly dependent of workflow language. In this thesis the common domain of business processes is chosen. In this area, little researches have examined the implemened processes with the second version of BPMN modeling language, and most methods, examined another language called BPEL. For this reason and due to the increased use of BPMN language because of its unique characteristics, this study focuses on testing of systems implemented with this language.... 

    A Semi-Automated Software Testing Using Input Space Partitioning

    , M.Sc. Thesis Sharif University of Technology Khanbaba, Younes (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    It's impossible to check all inputs of a software program due to infinite input domain, therefore the domain should be somehow restricted. One popular approach to do so, is input space partitioning. In this approach, the input domain has been modeled and partitioned into some equivalent classes or blocks. Using these blocks, it's possible to select one sample from each one and reduce the number of test cases to a small desirable number. To automate this approach, it's essential to firstly define the software requirements specification in a well-defined machine understandable template, then with processing this document we can detect program’s functionality and testable functions. Our goal in... 

    Generating Test Cases for Web-Based Programs Using Field Data

    , M.Sc. Thesis Sharif University of Technology Lotfi, Mahsa (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    Generating and finding proper test cases is the most important task among software testing tasks. Lots of valuable information can be found in user interactions with web based applications. In this thesis, a method called "Hampa Karbar", will be presented, which consists of two main components, namely, "Request Tracker" and "Tester". Request Tracker is an aspect that can be woven into any methods of any kind of web based applications. This aspect will follow user serving methods to collect data for test cases. Then the second component, "Tester", will create and run test cases using collected data by the Request Tracker component. This method helps developers to find bugs which are hard to... 

    Analysis and Verification of a Routing Protocol Conformance Test Program

    , M.Sc. Thesis Sharif University of Technology Hosseini Shakib, Seyed Mostafa (Author) ; Jahangir, Amir Hossein (Supervisor)
    Abstract
    Routers play a key role in transferring information between various Networks. It is very important to make sure about the compatibility of OSPF in a router with its standard description. In this regard, before presenting or applying a router and also evaluating its performance, it is necessary to carry out conformance test with the help of network equipment testers Tester designers extract test cases from protocol standard description through non-formal ways and exam them on network equipment.
    In this thesis, a part of OSFP protocol has been modeled through colored Petri nets. In this regard, two sections of OSPF RFC have been model checked: neighbor state machine and data base... 

    Test Cases Selection Based on the Software Source Code Features

    , M.Sc. Thesis Sharif University of Technology Tamadon, Mahdi (Author) ; Mirian Hossein Abadi, Hassan (Supervisor)
    Abstract
    Quality Assurance is one of the crucial steps in software production and should be repeated. These days, software companies are using continuous integration (CI) pipelines for building software and controlling software quality. Regression test, is a test which is performed after each change in software, to assess the quality of the software system and its ability to meet functional and non-functional needs. Each execution of this test, leads to infrastructure costs and a waste of time for the software development team. The reason is that the development team has to wait until the test is completed to ensure that the changes are correct. To reduce this cost, methods such as prioritizing and... 

    Software Product Line Testing Optimization Based on Regression Test Techniques

    , M.Sc. Thesis Sharif University of Technology Mousavi Khoshdel, Narges Sadat (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    A software product line is a set of products with common features. The design of this set is such that the core assets that are common features between products are implemented only once. All products in the product line use the core assets to reduce development costs. The number of products that can be produced in a software product line is exponential to the number of capabilities in the core assets and the set is very large, so the cost of testing the software product line will be very high. In the software product line testing, various methods have been provided to reduce costs, among which we can mention product prioritization and regression test techniques. In prioritization, the... 

    A Semi-Automated Software Test Case Generation for Test-driven Development

    , M.Sc. Thesis Sharif University of Technology Shojaei Yeganeh, Mohsen (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    Test driven software development is one of the most important practices in agile software production. In this practice, the programmer must write appropriate test cases before implementing the desired program. That is, at first, he should know what the function of his desired program is, and then considering them, the test cases are implemented. The problem with this method is that the programmer may not have much experience in this work, and good test cases may not be produced, and at the same time, this work is very time-consuming. As a result, this method may be abandoned.In this thesis, an attempt is made to provide a systematic method to make the production of test cases for the program... 

    Software Test Case Prioritization Based on Bug History

    , Ph.D. Dissertation Sharif University of Technology Mahdieh, Mostafa (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    Regression testing, is one of the most effective software testing activities. Adding new test cases during project development to cover different aspects of software performance will increase the test suite’s size and the time and resources required to fully execute the test suite. To face this challenge, test case prioritization is considered as one of the main approaches. The software bug history is one of the useful information sources for improving software analysis solutions, which rarely been used in the field of test case prioritization. The aim of this research is to present algorithms for utilizing the software bug history along with other information sources to improve test case... 

    Event-Driven Web Application Testing

    , M.Sc. Thesis Sharif University of Technology Habibi, Elahe (Author) ; Mirian Hossien Abadi, Hassan (Supervisor)
    Abstract
    There are different classes of event-driven softwares. These softwares include Graphical user interface, web application or embedded software. In these kinds of softwares, each user's action while using application is known as "event". The application responds to the action through changing behaviour and then waiting for another event. Testing software is the best way for checking the quality assurance of event-driven softwares. However, there are some problems as cause of creating lots of event sequences in testing these kinds of softwares. Therefore, many solutions are introduced for these problems. The goal of this report, is presenting new testing procedure for event-driven web... 

    Analysis and Evaluation of Routing Protocols Conformance Test

    , M.Sc. Thesis Sharif University of Technology Tabatabaee, Hosein (Author) ; Jahangir, Amir Hossein (Supervisor)
    Abstract
    Nowadays, one of the problems of network designers and users is the correctness of network equipment functionality. Since routers play an important role in information transfer between various networks and communicate with each other through a routing protocol, any violation of such protocol can result in the network's failure or defective transfer of data. Thus, being assured of the conformance of the implemented protocol in a router with what has been defined in the protocol's standard is of great significance. To this end, before using or exposing a router, network equipment testers should run protocol conformance tests on it and insure its correct functionality. This brings up the... 

    Generating test as a web service (TaaWS) through a method-based attribute grammar

    , Article International Journal on Software Tools for Technology Transfer ; Volume 24, Issue 4 , 2022 , Pages 511-527 ; 14332779 (ISSN) Habibi, E ; Mirian Hosseinabadi, S. H ; Sharif University of Technology
    Springer Science and Business Media Deutschland GmbH  2022
    Abstract
    Service-Oriented Architecture (SOA) is a technology for designing software systems. By using this architecture, new challenges appeared for software testing. Functional testing of services assures the quality of service-oriented applications. Herein, we introduce a new test web service named TaaWS (Test as a Web Service), which is a combination of both online testing and testing as a service to overcome SOA testing challenges. Each web service can have its test web service. Thus, the consumer can call TaaWS to assure the accuracy of the web services used in the application. TaaWS consists of semantic and structural test cases extracted from the extended-attribute grammar of the web service... 

    Test case prioritization using test case diversification and fault-proneness estimations

    , Article Automated Software Engineering ; Volume 29, Issue 2 , 2022 ; 09288910 (ISSN) Mahdieh, M ; Mirian Hosseinabadi, S. H ; Mahdieh, M ; Sharif University of Technology
    Springer  2022
    Abstract
    Regression testing activities greatly reduce the risk of faulty software release. However, the size of the test suites grows throughout the development process, resulting in time-consuming execution of the test suite and delayed feedback to the software development team. This has urged the need for approaches such as test case prioritization (TCP) and test-suite reduction to reach better results in case of limited resources. In this regard, proposing approaches that use auxiliary sources of data such as bug history can be interesting. We aim to propose an approach for TCP that takes into account test case coverage data, bug history, and test case diversification. To evaluate this approach we... 

    Delta-based regression testing: A formal framework towards model-driven regression testing

    , Article Journal of Software: Evolution and Process ; Volume 27, Issue 12 , December , 2015 , Pages 913-952 ; 20477481 (ISSN) Nooraei Abadeh, M ; Mirian Hosseinabadi, S. H ; Sharif University of Technology
    John Wiley and Sons Ltd  2015
    Abstract
    The increase in complexity and rate of technological changes in modern software development has led to a demand for systematic methods that raise the abstraction level for system maintenance and regression testing. Model-driven development (MDD) has promised to reduce extra coding efforts in software maintenance activities using traceable change management. The research described in this paper presents a Z-notation-based framework, called delta-based regression testing (DbRT), for formal modeling of regression testing in the context of MDD. The framework proposes to propagate the changes from a software specification to testing artifacts in order to preserve consistency after system... 

    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... 

    Using background knowledge and context knowledge in ontology mapping

    , Article Frontiers in Artificial Intelligence and Applications ; Volume 174, Issue 1 , 2008 , Pages 56-64 ; 09226389 (ISSN); 9781586038717 (ISBN) Fatemi, H ; Sayyadi, M ; Abolhassani, H ; Sharif University of Technology
    IOS Press  2008
    Abstract
    Recent evaluations of mapping systems show that lack of background knowledge, most often domain specific knowledge, is one of the key problems of mapping systems these days. In fact, at present, most state of the art systems, for the tasks of mapping large ontologies, perform not with such high values of recall (~ 30%), because they mainly rely on label and structure based similarity measures. Disregarding context knowledge in ontology mapping is another drawback that almost all current approaches suffer from. In this paper we use the semantic web as background knowledge and introduce a novel approach for capturing context knowledge from the ontology for improving mapping results. We have... 

    MBT in agile/lightweight processes: A process-centred review

    , Article IET Software ; Volume 13, Issue 5 , 2019 , Pages 327-337 ; 17518806 (ISSN) Taromirad, M ; Ramsin, R ; Sharif University of Technology
    Institution of Engineering and Technology  2019
    Abstract
    This study presents a process-driven view on the use of model-based testing (MBT) in agile/lightweight processes. It argues that process-related aspects of MBT and agile processes should be explicitly considered in any practical MBT approach intended for use in agile development (AD). It demonstrates that an effective MBT approach for lightweight processes has to specify how MBT activities are integrated into a development process, how and when MBT artefacts are generated in relation to other development artefacts, and who would carry out MBT activities. Accordingly, a set of integration criteria is introduced for complete incorporation of MBT into agile/lightweight processes. The...