Software Industry plays a vital role in the current environment, it is very essential to minimize the ... Keywords: Software Testing, Testing Techniques, Test Automation, Test case ..... 3Professor and Dean, DMI College of Engineering, Chennai.
ur of Adv. Research in Dynamical and Control Systems
Vol: 9 SI: 5,2017
EVALUATION OF SOFTWARE TESTING TECHNIQUES USING AUTOMATION TESTING 1
V.Sathyavathy,2Dr.D.Shanmuga Priyaa, 1,2Karpagam University.
ABSTRACT Software Industry plays a vital role in the current environment, it is very essential to minimize the fault in the existing software products. In SDLC life cycle, software testing becomes very much important which finds faults in the software that increases the efficiency of software. Most of the cost is occupied by the software testing process, the product very essential to implement the automation technique that reduces the cost and increases the software reliability. In the automated testing process, various intelligent methods are used in order to avoid the manual process. Automation testing tools can be implemented to increase the quality of the software. Keywords: Software Testing, Testing Techniques, Test Automation, Test case Selection, Neural Network INTRODUCTION Software testing in software engineering process is an important component to identify the faults and rectify the errors. Reliability of software becomes a major part in the software product. It is impossible to find all combination of inputs and generate the test case accordingly. Error detection and correction are to be performed by various testing process models and techniques. The main category software testing techniques are static testing techniques and whitebox testing techniques. The static testing techniques include desk code walk through, desk checking, code review and inspection. The structural testing technique includes code coverage testing, branch coverage testing, statement testing, path coverage testing etc. Various methods are to be found to decrease the time and effort of the software testers. Several researches say that the automated and intelligent methods or tools lead the testing process cost effective.
Software testing that performs automation is an alternative approach to test manually. Software testing tools are used to execute the test script on a software application before the product is delivered. Automation testing tools enable the organization to execute the test script rapidly and continuously. The tools apply the
Special Issue on Allied Electrical and Control Systems |
511
Jour of Adv. Research in Dynamical and Control Systems
Vol: 9 SI: 5,2017
process of running, report outcomes and compare the results with the earlier test output. One of the best aspects of the automation testing is the reusable of the testing software. Not only that process, but with every new set of test case and every new set of bug discovery, the testing software application can be upgraded and updated. Test automation process provides a persistent platform for the testing needs. The tests for which the automation process is usually implemented are extremely tedious. These techniques vary between the artificial intelligence and statistical methods. The Figur illustrates the classification. The following methods are used to automate the software testing process, this is necessary to know what are testing process phases to understand how these methods automate the testing process. Artificial Neural Network
Test Data
Tested Application
Validation of output
Distance Calculation
Figure : Classification of automated testing process
SOFTWARE TESTING PHASES Testing process can divide into various phases in the following categories. Based on the classification, the testers must identify the current problem before moving to the next problem and by which phase it can be automated. Software’s Testers Environment
Special Issue on Allied Electrical and Control Systems |
512
Jour of Adv. Research in Dynamical and Control Systems
Vol: 9 SI: 5,2017
The software testers must identify the relationships and interactions between the software and its environment. All the interactions are performed through the software and the human resources. This phase can automate that stimulate the interfaces. Test case Selection Below mentioned are the parameters, depending on the application.
Selection of test case with possible set of data
Selection of test case with different browser
Test case selection with different set of environment
Test case with complex business logic
Selection of test case with different set of users
Selection of test case that Involves large amount of data
Test case selection has any data dependency
Test case selection requires special type of data Each application is divided into modules. The test cases are identified for each module that are
automated based on the parameters. Break each application into modules. For each module, analyze and try to identify the test cases which should be automated based on the parameters. 3. Measuring the test process The test process measurement determines the process that are involved in testing, which in turn determines the percentage of effectiveness and efficiency, which in turn contributes greatly to the effective and efficient development which is managing the testing process, is essential for delivering, maintaining, and improving the testing and development value
AUTOMATED SOFWARE TESTING METHODS CLASSIFICATION The automated software testing are classified into structures, methods and associated systems for implementing the test procedures of program so as to enable the automated testing techniques such as functional and structural testing to be executed in an automated manner.
Special Issue on Allied Electrical and Control Systems |
513
Jour of Adv. Research in Dynamical and Control Systems
Vol: 9 SI: 5,2017
The current analysis further provides the test procedures to be easily carried out in the synchronization with respective changes in the underlying source code files. In general, the structural and functional testing techniques are discussed in a test sequence of the current process in a manner which is combined within the comments of the programming language that are used to implement the software application. Such descriptions of the comments are ignored by the software development tool sets. 1. Test automation process Testing tools of the automation process perform parsing which use the files that contain the source code to extract the structure and functional test procedures that are defined in the description of comments. The test sequences that are derived and executed after the comparison of test tool is implemented in the combination with a software testing tool for the purpose of applying
both for functional
testing of the
software process as a whole and for the structural testing that mainly focuses on examining the logic of program or software product. of the internal functions and modules of the software products. Using an ANN-based model of the software, rather than running the origi-nal version of the program, may be advantageous for a variety of reasons. First,the original version may become unusable, due to a change in the hardware plat-form or the OS environment. Another usability problem may be associated with athirdparty application having an expired license or other restrictions. Second, mostinputs and outputs of the original application may be non-critical at a given stageof the testing process, and, thus, using a neural network for an automated modelingof the original application may save a significant amount of computer resources.Third, saving an exhaustive set of test cases with the outputs of the original versionmay be infeasible for real-world applications.The structure and functional information processing capabilities of the human brain is designed as the ANN (Artificial Neural Network). The main component of an artificial neural network is structural and functional units resemble to the architecture of neurons in the human brain. The artificial neural network is a huge amount of information processing system concurrently that manages the control over distributed to learn and get enough knowledge about its environment. The parallel distributed process design and the capability are the two essential factors that influence the superior inherent capability of the artificial neural network. The generalization processes are not represented to yield the outputs for the specific inputs and it has the capability to estimate the learned information. These characteristics of the neural networks allow the critical problems to be solved.
Special Issue on Allied Electrical and Control Systems |
514
Jour of Adv. Research in Dynamical and Control Systems
Vol: 9 SI: 5,2017
Evaluation of Test Scenario A software tester needs a method to generate the output for the specific input for a test case. They compare the existing output with the actual output; if the outputs are not same then the fault is detected. To detect the fault testers the oracle for the automation of testing is needed. The Oracle is a free source of an expected output to detect the fault. Test oracle must accept the every input specified in the software specification and should give the correct result. The process of using automated oracle In this study, an ANN is used to approximate this behavior. Then, this model can use as an automated Oracle for generating the correct outcome. Because ANNs have a suitable capability for modeling and continues the deterministic functions, this method of approximation has a good accuracy if it is deterministic and without ambiguity. TESTING METHODOLOGY DESCRIPTION The black box testing approach is the description of the testing methodology. Tested program may contain faults
LegalTest Cases
Training Network
Neural Network Training
Figure: Training Phase and Evaluation Phase
Special Issue on Allied Electrical and Control Systems |
515
Jour of Adv. Research in Dynamical and Control Systems
Vol: 9 SI: 5,2017
ANN accepts new version of tested program in which the test case is provided as the input. The difference between the ANN outcome and the respective value of the expected application output is calculated using the comparison tool for each set of user input. All the outputs are numbered from zero value to the value of one. The values are computed in one of the three intervals within the range. The correct outcome is reported by the test comparison tool. If the value of the network estimation is different from that of the application outcome and the distance between the outputs are very large (it falls into the category between the high threshold and 1.0), a defect in the program (wrong output) is denoted by the testing comparison tool. The network output is comparatively to be perfect in both the types. The accuracy of the application output is evaluated correctly. The network output is not considered as reliable, if the distance is placed into the range of interval between the low threshold and high threshold The testing comparison tool reports a fault in the program, when the network predicted value is similar to the application output in the last set of case. The comparison tool is used as an evolutionary method for comparing the results from the artificial neural network and the results of the tested versions of the credit card approval processing application. The purpose of an automated testing process is essential to confirm that the results have not been affected by external factors. By using the comparison tool, it replaces the manual tester who may have enough knowledge of the original application. The neural network output and the application tested output is used by the comparison tool. The absolute difference between the code value for each set of input and the application value is taken as the input. The exact value of the corresponding output is equal to 1.0 if the expected and actual outputs are same. The two most common types of outcomes are implemented effectively by the testing comparison tool, as there are four possible combinations for a binary outcome and five for a continuous output. The detailed examination of a continuous output differs in one part with correspond to a binary which is equal to 1.0 if the expected and actual outputs are same. A NEURAL NETWORK USAGE IN THE
Special Issue on Allied Electrical and Control Systems |
516
Jour of Adv. Research in Dynamical and Control Systems
Vol: 9 SI: 5,2017
PROCESS OF SOFTWARE TESTING Table1: Each specific output has a defined classification Tested Application output The experiment is divided into three parts, first one is the application instance, the second one is the artificial neural network and the third one is the tool for comparison that calculates the distance between the two outputs. The requirement specification for the credit card approval application is used to provide the
ANN Output Correct Wrong
Tested Application Output Correct 1 True Positive 4 False Positive
Wrong 2 True Negative 3 False Negative
necessary input and output attributes and placing the injected faults .The format of the application is fully or partially dependent by the design of the neural network In the training phase and evaluation phase, the data given as the input for the second part of the neural network and the tested application are generated randomly. The data given as the inputs that are fed into the tested program that generates the output for each application. The back propagation algorithm is used to pass the input to a two layer network and output vectors which is the training instance. In the next phase, the tested application is implemented by making modifications at a time interval to the original version of the program. The dataset that are to be tested are then passed to the artificial neural network and tested program. Using the comparison tool processes the output program that is tested to find whether output is correct or not. Test cases are to be generated to begin with the process of experiment to begin. The attributes are created as the input with the requirements of the application which is being tested; the outputs are extracted by executing the tested application. The outputs are the binary and continuous, where the binary outputs are assigned a value of 0 or 1. The outcome of each example which is continuous in different manner is placed into the proper interval with the range of set of possible values and the number of intervals used. The data set are used to process the data for training the artificial neural network. The entire data set is presented to the training network with the number of epoch being specified. When the number of epochs has been reached then the
Special Issue on Allied Electrical and Control Systems |
517
Jour of Adv. Research in Dynamical and Control Systems
Vol: 9 SI: 5,2017
back propagation algorithm gets concluded. To predict the output, regression tests are being conducted in which the network used as the oracle to predict the correct output. Table 2: Instance of Credit card Approval Attribute Name
Data Type
Type of Attribute
Serial ID
Integer
Input
Citizen
Integer
Input
State Name
Integer
Input
Region
Integer
Input
Class Income
Integer
Input
Age
Integer
Input
Marital Status
Integer
Input
Credit card Amount
Integer
Output
Credit Approved
Integer
Output
Details Unique for each customer 0-India 1-Others 0-Chennai 1-Others 0-6 for different regions in India 0-if income p.a