Master Degree / Yüksek Lisans Tezleri
Permanent URI for this collectionhttps://hdl.handle.net/11147/3008
Browse
36 results
Search Results
Master Thesis Büyük Dil Modellerini Kullanan Olay Odaklı Mikroservisler için Sözleşme Tabanlı Otomatik Test Çerçevesi(2025) Tutumlu, Burak; Tuğlular, TuğkanOlay odaklı mikroservis mimarileri modern yazılımların temelini oluşturdukça, güvenilir test tekniklerine duyulan ihtiyaç kritik hale gelmektedir. Bu sistemlerin eş zamansız ve dağıtık yapısı, doğruluğu garanti etmeyi ve hataları tespit etmeyi zorlaştırmaktadır. Geleneksel test yöntemleri bu dinamik davranışlar için yetersiz kaldığından, gelişmiş ve otomatik çözümlere ihtiyaç duyulmaktadır. Bu tez, olay odaklı mikroservisler için sözleşme tabanlı üretimi (OpenAPI), davranış odaklı geliştirmeyi (Gherkin), mutasyon testini (Stryker) ve LLM destekli senaryo üretimini birleştiren bir otomatik test çerçevesi sunmaktadır. Çerçeve, gerçekçi ve sınır odaklı test senaryoları üretmek için özellikle Ollama üzerinden yerel olarak çalıştırılan LLaMA-3 modeline odaklanmaktadır. Bu yaklaşım, GPT-4, Gemini veya Claude gibi bulut tabanlı modellerin getirdiği kullanım limiti, maliyet ve veri gizliliği risklerinden kaçınmayı sağlamıştır. Ampirik değerlendirme için, Ming Teknoloji A.Ş. bünyesinde çalışan iki gerçek üretim (production) mikroservisi, bu tez kapsamında 'Nearmiss' ve 'Suggestion' olarak adlandırılarak vaka analizi olarak kullanılmıştır. API sözleşmelerinden oluşturulan test koleksiyonları Postman/Newman CLI ile çalıştırılmış ve CI/CD entegrasyonu sağlanmıştır. Sözleşmelerin otomatik olarak çalıştırılabilir BDD senaryolarına dönüştürülmesi, şartname ve doğrulama arasında sorunsuz bir köprü kurmuştur. Sonuçlar, bu çerçevenin geliştirme verimliliğini, test kapsamını ve hata tespitini önemli ölçüde artırdığını göstermektedir. Yapay zekâ ve geleneksel araçların birleşimi, eşzamansız hizmet etkileşimlerini doğrulamak için ölçeklenebilir ve sağlam bir yöntem sunarak olay odaklı mikroservislerin güvenilirliğini sağlamaya yönelik pratik bir katkı sağlamaktadır.Master Thesis Analysis of Test Smell Impact on Test Code Quality(01. Izmir Institute of Technology, 2024) Cebeci, İsmail; Tuğlular, TuğkanTest Kokuları, test kodundaki kalıplardır ve mutlaka yanlış olmasa da, test kodunun sürdürülebilirliğini ve etkililiğini engelleyebilecek kötü tasarım seçimlerini önerir. Yazılım geliştirmede, programlamada daha derin sorunlara işaret eden kod kokuları kavramından kaynaklanan test kokuları, benzer şekilde otomatik test komut dosyalarındaki, yazılım test sürecinin güvenilirliğini ve netliğini tehlikeye atabilecek sorunlara işaret eder. Bu tez içinde en çok bilinen 2 araç kullanarak (JNose and TestSmellDetector), GitHub üzerinden erişilen 500 proje incelenmiştir. Belirtilen 500 adet projelerde Java dili kullanılmasına dikkat edildi. İncelenen projelerde bulunan bütün test dosyaları, kullanılan 2 araç için input olarak kullanılmıştır. Araçların çıktıları karşılaştırılarak, toplam kaç adet test kokusu bulunduğu, hangi aracın hangi test kokularını daha iyi tespit ettiğini, en çok hangi test kokularının test dosyalarına etki ettiğini, test kokularının birbiriyle olan ilişkileri ve meydana gelme şıklıkları araştırılmıştır. Sonuç olarak 'Assertion Roulette,' 'Magic Number Test,' ve 'Lazy Test,' iki araç içinde en yaygın test kokuları olarak elde edilmiştir. Ek olarak, JNose aracı kullanılarak en yüksek birlikte gerçekleşme oranları 'Koşullu Test Mantığı' ile 'Hevesli Test' ve 'İstisna Yakalama Fırlatma' ile 'Bilinmeyen Test' arasında gözlemlenmiştir. Öte yandan, TestSmellDetector Aracı kullanıldığında en yüksek birliktelik oranları 'Bilinmeyen Test' ile 'Hevesli Test' ile 'Kaynak İyimserliği' ve 'Gizemli Misafir' arasında gözlenmiştir. Bu sonuçlar kullanılarak, test dosyaları üzerinde yeniden düzenleme işlemleri için ne tür çalışmalar yapılması gerektiği kolaylıkla belirlenebilir.Master Thesis Development of a Machine Learning Platform for Analysis of Mitochondrial Features in Live-Cell Images(01. Izmir Institute of Technology, 2022) Tarkan, Yalçın; Tuğlular, Tuğkan; Tuğlular, TuğkanIt is a laborious and error-prone manual process to mark the organelles in 2D and 3D images of living cells and identify the behavioral feedback to stimulations under measured conditions. This manual process can be simplified by being largely automated with machine learning techniques. We created a machine learning-based software platform named MitoML, which extracts sub-cellular structures, specifically mitochondria, and helps to identify the effects of external factors or changes under natural conditions. We investigate appropriate machine learning techniques for these objectives. Image processing and segmentation techniques with neural networks, enable researchers to carry out experiments with much better accuracy and a larger scale by automatically segmenting and counting the mitochondria, calculate the energy potentials based on region brightness. This way, analysis of mitochondria feedback in healthy and cancer cells under various conditions, such as nanomedicine and different treatment therapies, can be performed using MitoML. As a result of our work, we proposed a cascaded neural network architecture that can identify and count mitochondria, quantify its energy levels in fluorescence and other microscopy images, fast and at a standard reliable accuracy. Our test results outperformed the classical image processing algorithms provided in segmentation tools and software for medical image segmentation which was taken as a base line. Achieved accuracy rates 93.4% and %89.6 according to Dice and IoU metrics respectively are also better than any other related work encountered during the research. The proposed method can be improved to cover other sub-cellular structures relieving the researchers from non-standardized and laborious manual work which is prone to human error.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 The Effect of Human-Robot Interaction on Design and Use Process of Home Robots(Izmir Institute of Technology, 2022) Yapıcı, Nur Beril; Tuğlular, Tuğkan; Başoğlu, Ahmet NuriThis thesis aims to develop a method that will enable the user to get maximum efficiency in using robots by establishing an accurate and effective interaction with the user of domestic service robots. Domestic home robots run in environments that vary significantly according to user preferences, unlike industrial robots that work in manufacturing areas under strict and customary rules, referring to the user and usage area. This situation introduces some challenges, especially for mobile domestic service robots such as robotic vacuum cleaners, to reach maximum efficiency. Hence, in this study, the customization of domestic service robots has been taken as the center according to users’ needs, preferences, and environmental factors. The Hybrid Model approach, composed of integrating the Dynamic Eco-Strategy Explorer Model and the Built-to-Order Model, has emerged and been designed to establish a well-structured relationship with the user in order to provide customization from the product purchase stage. The model consists of two interconnected main sections, with six steps in the first and four in the second. In addition, as another critical point, the Hybrid Model suggests that domestic robots be designed as modular and integrated components. At the same time, in this study, a digital web prototype for forming a robot vacuum cleaner named RoboCUD was designed in order to observe and analyze the effects of the Hybrid Model on the user. For analysis, data were collected using survey questions based on variables collected from a detailed literature review and interviews with existing users. On top of that, the customization part depends on the prototype website experience of the participants. An experimental survey study was conducted to learn about the possible effects of the model and people’s approaches to the use of robot vacuums. At the end of the study, the data were reported by applying different analysis methods.Master Thesis Design and Implementation of a Domain Specific Language for Event Sequence Graphs(Izmir Institute of Technology, 2022) Kalecik, Mert; Tuğlular, TuğkanNowadays, large-scale software applications are being developed because of the increasing q-commerce or e-commerce conversion rate. Companies extend their service operation areas with the trend of having a super app. As the result of extended functionality brings some risks together. Therefore, software quality is one of the crucial metrics for achieving reliable and faultless software products. One way of achieving software quality is systematic testing, which is often materialized by model-based testing. An example of model-based testing approaches is Event Sequence Graphs (ESGs). Domain specific language is usually a declarative language that provides substantial gain on a restricted business domain. This thesis mainly focuses on the development of a domain specific language (DSL) for ESG building and visualization process with a modularization support for sub-ESGs and decision tables. The ESGs are augmented by decision tables visualized with a vertex and that vertex is visualized with two tables such as property table and property definition table. The use of the proposed DSL is compared with the existing ESG tool called Test Suite Designer (TSD) in areas such as measuring the cost of quality, understanding the value of quality, motivation to achieve quality, and understand how to overcome it. The comparison results obtained through a questionnaire applied to a focus group show that some improvements for both ESG DSL and TSD are necessary.Master Thesis Wirelless Mesh Network Throughput Analysis Using Petri Nets(Izmir Institute of Technology, 2022) Oğuzer, Lütfü Melih Buğra; Tuğlular, Tuğkan; Belli, FevziEvolving technology has made the understanding of quality perception in software processes more difficult. Unlike other sectors, rapid adaptation and software development processes have become a critical issue. This issue can especially be observed in the service, telecommunication, and high technology sectors. User demands and competition are quite high and with this competition, the need to subject the customized or developed software to rapid testing processes has formed. Undoubtedly, this process implies a great responsibility for the "quality assurance" teams. This responsibility has reached a level that can only be handled by the quality assurance departments that automate the testing cycles. However, it is also important that these cycles are very efficient. Our research is concerned with modeling test processes with Petri nets and creating test scenarios based on this modeling to make automation processes in the telecommunications industry more efficient. In this research, the performance analysis of wireless mesh networks is executed through place/transition petri-net modeling. Through this modeling, reusable test scenarios which were compared and analyzed with traditional automation processes were created for performance tests. The research also addresses another topic which is the shortening of the modeling processes created with Petri nets and how to make them more efficient. In this context, a tool has been developed in order to shorten the modeling process and analyze the reusable test scenarios. Finally, ten test engineers were interviewed about reusable test processes. In these interviews, feedback was provided on reusable test scenarios in test automation processes.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 Application of Graph Neural Networks on Software Modeling(01. Izmir Institute of Technology, 2020) Leblebici, Onur Yusuf; Tuğlular, Tuğkan; Belli, FevziDeficiencies and inconsistencies introduced during the modeling of software systems can cause undesirable consequences that may result in high costs and negatively affect the quality of all developments made using these models. Therefore, creating better models will help the software engineers to build better software systems that meet expectations. One of the software modelling methods used for analysis of graphical user interfaces is Event Sequence Graphs (ESG). The goal of this thesis is to propose a method that predicts missing or forgotten links between events defined in an ESG via Graph Neural Networks (GNN). A five-step process consisting of the following steps is proposed: (i) data collection from ESG model, (ii) dataset transformation, (iii) GNN model training, (iv) validation of trained model and (v) testing the model on unseen data. Three performance metrics, namely cross entropy loss, area under curve and accuracy, were used to measure the performance of the GNN models. Examining the results of the experiments performed on different datasets and different variations of GNN, shows that even with relatively small datasets prepared from ESG models, predicts missing or forgotten links between events defined in an ESG can be achieved.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.
