test case generation technique

Top PDF test case generation technique:

An enhanced test case generation technique using activity diagram for system testing

An enhanced test case generation technique using activity diagram for system testing

Sequence diagrams are also important UML models in the creation of test cases under the MBT umbrella as reported by several research attempts. Sarma et al, (2007) as well as Sawant and Shah (2011b) both describe an approach to transform a UML sequence diagram into a sequence diagram graph (SDG) and augmenting its nodes with information needed to compose test vectors so as to later traverse it for test case formation. To create mobile phone application functional test cases, a UML sequence diagram is translated into Labeled Transition Systems (LTSs) where Depth First Search (DFS) technique is applied on the LTS so as to obtain test paths transformed into test cases.
Show more

33 Read more

A Proposed Test Case Generation Technique Based on Activity Diagrams

A Proposed Test Case Generation Technique Based on Activity Diagrams

The proposed model is applied on three different case systems with different sizes and in different areas in order to demonstrate its flexibility and applicability over different domains. The three selected different systems are: University system, Library system, and ATM system. The ATM Withdraw case study from the ATM system is selected to illustrate the implementation of the proposed model‟s modules. An activity diagram for the ATM Withdraw use case is used as shown in Fig. 2 . First the user enters the amount she/he wants to withdraw. Second, the system checks whether the value entered is valid or not, in case it is valid, the system will retrieve the balance of the user then check whether the balance is sufficient to withdraw from or not; otherwise, the system displays an error message for the user to enter an appropriate value. In case the balance is sufficient the system completes the withdraw process successfully by updating the balance, dispensing the cash and finally printing a receipt for the user. In case the balance isn‟t sufficient, the system checks whether the user has permission to overdraft. If permission is granted then the system compares the amount required with the maximum allowed limit for overdraft and in turn completes the withdraw operation successfully if the amount needed is within limit. Finally, an error message is displayed for the user if she/he has no overdraft permission or the amount to be withdrawn exceeds the maximum allowed limit. The Control transfer points are handled by using swim lanes. Two swim lanes are considered, one for the ATM interface and another for the account entity of the client using the ATM. The input and output of each activity are shown using activity parameter nodes.
Show more

18 Read more

Object Oriented Test Case Generation Technique using Genetic Algorithms

Object Oriented Test Case Generation Technique using Genetic Algorithms

Keywords UML, Sequence diagrams, Genetic Algorithms, Evolutionary Algorithm, Software Testing, and Test case Generation... INTRODUCTION Software testing is a process to analyze the softw[r]

7 Read more

SQLunitgen: Test case generation for SQL injection detection

SQLunitgen: Test case generation for SQL injection detection

Our future work includes the following: First, we plan to investigate a new test case generation technique with high path coverage. We can adapt symbolic execution approach combined with con- crete execution [24] or infer the input values from existing manually-created test cases to reduce false negatives. Second, we plan to apply our approach for other types of security vulnerabilities. Our approach can be applied to the vulnerabilities with known hotspots where string type user input is used. Third, we plan to provide test coverage information to give high confidence on the testing results. Fourth, we plan to construct attack pat- tern database with more thorough attack input in a way new attack pattern can be easily added and used to generate test cases.
Show more

14 Read more

An Empirical Study on the Effectiveness of Automated Test Case Generation Techniques

An Empirical Study on the Effectiveness of Automated Test Case Generation Techniques

Abstract: The advent of automated test case generation has helped to reduce the laborious task of generating test cases manually and is prominent in the software testing field of research and as a result, several techniques have been developed to aid the generation of test cases automatically. However, some major currently used automated test case generation techniques have not been empirically evaluated to ascertain their performances as many assumptions on technique performances are based on theoretical deductions. In this paper, we perform experiment on two major automated test case generation techniques (Concolic test case generation technique and the Combinatorial test case generation technique) and evaluate based on selected metrics (number of test cases generated, complexities of the selected programs, the percentage of test coverage and performance score). The results from the experiment show that the Combinatorial technique performed better than the Concolic technique. Hence, the Combinatorial test case generation technique was found to be more effective than the Concolic test case generation technique based on the selected metrics.
Show more

7 Read more

