The Development of Several Algorithms to Improve Test Case Generation Izzat Alsmadi

Mohammed Naji Al-Kabi

Yarmouk University CIS department CS and IT faculty 96227211111-2699

Yarmouk University CIS department CS and IT faculty 96227211111-2568

[email protected]

[email protected]

ABSTRACT Software testing is a necessary activity required to ensure that the developed product is free of errors. Test automation is expected to reduce the cost of testing especially as GUI testing is increasingly taking a major role in the whole project expenses and success. GUI test automation presents a major challenge for test automation. For many years GUI testing has been done manually or informally and with very little standards. In this research, Some Artificial Intelligent (AI) algorithms are produced for test case generation. The test cases are selected to ensure test adequacy or path coverage with the least possible amount of created test cases. The algorithms uses the GUI graph as their inputs and generate test cases that traverse through newly visited paths every time. The original user interface of the application is transformed into a GUI graph saved in XML format that reserve its hierarchical structure. The effectiveness of the generated test cases is evaluated through comparing them to the overall possible paths in the GUI graph.

General Terms Algorithms, Measurement, Design, Languages.

Keywords Test case generation, Test automation, GUI testing, GUI modeling. AI algorithms.

1.

INTRODUCTION

Software testing consumes a good percentage of the software project expenses. Using test automation is a possible solution for the rapidly increasing expenses for testing. In order to use test automation, we have to create Artificial Intelligent (AI) algorithms that replace or simulate tester activities. Those activities include: test case generation, execution and verification. In this paper, we propose several algorithms for the generation of test cases from the GUI model.

This model is generated from the GUI implementation using reflection. The hierarchical structure of the GUI components is serialized to XML files. We built a tool in C# that uses reflection to serialize the GUI control components [12, 13, and 14]. Certain control properties are selected to be serialized. These properties are relevant to the user interface. The application then uses the XML file that is produced to build the GUI tree or the event flow graph and generate the test cases from the tree. Generating the test cases takes into consideration the tree structure to select the test cases that will ensure test adequacy in those selected test cases. We will study the fault detection effectiveness of our test case selections. The next section introduces the related work. Section 3 lists the goals of this research and describes the work done toward those goals. Section 4 presents the conclusion and future work.

2. RELATED WORK Several papers are presented to suggest or implement AI algorithms for software testing. For example, some projects use planning from AI for software testing. The purpose of using AI algorithms in software test case generation is to generate test cases that maximize coverage [1, 2]. After analyzing the application user interface to determine what operations are possible, they (i.e. the operations) become the operators in the planning problem. Next, an initial and a goal state are determined for each case. Planning is used to determine a path from the initial state to the goal state. This path becomes the test plan. In our approach, test cases are generated without any user involvement (to determine the next state in the above approach which makes it semi automatic) but through built-in algorithms. Genetic algorithm is another area that is used software test case generation [3, 4]. Genetic Algorithm (GA) is an adaptive search technique that mimics the processes of evolution to solve optimization problems when traditional methods are considered too costly in processing time. Artificial Neural networks are used for test case or set reduction [5]. They calculate functions using example inputs and outputs and the connection between the elements. Inputs are adjusted to reach certain goals.

3. GOALS AND APPROACHES We created several AI algorithms for the automatic generation of test cases. The following dynamically-created test generation algorithms are heuristics (i.e. with no mathematical basis). The goal is to generate unique test cases that represent legal test scenarios in the GUI tree with the best branch coverage. This is

guaranteed by creating a unique test scenario each time. Here is a list of the developed algorithms.

