Selection of Software Testing Method by Using ARAS Method

DARJAN M. KARABAŠEVIĆ, University Business Academy in Novi Sad, Review paper Faculty of Applied Management, UDC: 004.4 Economics and Finance, Belgrade DOI: 10.5937/tehnika1805724K MLAĐAN V. MAKSIMOVIĆ, University Business Academy in Novi Sad Faculty of Applied Management, Economics and Finance, Belgrade DRAGIŠA M. STANUJKIĆ, University of Belgrade, Technical Faculty in Bor, Bor GORAN B. JOCIĆ, University Business Academy in Novi Sad, Faculty of Applied Management, Economics and Finance, Belgrade DUŠAN P. RAJČEVIĆ, University Business Academy in Novi Sad, Faculty of Applied Management, Economics and Finance, Belgrade


INTRODUCTION
The accelerated development of informatics and computing in the last decades has led software to become present in all segments of the society. When the presence and value of software began to grow, software testing has become a very important activity in software development. Software has become indispensable in the economy, education, healthcare, communi-cations, the media, politics, etc. Software errors can cause huge pecuniary damages, as well as non-material losses (reputation, honour ...) so they must be eliminated as early as possible. It is important to recognize the importance of software testing as a basic phase in the software development cycle. Testing helps in reducing the risk of product failure and ensures that the product meets business and technical requirements.
Today, there are a large number of software vendors in the world. Each of them is trying to make software without any defects. However, there is practically no software without defects. Errors that occur during operation are normal and everyday thing and are not directly related to software development. can occur when the environment changes (eg. software is running on new hardware), source code, or in interaction with other software. Institute of Electrical and Electronics Engineers (IEEE) provided the following definition of the occurrence of the error: "A human being can make a mistake that becomes a defect in the code, software, system, or document. If the defect in the code is executed, the system will not perform its task or will perform it incorrectly, which will lead to a software error" [1]. Due to the strong competition in the software market, in order to be competitive, manufacturers must deliver new software at short intervals. This leaves them insufficient time to test software, so mistakes in software are more common. When there is a flaw in the software, the manufacturer must react quickly and do something about it. It has been proven that if a flaw in the software remain undetected for a long time, its removal will cost more. The costs of correcting the error at the analysis stage are incomparably lower than the cost of correcting the same error in later stages of development or delivery [2].
If the error in software is detected at a later stage of development or after delivery, it can be corrected in two ways, either by modifying part of the existing software, or by creating completely new software. If the flaw is caused by poorly designed software, eliminating it by altering part of the code may cause new, possibly bigger problems. It's sometimes more costeffective to re-develop the entire software than repair an existing one. Bertolino [3] states that "testing is essential activity in software engineering". Also the testing in "simplest terms, it amounts to observing the execution of software system to validate whether it behaves as intends and identify potential malfunctions".
Burnstein [4] defines software testing as a process and as an activity: -Software testing is a process that demonstrates that defects do not exist in the software developed for the given application. -Software testing is an activity that ensures the necessary level of confidence in the fact that the program or system executes what it was supposed to do, based on a set of requests that the user specified.
Lazić [5] states that software testing consists of dynamic program verification activities based on the final set of tests, selected in a convenient way from an infinite set of possible ways to execute a program, and according to the specified expected behaviour of the software in a developed application, i.e. required software quality. The problem of software testing is also complex because of the astronomically large number of scenarios of using the software product and the conditions in which the program is found during use.
Based on the above stated, the aim of the paper is to present an approach based on multiple-criteria decision-making methods in the selection of software testing method.
For the selection of alternatives, in our case software testing methods, Additive Ratio Assessment (ARAS) method is applied. Applicability, usability and efficacy of the proposed approach is demonstrated on conducted illustrative example of selection of software testing method.
Therefore, the rest of the paper is structured as follows: in Section 2 some basic definitions related to software testing methods and multiple-criteria decision-making are given. In section 3 Additive Ratio Assessment (ARAS) method is presented, whereas in Section 4 an illustrative example is conducted. Finally, conclusions are presented in final section.