Test Case Generation and Test Data Extraction Techniques

Test Case Generation and Test Data Extraction Techniques

A technique is introduced in [93] where a tool called ReAssert is built to repair test cases that have failed due to changes that have been made in the requirements which cause changes in the code. It makes changes to the test case’s code to enable the passing of failed tests. It also displays the repaired and failing test code for the user to confirm the changes or make further modifications on them. However ReAssert has some limitations, like its ability to only repair about 45% of failures in open-source applications. Also ReAssert suggests a suboptimal repair, which means that a more useful repair can be possible. Moreover, if a failing test modifies expected values, creates complex expected objects, or has multiple control-flow paths, then ReAssert cannot determine what expected values need to be changed and in what way. Then comes a modification on the ReAssert in [94] to introduce a symbolic test repair which repairs more test failures and provides better repairs. It is a technique that uses the symbolic execution to change the literals in the test code. This technique can overcome some of ReAssert’s limitations mentioned previously. It is also developed in java. Pex is another tool which can be used for the same aim but it is developed for .Net applications [95].
Show more

8 Read more

An Overview on Test Case Generation using UML Models

An Overview on Test Case Generation using UML Models

A technique is introduced in [93] where a tool called ReAssert is built to repair test cases that have failed due to changes that have been made in the requirements which cause changes in the code. It makes changes to the test case’s code to enable the passing of failed tests. It also displays the repaired and failing test code for the user to confirm the changes or make further modifications on them. However ReAssert has some limitations, like its ability to only repair about 45% of failures in open-source applications. Also ReAssert suggests a suboptimal repair, which means that a more useful repair can be possible. Moreover, if a failing test modifies expected values, creates complex expected objects, or has multiple control-flow paths, then ReAssert cannot determine what expected values need to be changed and in what way. Then comes a modification on the ReAssert in [94] to introduce a symbolic test repair which repairs more test failures and provides better repairs. It is a technique that uses the symbolic execution to change the literals in the test code. This technique can overcome some of ReAssert’s limitations mentioned previously. It is also developed in java. Pex is another tool which can be used for the same aim but it is developed for .Net applications [95].
Show more

6 Read more

Test Case Generation for UML Behavioral Diagram by Traversal Algorithm

Test Case Generation for UML Behavioral Diagram by Traversal Algorithm

Our proposed technique, first translates the activity and sequence diagrams into their respective graphs which is called as activity diagram graph (ADG) and sequence diagram graph (SDG). The subsequently, System Testing Graph (STG) will be made by integrating both activity and sequence graph. Then STG is traversed using BFS and DFS algorithm separately and resultant test cases are stored. The case study of an ATM system is presented by using this approach. .Subsequently the generated test cases are compared according to their success and failure rate. A. T RANSFORMATION OF AD TO ADG
Show more

5 Read more

A Survey on Test Case Generation from UML Model

A Survey on Test Case Generation from UML Model

The advantages of the technique proposed by Samuel et al. [1] are that it is helpful in detecting faults in cluster level testings as well as faults in boundary testing. In case of cluster level testing the interaction between the objects is tested. However the disadvantages of this technique are i) this technique orders every message using some sequence number, but if we will be using sequence diagram there is no need of doing such things ii) the technique generate the test data first for the leaf nodes by considering the pre path conditions of the leaf node. So, when ever the system is a large and complex system where large numbers of intermediate and leaf nodes are there to generate the test data for the conditional predicate of each leaf node we have to consider all pre paths conditions which is becomes time consuming and labour intensive. The advantage of the techniques proposed by Sharma et al. [2, 3] is that it is useful in detecting scenario as well as interaction fault. However the disadvantage of these techniques is that the techniques are not help full in detecting the decision faults. The advantage of the technique proposed by Swain et al. [4] is that it uses the important features of UML 2.0 Sequence Diagram such as interaction operand and constraints and combined fragment. This technique exercises object interactions in the context of use case dependencies to fulfil the requirements of the user. The advantage of the technique proposed by Nayak et al. [5] is that an effective set of test scenario are generated for a Sequence Diagram using this technique. However the disadvantage of this technique is determining of infeasible paths is a challenging task of this technique. Infeasible paths are those paths where there is no input data for them to be executed.This paths need to be detected and removed in order to generate optimized test scenario. The advantage of the technique proposed by Samuel et al [6] is that it uses the important features of UML 2.0 Sequence Diagram. However the disadvantage is that for
Show more