3.1 Random legal sequences In this algorithm, the tool first randomly selects a first-level control (i.e. top level in the GUI graph). It then picks a child for the selected control and so on. For example, in a Notepad Application Under Test (AUT), If Notepad main menu is selected as the first level control; candidate children are File, Edit, Format, View, and Help. In the second step, if file control is selected from those children, the children for file (Save, SaveAs, Exit, Close, Open, Print, etc) are the valid next-level controls from which one control is randomly selected and so on. The pseudo code for this algorithm is: 1. Select dynamically (i.e., the tool) the main entry control (or select any control of level 0). 2. Find all the children for the control selected in one and randomly pick one child. 3. Find all the children for the control selected in two and select one child control. 4. Repeat three until no child is found for the selected control. 5. The test scenario for this cycle is the sequence of controls from all previous steps. 6. Repeat the above steps for the total number of the required test scenarios. Figure 1 is a sample output dynamically generated from the random legal sequence algorithm. 0,NOTEPADMAIN,LABEL2,,, 1,NOTEPADMAIN,BUTTON1,,, 2,NOTEPADMAIN,BUTTON1,,, 3,NOTEPADMAIN,EDIT,GOTO,, 4,NOTEPADMAIN,TXTBODY,,, 5,NOTEPADMAIN,ABOUT,ABOUTHELPLABEL2,, 6,NOTEPADMAIN,VIEW,STATUS BAR,, 7,NOTEPADMAIN,PRINTER,PRINTERLABEL1,, 8,NOTEPADMAIN,TEXT2,,, 9,NOTEPADMAIN,FORMAT,WORD WRAP,, 10,NOTEPADMAIN,LABEL1,,, 11,NOTEPADMAIN,SAVE,SAVEFILEBUTTON1,, 12,NOTEPADMAIN,HELPTOPICSFORM,LINKLABEL1 13,NOTEPADMAIN,FILE,EXIT,, 14,NOTEPADMAIN,FONT,FONTLABEL4,, 15,NOTEPADMAIN,FIND,TABCONTROL1,TABREPLACE, 16,NOTEPADMAIN,BUTTON3,,, 17,NOTEPADMAIN,FORMAT,WORD WRAP,, 18,NOTEPADMAIN,SAVEAS,SAVEFILELABEL2,, 19,NOTEPADMAIN,SAVEAS,SAVEFILELABEL2,, 20,NOTEPADMAIN,ABOUT,ABOUTHELPLABEL2,, 21,NOTEPADMAIN,TXTBODY,,, 22,NOTEPADMAIN,OPEN,OPENFILELABEL3,, 23,NOTEPADMAIN,ABOUT,ABOUTHELPLABEL2,, 24,NOTEPADMAIN,VIEW,STATUS BAR,, 25,NOTEPADMAIN,BUTTON3,,, Figure 1. A sample output from the random legal-sequence algorithm.

3.2 Random less previously-selected controls In this algorithm, controls are randomly selected as in the previous algorithm. The only difference is that if the current control is previously selected (e.g. in the test case just before this one), this control is excluded from the current selection. This causes the algorithm to always look for a different control to pick. The pseudo code for this algorithm is as follows:

1. Select the main entry control (or select any first level control). 2. Find all the children for the control from one and select one child control. 3. Save the selected control to a variable. Check if this is the previously selected control. If this is the same control that is selected in the previous scenario, pick another one. 4. Find all the children for the previously selected control and pick one child control. Save the selected control to a variable. 5. Check the previously selected control. If they are the same, select another one. 6. Repeat four until no child is found for the selected control. 7. The test scenario of this cycle is the controls in sequence from all previous steps. 8. Repeat the above steps for the total number of required test scenarios. Figure 2 is a sample output dynamically created using the above test case generation algorithm. 0,NOTEPADMAIN,BUTTON2,,, 1,NOTEPADMAIN,SAVEAS,SAVEFILELABEL8,, 2,NOTEPADMAIN,BUTTON2,,, 3,NOTEPADMAIN,SAVEAS,SAVEFILELABEL8,, 4,NOTEPADMAIN,BUTTON2,,, 5,NOTEPADMAIN,SAVEAS,SAVEFILELABEL8,, 6,NOTEPADMAIN,BUTTON2,,, 7,NOTEPADMAIN,SAVEAS,SAVEFILELABEL8,, 8,NOTEPADMAIN,BUTTON2,,, 9,NOTEPADMAIN,LABEL2,,, 10,NOTEPADMAIN,FORMAT,FONT,FONTLABEL3, 11,NOTEPADMAIN,LABEL2,,, 12,NOTEPADMAIN,FORMAT,FONT,FONTLABEL3, 13,NOTEPADMAIN,LABEL2,,, 14,NOTEPADMAIN,FORMAT,FONT,FONTLABEL3, 15,NOTEPADMAIN,LABEL2,,, 16,NOTEPADMAIN,FORMAT,FONT,FONTLABEL3, 17,NOTEPADMAIN,LABEL2,,, 18,NOTEPADMAIN,FORMAT,FONT,FONTLABEL3, 19,NOTEPADMAIN,LABEL2,,, 20,NOTEPADMAIN,FORMAT,FONT,FONTLABEL3, 21,NOTEPADMAIN,LABEL2,,, 22,NOTEPADMAIN,FORMAT,FONT,FONTLABEL3, 23,NOTEPADMAIN,LABEL2,,, 24,NOTEPADMAIN,FORMAT,FONT,FONTLABEL3, 25,NOTEPADMAIN,PRINTER,PRINTERLABEL10,, Figure 2. Sample from the algorithm; random less previously selected controls.

