Java Code Coverage Test Technology Based on EMMA

2014 ◽  
Vol 1049-1050 ◽  
pp. 2069-2072
Author(s):  
Yan Yun Liu ◽  
Bin Hu ◽  
Li Ping Rao ◽  
Lin Pan

Traditionally, at the end of functional testing, testers resort to the numbers of problems reported and the test cases executed to evaluate the adequacy of the testing. This method generally results in that testers have no confidence in the test results. Therefore, we introduce coverage to settle this problem. EMMA is an open source testing tool which detects and reports Java code coverage. In this paper, two actual functional testing as examples to explain the processes of using EMMA command line and EMMA with Ant to obtain code coverage, further to explain how to increase test cases to accumulate code coverage based on EMMA. The final code coverage analysis reports testify that using EMMA can greatly ensure the integrity of the functional testing.

Verification is must to ensure that the design is an exact representation of the specifications of the design without any bugs. Verification helps to avoid surprisess at later time so that product can enter the market on time with good quality and less cost. In the present research work, synchronous generic FIFO is designed using Verilog. Here the pointers will indicate the status of the FIFO, the flag information’s like Full, Empty, Last, Second Last First and the FIFO will have a synchronous Reset ability and this FIFO is used as a DUT under verification environment. The verification is carried out using SystemVerilog layered testbench approach. As the designing of modules get complex, it is becoming more difficult to check that design, as it takes longer time to check all the combinations of design inputs. This problem can be solved by randomization and adding cover group and assertions. The verification plan involves test bench, verification properties, assertions, coverage sequences, application of test cases and verification procedures for the FIFO design. The functionality of the DUT is verified through layered testbench approach and coverage analysis. The response of DUT under random constrained inputs is compared with the predicted response in the scoreboard unit of the layered testbench. The research work achieved 80% code coverage and around 90% of functional coverage.


2012 ◽  
Vol 204-208 ◽  
pp. 4400-4405
Author(s):  
Xin Lin Wan ◽  
Su Zhang

It is necessary to test dynamics parameters of foundations at construction ground of large-size dynamic machine base. This paper elaborate the test technology and data processing methods on the basis of the block forced vibration test with engineering example, and test results are analyzed and discussed.


2019 ◽  
Vol 8 (3) ◽  
pp. 4265-4271

Software testing is an essential activity in software industries for quality assurance; subsequently, it can be effectively removing defects before software deployment. Mostly good software testing strategy is to accomplish the fundamental testing objective while solving the trade-offs between effectiveness and efficiency testing issues. Adaptive and Random Partition software Testing (ARPT) approach was a combination of Adaptive Testing (AT) and Random Partition Approach (RPT) used to test software effectively. It has two variants they are ARPT-1 and ARPT-2. In ARPT-1, AT was used to select a certain number of test cases and then RPT was used to select a number of test cases before returning to AT. In ARPT-2, AT was used to select the first m test cases and then switch to RPT for the remaining tests. The computational complexity for random partitioning in ARPT was solved by cluster the test cases using a different clustering algorithm. The parameters of ARPT-1 and ARPT-2 needs to be estimated for different software, it leads to high computation overhead and time consumption. It was solved by Improvised BAT optimization algorithms and this approach is named as Optimized ARPT1 (OARPT1) and OARPT2. By using all test cases in OARPT will leads to high time consumption and computational overhead. In order to avoid this problem, OARPT1 with Support Vector Machine (OARPT1-SVM) and OARPT2- SVM are introduced in this paper. The SVM is used for selection of best test cases for OARPT-1 and OARPT-2 testing strategy. The SVM constructs hyper plane in a multi-dimensional space which is used to separate test cases which have high code and branch coverage and test cases which have low code and branch coverage. Thus, the SVM selects the best test cases for OARPT-1 and OARPT-2. The selected test cases are used in OARPT-1 and OARPT-2 to test software. In the experiment, three different software is used to prove the effectiveness of proposed OARPT1- SVM and OARPT2-SVM testing strategies in terms of time consumption, defect detection efficiency, branch coverage and code coverage.


Author(s):  
Kaled M. Alshmrany ◽  
Rafael S. Menezes ◽  
Mikhail R. Gadelha ◽  
Lucas C. Cordeiro

AbstractWe describe and evaluate a novel white-box fuzzer for C programs named , which combines fuzzing and symbolic execution, and applies Bounded Model Checking (BMC) to find security vulnerabilities in C programs. explores and analyzes C programs (1) to find execution paths that lead to property violations and (2) to incrementally inject labels to guide the fuzzer and the BMC engine to produce test-cases for code coverage. successfully participates in Test-Comp’21 and achieves first place in the category and second place in the category.


Author(s):  
Romulo de Almeida Neves ◽  
Willian Massami Watanabe ◽  
Rafael Oliveira