8 Read more

A Comparative Study on Test Case  Generation of Concurrent Programs

A Comparative Study on Test Case Generation of Concurrent Programs

This paper deals with a comparative study on testing of concurrent programs based on different techniques. The various challenges in testing concurrent programming are: defining test coverage criteria based on control flow, generating control flow graph of nondeterministic programs, inves- tigating the applicability of sequential testing criteria to parallel program testing etc. For solving these issues, some existing techniques are discussed in this study. Various researchers use an in- termediate graph called Event Inter Actions Graph (EIAG) to solve the problem of generating the control flow graph of nondeterministic programs. Some researches propose an intermediate graph called Interaction Sequence Testing Criteria (ISTC) approach based on sequence of interactions to solve the problem of test coverage criteria based on control and data flow. Another method to solve the problem of generating test coverage based on control flow graph of nondeterministic programs is constraint based approach. It needs constrained elements to generate test case which includes structural element and constraint. The selection of good test cases has been addressed by test data generation technique. The technique of concurrent path analysis approach is used to solve the problem of applicability of sequential testing criteria to parallel program testing. It reduces the number of combined concurrent test paths. The sequential test paths are combined to form con- current test path. The Integration and System Test Automation (ISTA) approach is used to solve the problem of applicability of sequential testing criteria to parallel program testing. It is used for au- tomated test case generation and execution by using high-level Petri net is a finite state test model.
Show more

8 Read more

Generate Test Cases From UML Use Case and State Chart Diagrams

Generate Test Cases From UML Use Case and State Chart Diagrams

In this project, test cases generation technique has been proposed for UML diagrams use case and state chart. So that test data can be generated before coding, so it will be useful for the tester because, Test Engineering covers a large amount of activities to ensure that the final product achieves some quality goal.

9 Read more

PRIORITIZATION BASED TEST CASE GENERATION IN REGRESSION TESTING

PRIORITIZATION BASED TEST CASE GENERATION IN REGRESSION TESTING

Test case prioritization techniques could be of great benefit to increasing the effectiveness of test suites in practice. Test case prioritization is a technique. It helps to increase the rate of fault detection or code. Whereas Regression test prioritization is completed in a time constrained execution environment in which testing occurs for only a fixed time period.

11 Read more

A Review: Study of Test Case Generation Techniques

A Review: Study of Test Case Generation Techniques

In Model based technique, the subset of the requirements gets modeled by using formal notations such as specifications of the subset of the requirements. Leon [9] presented an empirical comparison of four different techniques for filtering large test suites-test suite minimization, prioritization by additional coverage, cluster filtering with one cluster sampling, failure pursuit sampling. Rothermal[35]also define a technique for test suite minimization where the size of the test can be reduced by eliminating redundant test cases from the test suite. Therefore minimizationmethod is also called as test suite reduction.Leung and White present thefirst systematic approach to regression testing and test cases.Tallam et.al performed two types of reduction on the lattice.Lattice is a natural representation that supports the identification of the test cases. Test suite optimization problem is solved by implementing the model based test suite optimization technique.In this technique the evolutionary based algorithms are used for optimizing the test suite .Another technique used to reduce the total number of test cases are Extended Finite State Machine(EFSM) .It is basically used to reduce the regression test suites.
Show more

5 Read more

UML based Test Case Generation Methods: A Review

UML based Test Case Generation Methods: A Review