3.3 Excluding previously-generated scenarios Rather than excluding the previously selected control, as in the second algorithm, this algorithm excludes all previously generated test cases or scenarios and hence verifies the generation of a new unique test case. The scenario is generated and if the test suite already contains the newly generated scenario, it will be excluded and the process to generate a new scenario starts again. In this scenario, the application may stop before reaching the number of required test cases to generate, if there are no more unique test scenarios to create. As explained earlier, the algorithm is given limited resources. It is expected to find the solution within those resources or the algorithm stops and is considered to have failed.

The pseudo code for this algorithm is: 1. Select a first level control. 2. Find all the children for the selected control in step one and randomly pick one child of that control. 3. Find all the children for the control selected in step two and pick one child of that control. 4. Repeat step three until no child is found for the selected control. 5. The test scenario for this cycle is the controls in sequence from all previous steps. Save the sequence of every test scenario to a Hashtable (e.g. a data structure). 6. Check the scenarios that are existed in the Hashtable. If the current created scenario is in the Hashtable, exclude it from the selection and restart the selection process. 7. Repeat the above steps for the total number of the required test scenarios unless a termination process is called. Figure 3 shows a sample output from the above algorithm. 1,NOTEPADMAIN,FORMAT,WORD WRAP,,, 3,NOTEPADMAIN,OPEN,OPENFILELABEL4,,, 5,NOTEPADMAIN,FORMAT,FONT,FONTLABEL1,, 7,NOTEPADMAIN,LABEL1,,,, 9,NOTEPADMAIN,BUTTON1,,,, 11,NOTEPADMAIN,HELPTOPICSFORM,HELPTOPICS,IN DEX,LABEL3, 13,NOTEPADMAIN,OPEN,OPENFILELABEL8,,, 15,NOTEPADMAIN,FILE,OPEN,OPENFILELABEL9,, 17,NOTEPADMAIN,FIND,TABCONTROL1,TABFIND,FIN DTABTXTFIND, 19,NOTEPADMAIN,FIND,TABCONTROL1,TABGOTO,GOT OTABTXTLINE, 21,NOTEPADMAIN,SAVE,SAVEFILEBUTTON1,,, 23,NOTEPADMAIN,SAVEAS,SAVEFILECOMBOBOX4 25,NOTEPADMAIN,FONT,FONTLISTBOX1,,, 27,NOTEPADMAIN,HELPTOPICSFORM,LINKLABEL2 29,NOTEPADMAIN,FIND,TABCONTROL1,TABREPLACE, REPLACETABLABEL3, 31,NOTEPADMAIN,HELP,ABOUT NOTEPAD,,, 33,NOTEPADMAIN,BUTTON2,ABOUT NOTEPAD,,, 35,NOTEPADMAIN,HELP,HELP TOPICS,,, 37,NOTEPADMAIN,BUTTON2,,,, 39,NOTEPADMAIN,BUTTON2,HELP TOPICS,,, 41,NOTEPADMAIN,LABEL1,HELP TOPICS,,, 43,NOTEPADMAIN,EDIT,GOTO,,, 45,NOTEPADMAIN,SAVEAS,SAVEFILELABEL2,,, 47,NOTEPADMAIN,FIND,TABCONTROL1,TABGOTO,GOT OTABLABEL4, Figure 3. Sample of the unique-scenarios algorithm. As seen in the sample, some of the generated test cases are canceled as they were previously generated (from looking at the sequence of the test cases).

3.4 Weight selection algorithm In this scenario, rather than giving the same probability of selection or weight for all candidate control’s children as in all previous scenarios, in this algorithm, any child that is selected in the current node causes its weight (i.e. probability of selection) next time to be reduced by a certain percent. If the same control is selected again, its weight is reduced again and so on. The pseudo code for this algorithm is: 1. Select the first level control.

