Spelling suggestions: "subject:"junit"" "subject:"punit""
1 |
Automatinis testų generavimas, paremtas OCL apribojimais / Automated test generation using OCL constraintsMitė, Mantas 01 September 2011 (has links)
Testavimo procesą galima gerinti jį optimizuojant. Vienas iš galimų gerinimo būdų yra vienetų testai. Vienetų testai padeda sumažinti klaidų kiekį nuo 20 % iki 90 %, tačiau tuo pačiu programų kūrimo išlaidos gali padidėti apie 30 %. Vienas iš galimų būdų išlaikyti pasiektą vienetų testų efektyvumą ir palaikyti mažą kainą yra automatinis jų generavimas. Vienetų testų generatorius, generuoja vienetų testus remdamasis OCL apribojimais. Generatorius JAVA programiniame kode įterptus apribojimus generuoja į Junit vienetų testus. / The development of modern software is a difficult process, there is a high possibility to leave uncorrected mistakes in the software, it would be more precisely to say that it is impossible to make software without bugs. Software testing is maybe the biggest part of development process. The unit testing is very powerful testing. It prevents from defects 20% and more [1]. The quality increase came at a cost of approximately 30% more development time. The main goal is create generator for unit testing. Automated test generator can reduce development time. Unit test generation is based on the OCL (Object Constraint Language) and software static model. OCL eliminate a test oracle problem. Software static model can be UML a class diagrams, but it very complicated approach. We use a reflection technology, because it is more precise and better today. Also OCL constrains are inserted in code.
|
2 |
Analýza architektury a nadstavbových možností frameworku JUnit / Analyze architecture and extension options of the JUnit frameworkHavelka, Arnošt January 2017 (has links)
The thesis is focused on the JUnit framework, which currently represents the most popular framework for unit testing across the Java platform. The paper begins by giving a definition of necessary theory, with focus on unit testing. The goal of this section is to introduce the reader to a test theory on a general level (test classi-fication, cost of bugs, etc.). The last part of the introduction is related to, and focused on, unit testing. The next part of this paper (after the introduction at the beginning) is focused on the JUnit framework itself. The aim is to provide general information about the framework, followed with the description of architecture and detailed specification of every feature for the JUnit framework in version 5 (including the usage of features). The last passage explains options of an extension model within the JUnit framework. The description of the JUnit framework is enhanced with relevant information to version 5 (the summary of changes and expected finalization of the version 5.0) and the description of the framework integration to its surroundings (the other test tools and frameworks) on Java platform. Additionally, the thesis is extended with these appendices: - The organization and concept of source code used by examples. - The complex example of usage of framework Junit. It covers everything from the creation the project (with usage of Spring Boot framework on Java platform) to the implementation of relevant unit tests. - The work-around to support JUnit framework of the version 5 in Eclipse tool.
|
3 |
Architecture-Based Verification of Software-Intensive SystemsJohnsen, Andreas January 2010 (has links)
<p>Development of software-intensive systems such as embedded systems for telecommunications, avionics and automotives occurs under severe quality, schedule and budget constraints. As the size and complexity of software-intensive systems increase dramatically, the problems originating from the design and specification of the system architecture becomes increasingly significant. Architecture-based development approaches promise to improve the efficiency of software-intensive system development processes by reducing costs and time, while increasing quality. This paradox is partially explained by the fact that the system architecture abstracts away unnecessary details, so that developers can concentrate both on the system as a whole, and on its individual pieces, whether it's the components, the components' interfaces, or connections among components. The use of architecture description languages (ADLs) provides an important basis for verification since it describes how the system should behave, in a high level view and in a form where automated tests can be generated. Analysis and testing based on architecture specifications allow detection of problems and faults early in the development process, even before the implementation phase, thereby reducing a significant amount of costs and time. Furthermore, tests derived from the architecture specification can later be applied to the implementation to see the conformance of the implementation with respect to the specification. This thesis extends the knowledge base in the area of architecture-based verification. In this thesis report, an airplane control system is specified using the Architecture Analysis and Description Language (AADL). This specification will serve as a starting point of a system development process where developed architecture-based verification algorithms are applied.</p>
|
4 |
Understandability of General Versus Concrete Test Cases / Understandability of General Versus Concrete Test CasesJafar, Ali, Maharjan, Mohan January 2009 (has links)
One possibility to automate more of software testing is to have developers write more general test cases. Given a general (parameterized test case), that holds in many situations, software can generate many different test instances and execute them automatically. Thus, even though the developers write fewer and smaller tests they can test more. However, it is not clear what other effects the use of generalized test cases has. One hypothesis is that “More general test cases are harder to understand than concrete ones and thus would lead to overall tests that are harder to understand”. Software understandability can be defined as the system that is written by one person is easy to read and understand by another person easily without any resistance. However, software understandability is hard to measure because understandability depends on the cognitive behavior of human. Software understandability assists in software reusability and software maintainability.
|
5 |
Architecture-Based Verification of Software-Intensive SystemsJohnsen, Andreas January 2010 (has links)
Development of software-intensive systems such as embedded systems for telecommunications, avionics and automotives occurs under severe quality, schedule and budget constraints. As the size and complexity of software-intensive systems increase dramatically, the problems originating from the design and specification of the system architecture becomes increasingly significant. Architecture-based development approaches promise to improve the efficiency of software-intensive system development processes by reducing costs and time, while increasing quality. This paradox is partially explained by the fact that the system architecture abstracts away unnecessary details, so that developers can concentrate both on the system as a whole, and on its individual pieces, whether it's the components, the components' interfaces, or connections among components. The use of architecture description languages (ADLs) provides an important basis for verification since it describes how the system should behave, in a high level view and in a form where automated tests can be generated. Analysis and testing based on architecture specifications allow detection of problems and faults early in the development process, even before the implementation phase, thereby reducing a significant amount of costs and time. Furthermore, tests derived from the architecture specification can later be applied to the implementation to see the conformance of the implementation with respect to the specification. This thesis extends the knowledge base in the area of architecture-based verification. In this thesis report, an airplane control system is specified using the Architecture Analysis and Description Language (AADL). This specification will serve as a starting point of a system development process where developed architecture-based verification algorithms are applied.
|
6 |
Ramverk för enhetstestning : För en eventuell kurs på MittuniversitetetDahlgren, Robin January 2022 (has links)
I dagens digitala samhälle är tester på applikationer och kodbaser ett vanligt förekommande fenomen. Tester utförs på flera företag både manuellt och automatiskt och vill gärna rekrytera personer med kunskap inom testning. Mittuniversitetet i Sundsvall har ännu inga kurser för testning men det skulle vara passande för studenter att bli introducerade till detta redan tidigt när de läser ett program. Syftet med denna studie har varit att identifiera ett passande ramverk för kurser om testning på universitet. För att kunna genomföra studien utfördes en kvalitativ litteraturstudie om testning. Sedan valdes två stycken ramverk anpassade för enhetstestning utifrån en kravspecifikation. De utvalda ramverken var JUnit 5 och TestNG. Ramverken testades utifrån dess användbarhet, funktionalitet och effektivitet genom att köra tester mot en befintlig chattapplikation. Vidare utfördes användartest för att undersöka ramverkens lämplighet för användning under en universitetskurs där målgruppen hade olika erfarenheter och datorvana. Resultatet visade på att JUnit 5 var bättre när det kom till användning, dokumentation och lämplighet för en kurs på universitet. Rekommendationen är att JUnit 5 passar till att använda i en kurs på universitet. Det rekommenderas också att universitet bör introducera kurser med testning så att studenten naturligt implementerar ett iterativt förhållningssätt till programmering samt blir mer förberedd inför arbetslivet. / In today’s digital society, testing of applications and code bases is a common phenomenon. Testing are performed on several companies, both manually and automatically, and would like to recruit people with knowledge about testing. Mid Sweden University in Sundsvall does not yet have courses about testing but it would be appropriate for students to be introduced to this early on while they study a program. The purpose with this study has been to identify a suitable framework for university courses about testing. In order to be able to carry out the study, a qualitative literature study on testing was performed to gather information. Furthermore two framework were selected that was adapted for unit testing and based on a requirements specification. The chosen frameworks were JUnit 5 and TestNG. The frameworks were tested based on their usability, functionality and efficiency by running tests against an existing chat application. Furthermore, user tests were performed to examine the suitability of the frameworks for use during a university course where the target group have different experiences and computer skills. The result showed that JUnit 5 was better when it came to usability, documentation and suitability for a course at a university. The recommendation is that JUnit 5 is suitable for a course at a university. It’s also recommended that the university should introduce courses with testing so that the student naturally implements an iterative approach to programming and become more prepared for working with programming and development.
|
7 |
Comparing Spring REST API test frameworks : A Comparison StudyÅkerblom, Sebastian, Huber, Leopold January 2023 (has links)
This bachelor thesis presents a comparison of three Java testing frameworks - JUnit 5,TestNG and Spock - with the purpose of evaluating their suitability in testing RESTAPIs built with Spring Boot. As the demand for reliable and high-quality softwaresystems continues to grow, automated testing techniques are crucial in ensuring thecorrect functionality of applications. Our study aims to fill the knowledge gap in thecurrent literature by focusing on unit tests for Java REST APIs running on the Springframework.We developed a single Spring Boot application and applied tests written using thethree selected testing frameworks. We then compared the performance of the frame-works based on execution time, memory usage and code conciseness. Additionally,we conducted a questionnaire to gather developer preferences for the frameworks.Our findings reveal that TestNG outperforms JUnit 5 in terms of performance, whileSpock requires fewer characters, making it more concise. However, JUnit 5 remainsthe most well-known and widely used testing framework among developers. Theresults of our study provide valuable insights into the performance and developerpreferences of the selected testing frameworks.
|
8 |
Java Auto GraderAbdulrazzak, Shahm, Mattsson, Tor January 2023 (has links)
The process of grading code submissions in programming courses is time-consuming and error-prone. To address this issue, we propose a project that automates the testing and grading process for Java code submissions at Halmstad University. Our approach leverages property-based testing using the JUnit Quick-Check library to generate tests and test reports automatically. The tool we demonstrate in this project is designed to provide students with immediate feedback on their code submissions and reduce the workload for instructors. By automatically generating tests and test reports, our approach ensures that code submissions meet the required specifications and are free from common errors. The com.pholser library is utilized to implement the property-based testing approach. We believe that our project has the potential to improve the grading process for programming courses and provide a more efficient and effective way of assessing student code submissions. Our implementation can be easily extended to support other programming languages and can be integrated with existing learning management systems to provide a seamless experience for instructors and students alike. / Processen för att bedöma kodinlämningar i programmeringskurser är vara tidskrävande. För att lösa problemet, vill vi automatisera testerna och generera en testrapport för Javainlämningar vid Högskolan i Halmstad. Vi tillhandahåller ett verktyg som med hjälp av Property-Based Testing och JUnit Quick-check biblioteket underlättar denna process för lärarna. Verktyget är utformat för att kunna ge studenterna direkt återkoppling på deras inlämningar. Genom att automatiskt generera tester och testrapporter säkerställer vi att inlämningarna uppfyller de krav som läraren specificerar. Detta projekt har potential att förbättra rättningsprocesser i programmerings- kurser genom att testa inlämningar på ett systematiskt och likvärdigt sätt och genom att vara ett mer effektivt sätt att bedöma studenternas inlämningar. Verktyget skulle kunna integreras med en Learning Management System för att även automatisera nerladdning av inlämningar och uppladdning av resultat.
|
9 |
Marknadsanalysverktyg : Estimering av tillväxt på telefon- och mobilabonnenterShirvani, Vahid January 2013 (has links)
Precis som de flesta företag så har True Software Scandinavia AB en produkt där ute i marknaden. Produkten är en mobil applikation som går under namnet Truecaller. För att kunna leverera den bästa upplevelsen till slut användarna så krävs en stor global telefonkatalog. Förutom att företaget har en statistik på hur det har gått och går för deras produkt så finns även behovet att veta hur det kommer att gå i framtiden. Alltså man vill veta hur stor potential det finns i marknaden och med avseende på detta försöka estimera när man når sitt uppsatta mål. Syftet med detta projekt har varit att skapa ett verktyg som kan samla in data och utföra nödvändiga behandlingar för att kunna estimera den framtida tillväxten. Verktyget skapas med hjälp av programmeringsspråket Java och kommer vara i form av ett skrivbords applikation. Eftersom ett sådant verktyg är stort och komplicerad, så kan det lösas genom att delas upp i mindre bestånds delar. Varje del utvecklas för sig själv och allt sätts ihop på slutet. För att hela verktyget ska kunna vara funktionellt och ge något resultat så måste varje delkomponent fungera korrekt. I resultatet kommer vi att verifiera att varje delkomponent utför sitt arbete felfri. Förutom resultatet så kommer dessutom vissa diskussioner kring generell barhet, kritik och förbättringar på arbetet att tas upp i denna rapport. / Like most companies, True Software Scandinavia AB has a product out in the market. The product is a mobile application, called Truecaller. In order to deliver the best experience to the end users, a large global phonebook is required. In addition that the company has statistics of how things have gone and are going for their product, there is also a need to know how it will go in the future. Thus they want to know how much potential there is in the market and with regard to this, attempt to estimate when they reach their goal. The purpose of this project is to create a tool that can collect data and perform the necessary process in order to estimate future growth. The tool is created using the Java programming language and will be in the form of a desktop application. As these kinds of tools are large and complex, it will be solved by subdividing it into smaller constituent parts. After each part is separately developed, all parts will be put together at the end. In order for the tool to be functional and give any result, each component must work correctly. In the results, we will verify that each component performs its work faultless. Apart from the result, even some discussions about general sustainability, criticisms and improvements on the work will be included in this report.
|
10 |
Modell-Baserad TestningOng, Michael, Mao, Jack January 2019 (has links)
Under två decennier har utvecklare inom mjukvarutestning utvecklat testtekniken Modell-baseradtestning. Tekniken bygger på att man genererar testfall från en modell (tex i UML), istället föratt manuallet skriva testfall. Detta kan göra testprocessen mer effektiv, vilket leder till att merarbeten kan göras på kortare tid. Det kan också ses som en ekonomiskt fördel för företag därtestning är huvudområdet. Modell-baserad testning har goda omdömen och teorin för teknikenär väl dokumenterad i artiklar, arbeten samt böcker. Mycket tyder på att tekniken rent teoretisktär användbar i praktiken dessutom finns det väldigt lite kritik mot tekniken. Men trots alltdetta har Modell-baserad testning inte blomstrat inom IT-industrin.Syftet med detta arbete är att ta reda på vad anledningarna skulle kunna vara till att MBT intelyckats bättre inom industrin. I arbetet används tre olika MBT-verktyg för att testa och sedanjämföra om resultatet i praktiken blir som teorin beskriver tekniken. Studiens resultat pekar påatt tekniken fortfarande är omogen och många brister kring Modell-baserad testning stöts på. / For two decades, software testing developers have developed the Model-based testing technique.The technology is based on generating test cases from a model (e.g. in UML) instead of manuallywriting test cases. This can make the test process more efficient, which leads to more workcan be done in less time. It can also be seen as an economic benefit for companies where testingis the main area. Model-based testing has good reviews and the theory of the technique is welldocumented in articles, works and books. There are many indications that the technology istheoretically useful in practice, with a very few criticisms of the technology. Despite all this,Model-based testing has not expanded in the IT industry.The purpose of this study is to find out what the reasons could be to the fact that MBTdid not succeed better in the industry. In this thesis, three different MBT tools are used totest and then compare whether the result in practice becomes as the theory describes the technique.The result of the study indicates the opposite direction and many shortcomings regardingModel-based testing come across.
|
Page generated in 0.0214 seconds