281 |
Investigation on Expectations, Beliefs, and Limitations of Test-DrivenDevelopment in PracticeGanja, Sree Kavya, Cherukuri, Prudhvi Nath Naidu January 2023 (has links)
Background: In current software development, agile development approaches are widely used. One of these methods is Test-driven development (TDD). TDD is said to be a perfect fit for development as it is highly collaborative and is said to improve productivity and accuracy in development. However, it is not a widely used process because people have different perceptions of TDD (mostly negative). In this study we will investigate the expectations about TDD and if these expectations are being met in practice and understand what makes TDD a not-so-usable process. Objectives: The objectives of this study include: To understand the expectations of practitioners about TDD. To investigate if the expectations for TDD are met in practice. To identify the factors that limit the use of TDD. Methods: We have performed a review of the state of the art, from where we have gathered the most common expectations about TDD. These expectations have been used in the survey to see if these expectations are met from the perspective of practitioners simultaneously, we have also conducted interviews. We have collected qualitative data and analyzed the data. Additionally, we have also conducted a sentiment analysis of Reddit comments. Results: From the survey and interviews, we found that the overall perception of TDD is positive and it can provide benefits in certain contexts, We also identified the factors like lack of knowledge or training, perceived difficulty, and resistance to change among others that limit the use of TDD in industry. In the sentiment analysis, we found that the overall sentiment of the comments is mostly neutral and some of them negative. Conclusions: In conclusion, from our study, we identified that TDD can provide benefits but organizations must be willing to invest the time and effort to train their people and see the results using TDD. There are examples of successful projects using TDD but it is not necessarily the best approach in all situations and should be used judiciously to match the specific needs of the project and the organization. Keywords: Agile, Software testing, Test Driven Development, Expectations, Limitations.
|
282 |
p-Laplacian Spectral Clustering Applied in Software Testing / p-Laplacian Spektralklustring tillämpat på mjukvarutestningGhafoory, Jones January 2019 (has links)
Software testing plays a vital role in the software development life cycle. Having a more accurate and cost-efficient testing process is still demanded in the industry. Thus, test optimization becomes an important topic in both state of the art and state of the practice. Software testing today can be performed manually, automatically or semi-automatically. A manual test procedure is still popular for testing for instance in safety critical systems. For testing a software product manually, we need to create a set of manual test case specifications. The number of required test cases for testing a product is dependent on the product size, complexity, the company policies, etc. Moreover, generating and executing test cases manually is a time and resource consuming process. Therefore, ranking the test cases for execution can help us reduce the testing cost and also release the product faster to the market. In order to rank test cases for execution, we need to distinguish test cases from each other. In other words, the properties of each test case should be detected in advance. Requirement coverage is detected as a critical criterion for test cases optimization. In this thesis we propose an approach based on a $p$-Laplacian Spectral Clustering for detecting the traceability matrix between manual test cases and the requirements, in order to find the requirement coverage for the test cases. However, the feasibility of the proposed approach is studied by an empirical evaluation which has been performed on a railway use-case at Bombardier Transportation in Sweden. Through the experiments performed using our proposed method it was able to achieve an $F_1$-score up to $4.4\%$. Although the proposed approach under-performed for this specific problem compared to previous studies, it was possible to get some insights on what limitations $p$-Laplacian Spectral Clustering have and how it could potentially be modified for similar kind of problems. / Mjukvarutestning har en viktig roll inom mjukvaruutveckling. Att ha en mer exakt och kostnadseffektiv testprocess är efterfrågad i industrin. Därför är testoptimering ett viktigt ämne inom forskning och i praktiken. Idag kan mjukvarutestning utföras manuellt, automatiskt eller halvautomatiskt. En manuell testprocess är fortfarande populär för att testa säkerhetskritiska system. För att testa en programvara manuellt så måste vi skapa en uppsättning specifikationer för testfall. Antalet testfall som behövs kan bero på bland annat produktens storlek, komplexitet, företagspolicys etc. Att generera och utföra testfall manuellt är ofta en tids- och resurskrävande process. För att minska testkostnader och för att potentiellt sett kunna släppa produkten till marknaden snabbare kan det därför vara av intresse att rangordna vilka test fall som borde utföras. För att göra rangordningen så måste testfallens särskiljas på något vis. Med andra ord så måste varje testfalls egenskaper upptäckas i förväg. En viktig egenskap att urskilja från testfallen är hur många krav testfallet omfattar. I det här projektet tar vi fram en metod baserad på $p$-Laplacian spektralklustring för att hitta en spårbarhetsmatris mellan manuella testfall och krav för att ta reda på vilka krav som omfattas av alla testfall. För att evaluera metodens lämplighet så jämförs den mot en tidigare empirisk studie av samma problem som gjordes på ett järnvägsbruk hos Bombardier Transportation i Sverige. Från de experiment som utfördes med vår framtagna metod så kunde ett $F_1$-Score på $4.4\%$ uppnås. Även om den metod som togs fram i detta projekt underpresterade för det här specifika problemet så kunde insikter om vilka begränsningar $p$-Laplacian spektralklustring har och hur de potentiellt sett kan behandlas för liknande problem.
|
283 |
Creating and Deploying Metamorphic Services for SWMM Community Based on FaaS ArchitectureLin, Xuanyi 29 September 2021 (has links)
No description available.
|
284 |
ENABLING REAL TIME INSTRUMENTATION USING RESERVOIR SAMPLING AND BIN PACKINGSai Pavan Kumar Meruga (16496823) 30 August 2023 (has links)
<p><em>Software Instrumentation is the process of collecting data during an application’s runtime,</em></p>
<p><em>which will help us debug, detect errors and optimize the performance of the binary. The</em></p>
<p><em>recent increase in demand for low latency and high throughput systems has introduced new</em></p>
<p><em>challenges to the process of Software Instrumentation. Software Instrumentation, especially</em></p>
<p><em>dynamic, has a huge impact on systems performance in scenarios where there is no early</em></p>
<p><em>knowledge of data to be collected. Naive approaches collect too much or too little</em></p>
<p><em>data, negatively impacting the system’s performance.</em></p>
<p><em>This thesis investigates the overhead added by reservoir sampling algorithms at different</em></p>
<p><em>levels of granularity in real-time instrumentation of distributed software systems. Also, this thesis describes the implementation of sampling techniques and algorithms to reduce the overhead caused by instrumentation.</em></p>
|
285 |
Fuzz Testing for Quality Control in Systems with Complex Input DataBodin, Josefin January 2023 (has links)
Fuzz testing is a testing technique used to generate a large amount of random or semi-random input data. This data is then fed to a target system which is then run with said data and monitored for anomalous behaviour. But as systems become increasingly complex, and as such, their input, fuzz testing becomes less efficient as pure randomisation no longer yields many useful results, and the long execution chains that may arise from complex systems create a demand for configurability in order to generate useful test data and make the testing efficient long-term. This thesis applies high-level configurability to a fuzz testing tool and tests this on a proprietary hard real-time operating system. The results show that this approach might not work all that well on the target system used during this thesis, but it is still believed that it is an approach to fuzz testing which may be useful in other regards.
|
286 |
Towards Collaborative GUI-based TestingBauer, Andreas January 2023 (has links)
Context:Contemporary software development is a socio-technical activity requiring extensive collaboration among individuals with diverse expertise. Software testing is an integral part of software development that also depends on various expertise. GUI-based testing allows assessing a system’s GUI and its behavior through its graphical user interface. Collaborative practices in software development, like code reviews, not only improve software quality but also promote knowledge exchange within teams. Similar benefits could be extended to other areas of software engineering, such as GUI-based testing. However, collaborative practices for GUI-based testing necessitate a unique approach since general software development practices, perceivably, can not be directly transferred to software testing. Goal:This thesis contributes towards a tool-supported approach enabling collaborative GUI-based testing. Our distinct goals are (1) to identify processes and guidelines to enable collaboration on GUI-based testing artifacts and (2) to operationalize tool support to aid this collaboration. Method:We conducted a systematic literature review identifying code review guidelines for GUI-based testing. Further, we conducted a controlled experiment to assess the efficiency and potential usability issues of Augmented Testing. Results:We provided guidelines for reviewing GUI-based testing artifacts, which aid contributors and reviewers during code reviews. We further provide empirical evidence that Augmented Testing is not only an efficient approach to GUI-based testing but also usable for non-technical users, making it a promising subject for further research in collaborative GUI-based testing. Conclusion:Code review guidelines aid collaboration through discussions, and a suitable testing approach can serve as a platform to operationalize collaboration. Collaborative GUI-based testing has the potential to improve the efficiency and effectiveness of such testing.
|
287 |
Simulator improvements and scenario testingGunnarsson, Lukas January 2023 (has links)
The usage of a graphical user interface (GUI) in software often make up for a greatexperience for the user and is often not an issue, until the only way to run a programis through a GUI. Such a dependency will make development of a project very hardas the only way to perform tests is to execute them manually. This is the case for asimulator that the company Creone uses and it is where we will perform our work.Creone works with smart key management systems and cabinets that allow for a safeand convenient way to store and handle keys. Registered users can open the cabinetswith a pin code that is entered on the dial on the cabinet door. Keys are assigned tousers and what keys that a user can take from a cabinet is seen on the display abovethe dialpad. We are to create a new core implementation that will remove the GUIdependency and allow the simulator to perform automated tests to some extent.
|
288 |
Determining confidence in test quality assessment in large-scale software developmentMalmrud, Cecilia January 2022 (has links)
Software testing can be cumbersome and complicated. The complexity of the tests increases when the software itself becomes larger and more complex. When continuous integration is applied to software development feedback to tests can be obtained regularly. These tests are performed in stages and each loop provides test results.A theoretical model for assigning confidence to different testing stages is presented in this thesis to aid in the understanding of the test quality. The input to the model was based on information given in interviews in a case study performed at Ericsson AB. The model is based on the ISO/IEC 25010 standard for software product quality. The theoretical model presented is focused on the early stages of integration and evaluated qualitatively. Its input is delivery test results, trouble reports both from customers and internal testers, and continuous integration flow trends. It was concluded that the theoretical model can be easily automated as each input source can be automatically collected. For developers working in the early stages of integration the model could be of help to give insight into what confidence they can assign their to test's quality. For testers working later in the flow the suitability of the model requires alterations that cannot be deduced from this thesis alone. For other stakeholders the usefulness of the model depends on how involved their work is in the development chain.
|
289 |
A Software Vulnerability Prediction Model Using Traceable Code Patterns And Software MetricsSultana, Kazi Zakia 10 August 2018 (has links)
Software security is an important aspect of ensuring software quality. The goal of this study is to help developers evaluate software security at the early stage of development using traceable patterns and software metrics. The concept of traceable patterns is similar to design patterns, but they can be automatically recognized and extracted from source code. If these patterns can better predict vulnerable code compared to the traditional software metrics, they can be used in developing a vulnerability prediction model to classify code as vulnerable or not. By analyzing and comparing the performance of traceable patterns with metrics, we propose a vulnerability prediction model. Objective: This study explores the performance of code patterns in vulnerability prediction and compares them with traditional software metrics. We have used the findings to build an effective vulnerability prediction model. Method: We designed and conducted experiments on the security vulnerabilities reported for Apache Tomcat (Releases 6, 7 and 8), Apache CXF and three stand-alone Java web applications of Stanford Securibench. We used machine learning and statistical techniques for predicting vulnerabilities of the systems using traceable patterns and metrics as features. Result: We found that patterns have a lower false negative rate and higher recall in detecting vulnerable code than the traditional software metrics. We also found a set of patterns and metrics that shows higher recall in vulnerability prediction. Conclusion: Based on the results of the experiments, we proposed a prediction model using patterns and metrics to better predict vulnerable code with higher recall rate. We evaluated the model for the systems under study. We also evaluated their performance in the cross-dataset validation.
|
290 |
Profile Analysis Techniques for Observation-Based Software TestingLeon Cesin, David Zaen January 2005 (has links)
No description available.
|
Page generated in 0.0984 seconds