2. Select randomly a child for the control selected in step one. Give equal weights for all children. Decrease weight for the selected one by a fixed value. 3. Find all the children for the control selected in step two and randomly pick one child control. Give equal weights for all children, and decrement the weight for the selected one by the same fixed value (this value can be the same for all levels, or each level can have a different value). 4. Repeat step three until no child is found for the selected control. 5. The test scenario for this cycle is the sequence of the selected controls from all the previous steps. 6. Repeat the above steps for the total number of the required test scenarios unless a termination process is called. Keep the decreased weights from the earlier scenarios. Figure 4 is a sample output from the weight selection algorithm. 1,NOTEPADMAIN,HELPTOPICSFORM,HELPTOPICS,IND EX,LABEL4, 3,NOTEPADMAIN,HELP,ABOUT NOTEPAD,,, 5,NOTEPADMAIN,LABEL2,,,, 7,NOTEPADMAIN,OPEN,OPENFILEBUTTON1,,, 9,NOTEPADMAIN,VIEW,STATUS BAR,,, 11,NOTEPADMAIN,OPEN,OPENFILECOMBOBOX2,,, 13,NOTEPADMAIN,SAVEAS,SAVEFILELABEL4,,, 15,NOTEPADMAIN,TXTBODY,,,, 17,NOTEPADMAIN,BUTTON1,,,, 19,NOTEPADMAIN,BUTTON2,,,, 21,NOTEPADMAIN,ABOUT,ABOUTHELPLABEL4,,, 23,NOTEPADMAIN,LABEL1,,,, 25,NOTEPADMAIN,ABOUT,ABOUTHELPLABEL2,,, 27,NOTEPADMAIN,PAGESETUP,PAGESETUPGROUPBOX1 ,PAGESETUPRADIOBUTTON1 29,NOTEPADMAIN,LABEL1,STATUS BAR,,, 31,NOTEPADMAIN,FORMAT,WORD WRAP,,, 33,NOTEPADMAIN,SAVEAS,SAVEFILECOMBOBOX3 35,NOTEPADMAIN,BUTTON1,ABOUTHELPLABEL4,, 37,NOTEPADMAIN,BUTTON3,,,, 39,NOTEPADMAIN,FIND,TABCONTROL1,TABREPLACE, REPLACETABTXTFINDR, 41,NOTEPADMAIN,ABOUT,ABOUTHELPLABEL3,,, 43,NOTEPADMAIN,FIND,TABCONTROL1,TABGOTO,GOT OTABBTNGOTO, 45,NOTEPADMAIN,HELPTOPICSFORM,HELPTOPICS,CO NTENT,LABEL2, 47,NOTEPADMAIN,PRINTER,PRINTERLABEL1,,, 49,NOTEPADMAIN,HELP,HELP TOPICS,,, 51,NOTEPADMAIN,FORMAT,FONT,FONTTEXTBOX3 53,NOTEPADMAIN,FIND,TABCONTROL1,TABGOTO,GOT OTABLABEL4, 55,NOTEPADMAIN,FIND,TABCONTROL1,TABREPLACE, REPLACETABBTNREPLACEAL, 57,NOTEPADMAIN,OPEN,OPENFILELABEL1,,, 59,NOTEPADMAIN,PAGESETUP,PAGESETUPBUTTON2,, 61,NOTEPADMAIN,FORMAT,FONT,FONTLABEL4,, Figure 4. Sample output from the weight selection algorithm. Both algorithms; three and four, are designed to ensure branch coverage, all-paths testing, and reduce redundancy in the generated test suite. We define test suite effectiveness, which can be calculated automatically in the tool, in order to evaluate the above algorithms. Test suite effectiveness is defined as the total number of edges discovered to the actual total number of edges

for the AUT. Figure 5 shows test effectiveness for the four algorithms explained earlier.

methods are considered too costly in processing time. The algorithm begins with a random process for selecting the chromosome (i.e. the GUI control in GUI test case generation) and keeps adapting, adjusting and selecting others to the process. The selection of the new test cases will depend on the current and earlier ones. The challenge will be on how to evaluate in real time the selected test cases to adapt and improve the selection.

5. REFERENCES

Figure 5. Test suite effectiveness for the four algorithms explained earlier. As shown above, the last two algorithms reach to approximately 100 % effectiveness by generating less than 300 test cases.