M. Sarma et al. presented an approach of generating test cases from UML design diagrams. A UML use case diagrams transformed into a graph called use case diagram graph (UDG) and sequence diagram into a graph called the sequence diagram graph (SDG) and then integrating UDG and SDG to form the System Testing Graph (STG). The STG is then traversed to generate test cases for system testing. They have used state-based transition path coverage criteria for test case generation. Having stored all essential information for test generation in the STG, they now traverse the STG to generate test cases. The Test Suite Generation algorithm, traverse the STG at 2 levels. The traversal begins with the UDG. This traversal visits all use cases and generate test cases for detecting initialization faults. At level 1, if a use case initialization faults occur then it was assume faults in its operation and therefore no need to apply test cases corresponding to the operation. At level 2 traversal, starting from a use case node the corresponding SDG was visited and test cases were generated to detect operational faults [10]. Chen et al. proposed a technique in which they use UML activity diagrams as design specifications, and consider the automatic approach to test case generation. Instead of deriving test cases from the UML activity diagram directly, they presented an indirect approach which selects the test cases from the set of the randomly generated test case according to a given activity diagram. In this method, they first randomly generate abundant random test cases. Then, by running the program with these test cases, they will get the corresponding program execution traces. Last, by comparing these traces with the activity diagram according to the specific coverage criteria, they can prune some redundant test cases and get a reduced test case set which meets the test adequacy criteria[11].
Show more

6 Read more

Test Case Generation For Student Satellite Software

Test Case Generation For Student Satellite Software

Testing is a process which checks the behavior and helps to identify the correctness, completeness of software compo- nents. Testing also determines whether there are any errors in the software. There are various general testing techniques. Among them most commonly used are: unit testing, black box testing, functional testing, integration testing, stress testing, security testing and acceptance testing. Unit testing tests the individual software components or modules. Black box testing is carried out based on the requirements and functionalities of software components. In functional testing, the software pro- gram or system under test is viewed as a “black box”, but func- tional testing is selection of test cases based on the require- ment or design specification of the software. Integration testing tests the integrated modules to verify combined functionality after integration of all the software components. Stress testing is stressed beyond its specifications to check how and when system will fail and also it is carried out under heavy load, like continuous input to system. Security testing is a technique to determine that an information system protects data and main- tains functionality as intended in the system. Acceptance Test- ing is done when the completed system is handed over from the developers to the users in order to give confidence that the system is working as intended. We saw so many testing techniques in figure 3, but this paper deals only with functionality test cases. Because, using functional testing we can know that the system behavior as it is expected and check whether all components are functioning properly. Testing methodology is designed to carry out testing in a procedural manner and it divides the testing life cycle into phases [5]. The testing methodology we are using to test OBC software components is shown in figure 4. Before testing any software, first we need to generate test cases, which describe an input and an expected output to determine whether the software components are working correctly. Our testing methodology includes functionality test cases. These test cases are written in a positive perception and also in a negative perception. So, test cases can be positive test cases or negative test cases. If the testing operation is performed using the valid data that is the actual input which gives the actual output, then this can be
Show more

5 Read more

Priority based test case generation for Multi object

Priority based test case generation for Multi object

In comparison with genetic search, the particle swarm optimization is a relatively recent optimization technique of the swarm intelligence paradigm. It was first introduced in 1995 by Kennedy and Eberhart [10, 2]. Inspired by social metaphors of behavior and swarm theory, simple methods were developed for efficiently optimizing non-linear mathematical functions. PSO simulates swarms such as herds of animals, flocks of birds or schools of fish. Similar to genetic search, the system is initialized with a population of random solutions, called particles. Each particle maintains its own current position, its present velocity and its personal best position explored so far. The swarm is also aware of the global best position achieved by all its members. The iterative appliance of update rules leads to a stochastic manipulation of velocities and flying courses. During the process of optimization the particles explore the D- dimensional space, whereas their trajectories can probably depend both on their personal experiences, on those of their neighbors and the whole swarm, respectively. This leads to further explorations of regions that turned out to be profitable. The best previous position of particle i is denoted by pbesti, the best previous position of the entire
Show more

12 Read more

Meta Heuristic Search Technique for Dynamic Test Case Generation

Meta Heuristic Search Technique for Dynamic Test Case Generation

