Test Focus Selection for Integration Testing

Author(s):  
Shadi Banitaan ◽  
Kendall E. Nygard ◽  
Kenneth Magel

Object-oriented software systems contain large number of modules which make unit testing, integration testing, and system testing very difficult and challenging. While the aim of unit testing is to show that individual modules are working properly and the aim of the system testing is to determine whether the whole system meets its specifications, the aim of integration testing is to uncover errors in the interactions between system modules. However, it is generally impossible to test all connections between modules because of time and budget constraints. Thus, it is important to focus the testing on the connections presumed to be more error-prone. The goal of this work is to guide software testers where in a software system to focus when performing integration testing to save time and resources. This paper proposes a new approach to predict and rank error-prone connections. We use method level metrics that capture both dependencies and internal complexity of methods. We performed experiments on several Java applications and used error seeding techniques for evaluation. The experimental results showed that our approach is effective for selecting the test focus in integration testing.

2020 ◽  
Vol 22 (3) ◽  
pp. 1-18
Author(s):  
Vimaladevi M. ◽  
Zayaraz G.

The use of software in mission critical applications poses greater quality needs. Quality assurance activities are aimed at ensuring such quality requirements of the software system. Antifragility is a property of software that increases its quality as a result of errors, faults, and attacks. Such antifragile software systems proactively accepts the errors and learns from these errors and relies on test-driven development methodology. In this article, an innovative approach is proposed which uses a fault injection methodology to perform the task of quality assurance. Such a fault injection mechanism makes the software antifragile and it gets better with the increase in the intensity of such errors up to a point. A software quality game is designed as a two-player game model with stressor and backer entities. The stressor is an error model which injects errors into the software system. The software system acts as a backer, and tries to recover from the errors. The backer uses a cheating mechanism by implementing software Learning Hooks (SLH) which learn from the injected errors. This makes the software antifragile and leads to improvement of the code. Moreover, the SLH uses a Q-Learning reinforcement algorithm with a hybrid reward function to learn from the incoming defects. The game is played for a maximum of K errors. This approach is introduced to incorporate the anti-fragility aspects into the software system within the existing framework of object-oriented development. The game is run at the end of every increment during the construction of object-oriented systems. A detailed report of the injected errors and the actions taken is output at the end of each increment so that necessary actions are incorporated into the actual software during the next iteration. This ensures at the end of all the iterations, the software is immune to majority of the so-called Black Swans. The experiment is conducted with an open source Java sample and the results are studied selected two categories of evaluation parameters. The defect related performance parameters considered are the defect density, defect distribution over different iterations, and number of hooks inserted. These parameters show much reduction in adopting the proposed approach. The quality parameters such as abstraction, inheritance, and coupling are studied for various iterations and this approach ensures considerable increases in these parameters.


2019 ◽  
Vol 6 (5) ◽  
pp. 467
Author(s):  
Admaja Dwi Herlambang ◽  
Aditya Rachmadi ◽  
Kartika Utami ◽  
Rahmana Ilmi Hakim ◽  
Nurur Rohmah

<p class="Abstrak">Bagian Informasi Kepegawaian dan Komunikasi merupakan sebuah divisi yang ada pada Kantor Regional II Badan Kepegawaian Negara Surabaya. Layanan pengaduan publik oleh Bagian Informasi Kepegawaian dan Komunikasi melalui website memerlukan fitur pengelolaan. Penelitian pengembangan ini menggunakan metode V-Model. Proses pengujian yang dilakukan meliputi <em>unit testing</em>, <em>integration testing</em>, <em>system testing</em>, dan <em>acceptance testing</em>. <em>Unit testing</em> dilakukan dengan basis <em>path testing</em> dan menghasilkan <em>4 independent path</em> dari perhitungan <em>cyclomatic complexity</em> pada kasus uji unit addPIC. <em>Integration testing</em> pada kasus uji fungsi addPIC dari <em>class controller</em> admController dengan fungsi insertPIC dari <em>class</em> <em>model</em> admModel menunjukkan hasil valid. <em>System testing</em> dilakukan terhadap 28 fungsi pada sistem, yang menunjukkan hasil valid. <em>Acceptance testing</em> dilakukan terhadap <em>stakeholder</em> atau <em>user</em> menggunakan <em>black box</em> testing menunjukkan hasil bahwa <em>stakeholder</em> menerima fungsi dalam sistem yang dibuat dan telah sesuai dengan kebutuhan fungsional pada dokumen elisitasi kebutuhan sistem.</p><p class="Abstrak"> </p><p class="Abstrak"><em><strong>Abstract</strong></em></p><p class="Abstract"><em>Staff Information and Communication Division is one of division in State Staffing Agency Regional Office II Surabaya. Public complaint service handled by Staff Information and Communication Division through website require management features. This development research used V-Model method. The testing process includes unit testing, integration testing, system testing, and acceptance testing. Unit testing used the base path testing that produces 4 independent paths from the calculation of cyclomatic complexity in the addPIC unit test case. Integration testing in the test case of the addPIC function from controller class admController with the insertPIC function from model class admModel shows valid results. System testing performed on the 28 system functions show a valid result. Acceptance testing conducted against stakeholders or users using black box testing indicates that the stakeholders have received the system functions and had been in accordance with the functional requirements that exist in the document elicitation system requirements.</em></p><p class="Abstrak"><em><strong><br /></strong></em></p>