THE THEORETICAL BACKGROUND
Software Testing Methods are ways that the software testing team will test the system. For example, it is necessary to define whether software it will be tested manually or will write a script that automatically tests the system, whether only new functionalities will be tested, or tests on all previously performed functionalities will be repeated. The test method is a test strategy that tells the test team how to test it.
Depending on whether the software testing is performed only on the basis of the output or the internal structure of the software is included, the tests are classified by IEEE as [6]:  Black Box (functional) testing. Reveals errors based on results (exits) when executing the program. Black box testing neglects the internal path of processing within the software code;  White Box (structural) design testing. Examines the code structure in order to identify errors. The term "White" is given to highlight the difference between this method and Black Box testing.
In many cases, both concepts are used to test complex software solutions. Sometimes the so-called Gray Box testing is applied, some modules are tested with Black box, and others with the White Box method.
In addition to the above two methods, Boštjančič et al. [7] additionally suggest that the software testing methodology should be expanded by adding the following phases:  Performance testing. Performance testing includes finding and troubleshooting problems that degrade software performance.  Reliability testing. Reliability testing determines the probability of functioning of the software without error and without failure.  Security testing. The purpose of security testing is to identify and correct errors that potentially jeopardize security, and validate the effectiveness of protection measures. By testing the software, it is first determined how much the software performs the job for which it is intended, and then how it behaves in different exploitation conditions.
Basically, all the definitions of program testing and software testing methods are the tendency to answer the question: does the program behave in the way it is required? Therefore, the key concept in software testing is its specification, because by definitions the above checks are relying on it specification.
Karabasevic et al. [8] emphasizes that "when making decisions, decision makers are often faced with the problem of selecting the optimal alternative from a set of available alternatives, sometimes with the presence of possible limitations.
Relevant approach to making decisions and the adoption of sustainable solutions is provided by the Multiple-criteria Decision Making Methods (MCDM). Also, Stanujkic et al. [9] describe multiple-criteria decision making as "he process of selecting one from a set of available alternatives, or ranking alternatives, based on a set of criteria of usually different significance".
Therefore, methods of multi-criteria decision-making are applied to problems when it is necessary to make the decision to choose one of several potential solutions for a problem. This implies the process of choosing one of the more feasible alternative solutions for which certain goals are set.
By the time and having in mind the extremely dynamic development of the area of multi-criteria decision making, many MCDM methods are proposed. Karabasevic et al. [10] especially highlights some prominent methods such as: SAW or the WS; AHP, TODIM; TOPSIS; PROMETHEE; COPRAS and EL-ECTRE, as well as some newly-developed methods such as: ARAS; MULTIMOORA; SWARA; WASPAS; EDAS and so on. Therefore, the extremely dynamic development of the field of operational research, i.e. field of multi-criteria decision-making methods, shows that the application of multi-criteria decision-making methods is a good choice in solving problems and adopting sustainable solutions.

