Master Degree / Yüksek Lisans Tezleri
Permanent URI for this collectionhttps://hdl.handle.net/11147/3008
Browse
5 results
Search Results
Master Thesis Development of Co-Evolution Tracker Tool for Software With Acceptance Criteria(Izmir Institute of Technology, 2022) Yalçın, Ali Görkem; Tuğlular, Tuğkan; Tuğlular, TuğkanTesting is a vital part of achieving good-quality software. Deploying untested code can cause system crashes and unexpected behavior. In order to reduce these problems, testing must be prioritized. However, once test suites are created, they should not remain static throughout the software updates. Since whenever software gets updated, new functionalities are added or existing functionalities are changed, so whenever the application is updated, test suites must be updated along with the software. If the old test suites are used with the new updates, unexpected testing results can occur. In order to repair test cases in the process of software evolution, analyzing real-world projects’ software and test case evolution is an important prerequisite. Software repositories contain valuable information about the software systems. Having access to older versions and by differentiating adjacent versions’ test and production code changes can provide information about the evolution process of the software. This thesis concentrates on the development of a tool that is used for the analysis of 21 real-world projects in the terms of co-evolution of both software and its test suites. Related projects are retrieved from repositories and filtered according to this study’s needs, then for each project's every update is analyzed, and graphs and analysis related to the co-evolution process are created.Master Thesis Mutation Analysis of Specification-Based Contracts in Software Testing [master Thesis](01. Izmir Institute of Technology, 2021) Khalilov, Abbas; Tuğlular, Tuğkan; Belli, FevziSoftware used in fields such as medicine, finance, aviation and aerospace, nuclear power etc. is required to be reliable. Any software failures in these fields may have catastrophic consequences such as human and financial losses, which may cause a great damage to the economy and to social well-being. Hence, before launching, software should be rigorously tested. Testing can uncover the conditions, which software cannot handle. Those conditions might be overlooked during development. So, software testing points to the faults in the software under development to be patched. The important element of software testing is the use of the adequate test cases. If the outcome of the test case is positive, that means testing did not reveal any fault, then this test case might be considered as inefficient and useless for the tested version of software. Therefore, it is important to check test cases on adequacy, which can be achieved by mutation analysis. This thesis focuses on checking the adequacy of the test cases for Decision-Table-augmented Event Sequence Graphs (ESG-DTs) representation of a system under test by using mutation analysis. Test cases are represented in the Complete Event Sequence (CES) and Faulty CES (FCES) forms. This thesis presents a new set of mutation operators for mutation of contracts represented in Multi-Terminal Binary Decision Diagram (MTBDD). This thesis introduces a new approach for mutation of the ESG-DT model by using the proposed MTBDD mutation operators. The proposed approach is evaluated on three cases. The results for all cases show the drawback of specific FCES test sequences and the relationship between the mutant detection by CES/FCES sequences and proposed mutation operators.Master Thesis A Model-Based Test Generation Approach for Agile Software Product Lines(Izmir Institute of Technology, 2020) Öztürk, Dilek; Tuğlular, TuğkanAchieving fast development of good-quality software products is as important as achieving pure functionality. Qualified software development provides client satisfaction, reduces post-deployment costs and certificates the products. In addition to increasing quality, clients expect to tailor the products according to their needs and therefore, product configurability becomes more and more critical. Hence, the software manufacturing is required to adapt this configurable development process correspondingly. Software product line is a paradigm that purposes faster development of qualified software products that belongs to a particular domain. This thesis concentrates on quality assurance in software product lines and provides novel model-based approaches which are full test sequence composition and incremental test sequence composition approaches that aim to reuse existent test artefacts. Full test sequence composition approach reuses the existing test models and the test sequences are composed from scratch each time a product variant's test sequences are generated. Incremental test sequence composition approach reuses both of the test models and the existing test sequences of product variants. Whenever a product variant's test sequences are generated, existing test sequences and features which are incrementing the existing product are composed. The proposed approaches and the classical test generation of ESGs are compared, the results show that the incremental test sequence composition is the best in terms of both test set size and test generation time, the full test sequence composition is better than the single model ESG test generation in terms of test suite size but not in terms of test generation time.Master Thesis Effectiveness of Using Clustering for Test Case Prioritization(Izmir Institute of Technology, 2019) Günel, Can; Ayav, Tolga; Ayav, TolgaSoftware testing is one of the most important processes in the software development life cycle. As software evolves, previous test cases need to be re-executed to make sure that there is no new bugs introduced and nothing is broken in the existing behaviours. However, re-execution of all test cases could be expensive. That is why, test case prioritization method can be used to detect faults earlier by prioritizing the test cases which could have the higher possibility than others to find faults. Studying different approaches, implementing different techniques or putting these techniques to test on different programs could make it easier to answer which technique should be used for which kind of programs or faults. We address this issue, focusing on selecting different test case prioritization approaches and calculating the average fault detection ratios of prioritized test suites. As a novelty, we propose to perform an optimization algorithm on one of the approaches called `Clustering` to increase its efficiency. To do that, our main objective is determined as maximizing the distance between each clusters by using the coverage information. The distance is measured as the difference of covered functions of test cases in a test suite. In the end, this study will give a hint about selection of test case prioritization technique to be used by checking the empirical results of the experiments.Master Thesis Test Case Generation From Cause Effect Graphs(Izmir Institute of Technology, 2016) Kavzak Ufuktepe, Deniz; Ayav, Tolga; Ayav, TolgaCause-effect graphing is a well-known requirement based testing technique. However, since it was introduced by Myers in 1979, there seems not to have been any sufficiently comprehensive studies to generate test cases from these graphs. Yet there are several methods introduced to generate test cases from Boolean expressions. This thesis proposes to convert cause-effect graphs into Boolean expressions and find out the test sets using test input generation techniques for Boolean expressions, such as MI, MAX-A, CUTPNFP, MUMCUT, Unique MC/DC and Masking MC/DC. Generated test sets are compared by using mutation analysis according to their fault detection capabilities. Myers’ original test generation technique is also implemented and included in the mutation analysis. A tool is created which allows to generate test cases by using the implemented algorithms. The tool gets a “.graphml” file representing a cause- effect graph as an input and gives the generated test set as an output. In addition, mutation analysis can be done with the implemented tool. 14 Requirements of TCAS-II are used as an experiment. Results of the mutation testing for these requirements showed that MUMCUT technique has the highest mutant detection success for all fault types. Moreover, Unique MC/DC technique has detected highest number of mutants per test case.