2022 ◽  
pp. 1701-1719
Author(s):  
Vimaladevi M. ◽  
Zayaraz G.

The use of software in mission critical applications poses greater quality needs. Quality assurance activities are aimed at ensuring such quality requirements of the software system. Antifragility is a property of software that increases its quality as a result of errors, faults, and attacks. Such antifragile software systems proactively accepts the errors and learns from these errors and relies on test-driven development methodology. In this article, an innovative approach is proposed which uses a fault injection methodology to perform the task of quality assurance. Such a fault injection mechanism makes the software antifragile and it gets better with the increase in the intensity of such errors up to a point. A software quality game is designed as a two-player game model with stressor and backer entities. The stressor is an error model which injects errors into the software system. The software system acts as a backer, and tries to recover from the errors. The backer uses a cheating mechanism by implementing software Learning Hooks (SLH) which learn from the injected errors. This makes the software antifragile and leads to improvement of the code. Moreover, the SLH uses a Q-Learning reinforcement algorithm with a hybrid reward function to learn from the incoming defects. The game is played for a maximum of K errors. This approach is introduced to incorporate the anti-fragility aspects into the software system within the existing framework of object-oriented development. The game is run at the end of every increment during the construction of object-oriented systems. A detailed report of the injected errors and the actions taken is output at the end of each increment so that necessary actions are incorporated into the actual software during the next iteration. This ensures at the end of all the iterations, the software is immune to majority of the so-called Black Swans. The experiment is conducted with an open source Java sample and the results are studied selected two categories of evaluation parameters. The defect related performance parameters considered are the defect density, defect distribution over different iterations, and number of hooks inserted. These parameters show much reduction in adopting the proposed approach. The quality parameters such as abstraction, inheritance, and coupling are studied for various iterations and this approach ensures considerable increases in these parameters.


2012 ◽  
Vol 433-440 ◽  
pp. 5841-5847
Author(s):  
Shu Mei Zhao ◽  
Chun Feng Lv

Generate sufficient test cases is difficult and expensive, especially for testing software systems whose input is structurally complex. This paper proposes a new approach to generating a large number of test data from a few seed test cases, called data mutation. In the new approach, mutation operators transform the input data rather than the program under test or the specification of the software. It is not a test adequacy measurement. Instead, it generates test cases. The paper also reports a case study with the method on testing a modeling tool and illustrates the applicability of the proposed method. Experimental results validate the effectiveness of the method.


Author(s):  
Francisco Lamas ◽  
Miguel A. M. Ramirez ◽  
Antonio Carlos Fernandes

Flow Induced Motions are always an important subject during both design and operational phases of an offshore platform life. These motions could significantly affect the performance of the platform, including its mooring and oil production systems. These kind of analyses are performed using basically two different approaches: experimental tests with reduced models and, more recently, with Computational Fluid Dynamics (CFD) dynamic analysis. The main objective of this work is to present a new approach, based on an analytical methodology using static CFD analyses to estimate the response on yaw motions of a Tension Leg Wellhead Platform on one of the several types of motions that can be classified as flow-induced motions, known as galloping. The first step is to review the equations that govern the yaw motions of an ocean platform when subjected to currents from different angles of attack. The yaw moment coefficients will be obtained using CFD steady-state analysis, on which the yaw moments will be calculated for several angles of attack, placed around the central angle where the analysis is being carried out. Having the force coefficients plotted against the angle values, we can adjust a polynomial curve around each analysis point in order to evaluate the amplitude of the yaw motion using a limit cycle approach. Other properties of the system which are flow-dependent, such as damping and added mass, will also be estimated using CFD. The last part of this work consists in comparing the analytical results with experimental results obtained at the LOC/COPPE-UFRJ laboratory facilities.


1993 ◽  
Vol 4 (3) ◽  
pp. 6-17 ◽  
Author(s):  
J. Sametinger ◽  
A. Stritzinger

Sign in / Sign up

Export Citation Format

Share Document