METHODOLOGY
Additive Ratio ASsessment (ARAS) method is developed by Zavadskas and Turskis [11]. Therefore for the ARAS method can be said, although is newlydeveloped method, that ARAS method is very effective and easy to use when it comes to solving MCDM problems. Until now ARAS method has been applied in numerous cases to solve various decision-making problems, such as: subcontractor selection [12], personnel selection [13][14][15], ranking of companies according to the indicators of corporate social responsibility [16], oil and gas well drilling projects evaluation [17], sustainable building assessment/certification [18] and so on.
Problem solving procedure using the ARAS method, similar to other MCDM methods, begins by forming the decision matrix and determining the weights of the criteria.
A further procedure to solve the problems of multicriteria decision-making by applying ARAS method can be accurately expressed using the following steps [14][15]: Step 1. Determining optimal performance for each criterion. In this step, the domain expert/decision maker determines the optimal performance rating for each criterion. If the domain expert/decision maker has no preferences, the optimal performance ratings can be determined as follows: where j x 0 is the optimal performance rating in relation to the j-th criterion. Step where ij r is the normalized performance rating of the i-th alternative in relation to the j-th criterion.
Step 3: Calculate a weighted normalized decision matrix The weighted normalized performance ratings are calculated by using the following formula: where ij v is the weighted normalized performance rating of the i-th alternative in relation to the j-th criterion.
TEHNIKA -KVALITET IMS, STANDARDIZACIJA I METROLOGIJA 18 (2018) 5 727 Step 4. Calculate the overall performance index for each alternative. The overall performance index for each alternative can be calculated as the sum of the weighted normalized performance ratings using the following formula: (4) Step 5. Calculate the degree of utility for each alternative. Degree of utility can be calculated by applying the following formula: where i Q is the degree of the utility of the i-th alternative, and 0 S is the overall performance index of the optimal alternative, which is usually 1.
Step 6. Rank the alternatives and/or select the most efficient one. The considered alternatives are ranked by ascending Qi, i.e. the alternatives with the higher values of Qi have a higher priority (rank) and the alternative with the largest value of Qi is the bestplaced one.

AN ILLUSTRATIVE EXAMPLE
In order to present applicability, usability and efficacy of the proposed approach, in this section an illustrative example is shown. Three domain experts have evaluated the four alternatives i.e. testing methods: A1 -automated unit testingthese kind of testing requires minimal human intervention [19; 20]; A2 -incremental testing top-down -strategy where the top components of the application are tested first [19; 21]; A3 -incremental testing bottom-up -strategy where the terminal-bottom components of the application are tested first [19; 21] and A4 -usability testtesting and evaluation of the interfaces with real users [19; 21].
For the evaluation of the alternatives total of 6 criteria were used: C1 -data-flow [22]; C2 control-flow [22]; C3effectiveness; C4 -implementation evaluation; C5single person managementit can be tested by single person and C6overall opinion. Attributed weights for all of the evaluation criteria is the same i.e. same importance (0.16).
The overall ratings of the evaluated alternatives are determined as a geometric mean of the ratings obtained from the domain experts/decision makers. Table 1 shows the average ratings of the evaluated alternatives, also in Table 1 are shown optimal performance ratings in row A0 obtained by applying Eq. (1).  Table 2 shows the normalized ratings, determined by applying Eq. (2), and weights of the criteria.  Table 3 shows the overall performance of the evaluated alternatives obtained by using Eq. (4) and (5). According to Table 3, the alternative A4 has the highest overall importance and therefore the best results in terms of the evaluated criteria.

CONSLUSION
Software testing is a very important process and activity, it can be said that software testing is one activity in which huge resources are invested, which indicates that this is one of the most important activities during his life cycle. Software testing is carried out both during development, initial realization and later in exploitation and maintenance phases. Testing methods and, above all, the selection of an adequate method is significant, especially from the aspect of the final product and outcome. In this paper, an illustrative example was successfully conducted aimed at indicating that multi-criteria decision making can be successfully applied for the selection of methods for software testing. An approach based on the ARAS method proved to be very easy to apply, also, should not be ignored the overall efficiency and the usability of the proposed approach. Based on the stances of 3 domain experts / i S TEHNIKA -KVALITET IMS, STANDARDIZACIJA I METROLOGIJA 18 (2018) 5 decision makers, the alternative designated as A4 is best rated in terms of evaluated criteria. The proposed approach can easily be extended with additional criteria if necessary, also, other alternatives may be considered if necessary. Recommendations for future research can be focused primarily on the application of other multi-criteria decision-making methods, such as ED-AS, CODAS and so on. Also, instead of the same weights of evaluation criteria, for determining the weights of the criteria could be applied methods such as PIPRECIA, SWARA, R-SWARA, KEMIRA and so on.