Context: Widgets are reusable User Interfaces (UIs) components frequently delivered in Web applications.In the web application, widgets implement different interaction scenarios, such as buttons, menus, and text input.Problem: Tests are performed manually, so the cost associated with preparing and executing test cases is high.Objective: Automate the process of generating functional test cases for web applications, using intermediate artifacts of the web development process that structure widgets in the web application. The goal of this process is to ensure the quality of the software, reduce overall software lifecycle time and the costs associated with tests.Method:We elaborated a test generation strategy and implemented this strategy in a tool, Morpheus Web Testing. Morpheus Web Testing extracts widget information from Java Server Faces artifacts to generate test cases for JSF web applications. We conducted a case study for comparing Morpheus Web Testing with a state of the art tool (CrawlJax).Results: The results indicate evidence that the approach Morpheus Web Testing managed to reach greater code coverage compared to a CrawlJax.Conclusion: The achieved coverage values represent evidence that the results obtained from the proposed approach contribute to the process of automated test software engineering in the industry.


2021 ◽  
Vol 3 (4) ◽  
pp. 385-394
Author(s):  
Usman Nurhasan ◽  
Erninda Ristiani ◽  
Samsul Islam Baddrisshofa

The School Literacy Movement (GLS) aims to foster youth character through a culture of literacy (reading and writing). However, in the presence of the Covid-19 outbreak, Indonesian education needs to use online media to keep learning going. Many types of platforms are used for online learning media, but all of these media do not support school literacy activities, so school literacy activities do not run as usual. Based on these problems, a solution was created, namely an application that makes it easy for literacy activities to take place online. Students can access this application to do online literacy via a laptop or smartphone. This application makes it easier for teachers to monitor the course of online literacy programs. The results of this study are indicated by functional testing on all features obtaining a 100% valid percentage. Tests on users get an average percentage of more than 80%. The test results prove that this application can be accepted by students, teachers and admins at State High School 1 Geger Madiun to make literacy activities more effective and efficient.


Author(s):  
B. Subashini ◽  
D. Jeya Mala

Software testing is used to find bugs in the software to provide a quality product to the end users. Test suites are used to detect failures in software but it may be redundant and it takes a lot of time for the execution of software. In this article, an enormous number of test cases are created using combinatorial test design algorithms. Attribute reduction is an important preprocessing task in data mining. Attributes are selected by removing all weak and irrelevant attributes to reduce complexity in data mining. After preprocessing, it is not necessary to test the software with every combination of test cases, since the test cases are large and redundant, the healthier test cases are identified using a data mining techniques algorithm. This is healthier and the final test suite will identify the defects in the software, it will provide better coverage analysis and reduces execution time on the software.


Author(s):  
Jörg Stöcklein ◽  
Daniel Baldin ◽  
Wolfgang Müller ◽  
Tao Xie

In our paper we present a virtual test environment for self-optimizing systems based on mutant based testing to validate user tasks of a real-time operating system. This allows the efficient validation of the code coverage of the test cases and therefore helps to detect errors in order to improving the reliability of the system software. Technically we are able to run and test the software on both systems. By writing application software and setting up the virtual test environment properly, we define our test cases. To validate the code coverage for our test cases, we use the approach of mutant based testing. By running this mutated code on our virtual prototype in the virtual test environment, we are able to efficiently validate the code coverage and are able to detect bugs in the application code or detect dead code that is not executed. Finding non-executing code leads to redefinition of our test cases by either changing the test environment or the application code in the case of dead code. We implemented the virtual test environment on top of the third party low cost VR system Unity 3D, which is frequently used in entertainment and education. We demonstrate our concepts by the example of our BeBot robot vehicles. The implementation is based on our self-optimizing real-time operating system ORCOS and we used the tool CERTITUDE(TM) for generating the mutations in our application code. Our BeBot virtual prototype in our virtual test environment implements the same low-level interface to the underlying hardware as the real BeBot. This allows a redirection of commands in ORCOS to either the real or the virtual BeBot in order to provide a VR based platform for early software development as well as ensures comparable conditions under both environments. Our example applies a virtual BeBot that drives through a labyrinth utilizing its IR sensors for navigation. The mutant based testing checks if all situations implemented by the software to navigate through the labyrinth are covered by our tests.


2014 ◽  
Vol 568-570 ◽  
pp. 1469-1478
Author(s):  
Ai Ping Xu ◽  
Yong Min Mu ◽  
Zhi Hua Zhang ◽  
Hui Li Li

Path coverage testing is almost impossible to achieve because of the large number of paths. The function calling path coverage analysis method can guaranty adequate test coverage rate effectively on the precondition of unit testing completion. Based on function calling relations, the methods of dynamic generation function calling path is proposed. For cycle and recursive calling, design instrumentation rules and probe function, complete source code instrumentation, ensure the stub point flow can trace to the function calling relations. The function calling path generation algorithms were designed to split the stub point flow to the dynamic function calling path. Experimental results show that the dynamic function calling path generation method based instrumentation can extract the function calling paths which are executed by test cases and gain the coverage of information automatically.


Sign in / Sign up

Export Citation Format

Share Document