An essential part of testing is the selection of the most error sensitive test data. A good set of test cases is one that has a high chance of uncovering previously unknown errors. A successful test run is one that discovers these errors. To uncover all possible errors in a program, exhaustive testing is required to exercise all possible input and logical execution paths. But it is neither possible nor economically feasible except for very trivial programs. Therefore, a practical goal for software testing is to maximize the probability of finding errors using a finite number of test cases, performed in minimum time with minimum effort. Because of the central importance of test case design for testing, a large number of testing methods developed over the last decades, designed to help the tester with the selection of appropriate test data. Existing test case design methods can be categorized into black-box testing and white-box testing. Black-box test cases are determined from the specification of the program under test and white-box test cases are derived from the internal structure of the software. But it is difficult to achieve complete automation of the test case design [4,9] in both the cases. Black-box tests are automated only if a formal specification exists. The tools supporting white-box tests are limited to program code instrumentation and coverage measurement due to the limits of symbolic execution. The test case design has to be performed manually and the quality of test is reliant on the tester. Thus the, manual test case design is time-intensive and error prone when done manually. Evolutionary testing is a promising approach for automation of structural test case generation. The aim of evolutionary testing is to increase the quality of tests and achieve cost savings in software development by means of high degree of automation.
Show more

5 Read more

Search based Software Testing Technique for Structural Test Case Generation

Search based Software Testing Technique for Structural Test Case Generation

achieve the highest level of coverage possible. Unit testing is performed early in the development process and it is more cost-effective at locating errors. Identifying a minimum set of unit level tests to run is the greatest challenge of unit level testing. In an ideal world, every possible path of a program would be tested, accounting for all executable decisions in all possible combinations. But this is impossible when one considers the enormous number of potential paths embedded in any given program (2 to the power of the number of decisions). The challenge is to isolate a subset of paths that provide coverage for all testable units, and to make that subset as minimal and free of unit-level redundancies as possible. A good set of test cases is one which has a high chance of uncovering previously unknown errors and a successful test run is one that discovers these errors. To uncover all possible errors in a program, exhaustive testing is required to exercise all possible input and logical execution paths. But it is neither possible nor economically feasible. Therefore, a practical goal for software testing is to maximize the probability of finding errors using a finite number of test cases, performed in minimum time with minimum effort. A large number of testing methods developed over the last decades, designed to help the tester with the selection of appropriate test data because of the central importance of test case design for testing.
Show more

6 Read more

Test Case Generation and Minimization using UML Activity Diagram in Model Driven Environment

Test Case Generation and Minimization using UML Activity Diagram in Model Driven Environment

In our work test cases for different projects are generated through a tool called test optimal tool. That generated test cases are stored in either in excel file in table format or in HTML format. Data of generated files are extracted through code and store it into database. Stored test cases are larger in number which are minimized with the help of changes done in original activity diagram of a project. Original and modified activity diagrams are compared through software to identify common and uncommon test suites. We will test our project through different activity diagram of number of projects of same domain and finally analytics of change and minimization is presented through graph. With the advent of technology software becomes very crucial part in all the institute and industries. To develop particular software and to test it as per customer requirement is very important because the software which is not able to satisfy customer requirement after development will leads to increase and waste of cost, time and effort of all parts of organization. Model- based test case generation is gaining acceptance to the Design and implementation of new technique for optimum number of test cases generation and minimization using model driven testing.
Show more

5 Read more

An Evolutionary Algorithm for Automated Test Data Generation for Software Programs

An Evolutionary Algorithm for Automated Test Data Generation for Software Programs

For path testing criterion, in order to traverse a feasible path, the control must satisfy the entire branch predicates, which falls on that particular path. In our experimentations, we have used symbolic execution technique of static structural testing. So, corresponding to each path a compound predicate (CP) is made by ‘anding’ each branch predicate of the path. The CP must be evaluated to true by a candidate solution in turn to become a valid test case. The BBBC generates population of candidate solutions and these are used to evaluate CP. If predicate is not evaluated to true by an individual then all the constraints of particular path are split into distinct predicate (DP) and one by one each DP is evaluated by taking values of its operands from candidate solution. A DP is that one, which contains only one operator (a constraint with modulus operator is exception) and can be expressed in form of expression A op B where A and B are LHS and RHS of expression made of one or more operand(s) and op is relational operator. If DP is satisfied then no penalty is imposed to candidate solution, otherwise candidate solution is penalized on the basis of branch distance concept rules as shown in table 1 which is also recommended by [Watkins et al 3] for static structural testing.
Show more

6 Read more

Show all 10000 documents...