4. CONCLUSION AND FUTURE WORK Software testing consumes a good percentage of software projects’ resources. Similar to test automation, AI techniques are used to assist software testing to improve coverage and reduce expenses. In this research, several algorithms were presented to generate and improve test cases automatically without user involvements for the generation of those test cases, or for making any decisions (such as initial and goal states). Most of those suggested algorithms are planned heuristically to improve test coverage with the least amount of possible test cases. In future, existed algorithms will be improved and new algorithms will be suggested. We measured the efficiency of the generated test cases through coverage by calculating the path coverage theoretically using all possible paths of the GUI. We will calculate efficiency by comparing this method with other existed ones to prove the validity of the suggested track. In GUI, it is difficult to reach a high level of test adequacy in generating test cases that cover all possible combinations. GUI state reduction is needed to make testing all or most possible states feasible. One of the new algorithms that will be tested is the generation of test cases using genetic algorithms. Genetic Algorithm (GA) is an adaptive search technique that mimics the processes of evolution to solve optimization problems when traditional

[1] Atif M. Memon, M.E. Pollack and M.L. Soffa. Using a Goal-driven Approach to Generate Test Cases for GUIs. Department of Computer Science, University of Pittsburgh, 1999. [2] Atif. M Memon. A Comprehensive Framework For Testing Graphical User Interfaces. Ph.D. thesis, Department of Computer Science, University of Pittsburgh, July 2001. [3] Berndt, Donald, J. Fisher, L. Johnson*, J. Pinglikar, and A. Watkins. Breeding software test cases with genetic algorithms. In Proceedings of the 36th Annual Hawaii International Conference on System Sciences (HICSS'03). Hawaii, USA. Page: 338. 2003. [4] Berndt, D.J.; Watkins, A. High Volume Software Testing using Genetic Algorithms. HICSS.2005. Hawaii, USA. Page(s): 318b - 318b 2005. [5] Mark Last, Abraham Kandel, Horst Bunke. Artificial Intelligence Methods In Software Testing. World scientific publish co. 2004.Danvers, MA, USA. [6] Shiyi, Xu, and Wei cen. Forecasting the efficiency of test generation algorithms for digital circuits. Proceedings of the 9th Asian Test Symposium. 2000. [7] Hideo Fujiwara, and Takeshi Shimono. On the acceleration of test generation algorithms. IEEE Transactions on Computers. 1983. [8] Chakravarty, S. Test generation algorithms. ASIC Conference and Exhibit. Proceedings., Fourth Annual IEEE International. 1991. [9] Soma, M. Automatic test generation algorithms for analogue circuits. Circuits, Devices and Systems, IEE Proceedings. 1996. [10] Y, Hur, J, Shin, K, Lee, Y, Son, I, Lim, and Y, Kim. Efficient Path Delay Fault Test Generation Algorithms for Weighted Random Robust Testing. Proceedings of the 5th Asian Test Symposium. 1996. [11] Alsmadi, Izzat and Kenneth Magel. GUI path oriented test generation algorithms. In Proceeding of Human-Computer Interaction conference. IASTED HCI, Chamonix, France. 2007. [12] Alsmadi, Izzat and Kenneth Magel. GUI test automation framework. In proceeding of the International Conference on Software Engineering Research and Practice (SERP'07). 2007. [13] Alsmadi Izzat and Kenneth Magel. GUI path oriented test case generation. In proceeding of the international conference on Software Engineering Theory and Practice (SETP07), 2007.

The Development of Several Algorithms to Improve Test Case ...

Izzat Alsmadi. Yarmouk University. CIS department ..... Page 3 of 4. The Development of Several Algorithms to Improve Test Case Generation1569166482.pdf.

36KB Sizes 1 Downloads 197 Views

Recommend Documents

Using Meta-Reasoning to Improve the Performance of Case-Based ...
formance over a period of time. Fox and Leake [8] developed a system to improve the retrieval of a CBR system using meta-reasoning. Their work used a model.

efforts to improve the quality of international development ...
development programs through structured consultation with Member ... the organization listed in its website 14 members and 13 associate members including.

Using Adaptive Genetic Algorithms to Improve Speech ...
Email: {costas, jimver}@aiia.csd.auth.gr. Abstract—In this paper, adaptive ... automatically and updated dynamically [18]. SFFS is found to dominate among 15 ...

Utilising flight test telemetry data to improve store ...
Aug 30, 2004 - velocity, ft/sec α angle-of-attack, deg. ∆ moment increment due to ejector rack dynamics φ. CVER line of action, deg ρ density, slugs/ft3. Note: all ...

Several Algorithms for Finite-Model Adaptive Control
Mathematics of Control, Signals, and Systems manuscript No. (will be inserted by the ...... Safonov MG, Cabral B (2001) Fitting controllers to data. Systems and ...

Refined Error Bounds for Several Learning Algorithms - Steve Hanneke
known that there exist spaces C for which this is unavoidable (Auer and Ortner, 2007). This same logarithmic factor gap ... generally denote Lm = {(X1,f⋆(X1)),...,(Xm,f⋆(Xm))}, and Vm = C[Lm] (called the version space). ...... was introduced in t

Directions to Headmasters to improve the quality of Education.pdf ...
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. Directions to ...

Evolutionary Algorithms Applied to Lens Design: Case ...
of lens design as an optimization process, evolutionary algorithms are good ... design is conducted using specialized CAD tools that help designers to visualize the ... a population of solutions to a problem represented by an appropriate data.

27th April, 2010 Copy of Google's submission today to several ...
Apr 27, 2010 - geolocation API. How does the technology work? Visibly attached to the roof of each vehicle is a commercially available Maxrad BMMG24005.

Using Meta-Reasoning to Improve the Performance of ...
CCL, Cognitive Computing Lab. Georgia Institute of ..... Once a game finishes, an abstracted trace is created from the execution trace that Darmok generates.

efforts to improve the quality of international ...
USA) and government agencies (e.g., Mexico´s Ministries of Education and ...... such use include public health (school deworming), educational technology (use ...

Economic and Political Inequality in Development: The Case of ...
of sugar plantations may create negative effects through a variety of ...... search (ICPSR) website, comprise two famous random samples taken from the 1860 census. ...... constructed from the 1993 Census as fraction of kids between 7 and 11 ...

Temporal-Spatial Sequencing in Prosodic Development: The Case of ...
Waseda University/MIT and California State University, Fullerton. 1. Introduction ... We suggest that the atypical prosodic development leads the person with dyslexia to be not able to exploit the unit .... constitutes a P-center cue, where P stands

Theory of a resonant level coupled to several conduction-electron ...
Mar 12, 2007 - of conduction-electron channels. The Coulomb interaction acts between the electron on the impurity and in the different channels. In the case of ...

Model-Based Test Driven Development of the Tefkat ...
testing in traditional systems [3] or object-oriented systems ... simple data types or traditional objects. .... this reference points to an ECore XML file that contains.

new methods to improve the propulsion performance of ...
When he takes time to visualize the irregular nature of the currents which flow into the propeller disc he must certainly feel great admiration for a propulsion ...

Test Case Prioritization and Test Suite Optimization ...
Abstract: Software Testing is an important activity in Software Development Life Cycle. (SDLC). Software testing is a process of executing a program or application with the intent of finding the bugs. Testing is expensive and prone to mistakes and ov

Theory of a resonant level coupled to several conduction-electron ...
Mar 12, 2007 - The Coulomb interaction acts between the electron on the impurity and in the different ..... Our data suggest that already for N=4 the position of.

Effective Strategies to Improve Writing of ... - Keys to Literacy
in government, construction, manufacturing, service industries, ..... the computer with word-processing software produces a neat and legible script. ...... Writing:A ticket to work… or a ticket out:A survey ..... management of writing strategies.

Moral intuitions: A test case for evolutionary theories of human ...
irrational aspects of moral intuitions and opens a way to build a unitary theory of morality. Words: 9047 a Address correspondence: ... From an evolutionary point of view, there are two kinds of theories of cooperation: altruistic theories, for which

Effective Strategies to Improve Writing of ... - Keys to Literacy
self-regulation. ..... the importance of writing proficiency forward into the public consciousness. .... private employers say that writing proficiency has now become critical in the ... sector employees require on-the-job training in basic writing s

Test Case Evaluation and Input Domain Reduction Strategies for the ...
Mar 4, 2009 - Test Case Evaluation and Input Domain Reduction Strategies ... The application of Evolutionary Algorithms to test data gen- ...... clear(int,int).

Development and Numerical Simulation of Algorithms ...
Development and Numerical Simulation of. Algorithms to the Computational Resolution of. Ordinary Differential Equations. Leniel Braz de Oliveira Macaferi. 1.