Académique Documents
Professionnel Documents
Culture Documents
Overview
Introduction Related works Proposed framework Components of proposed framework Flowchart of overall operation Pseudocode Results Conclusions
Introduction
automated tests across several machines, executing the tests in parallel and aggregating the results
Less time and money: Automated tests can be executed over and over again. More accuracy: Automated tests carry out the same steps accurately every time. Increased test coverage: The depth and scope of test coverage is increased. High Capability- Concurrency testing, stress test, Performance testing.
The cloning agents execute the test cases and return it to the testing agents.
7
inputs
Registration, prediction
Clone identification Clone Registration Test case execution Individual Test Report
Distributor agent
testing agent
clone agents
Each application has a suite of distributed tests. Each test undergoes pre processing, execution and post processing phases to compute the results
Evaluation
AGDAT Architecture Framework Platform Expansion Test Language Ease of use Agent Hybrid Win, Mac Yes Java No MAS Agent Hybrid Linux, Win, Linux Yes Java Yes DART ClientServer Hybrid Linux Yes C No
10
Cluster-Based framework
A computer cluster is a group of linked computers, working together closely thus in many respects forming a single computer. Test/Results DB
Store Test/Results
Create tests
View Results
11
Result Reporting
12
Test creation: The test creation component provides a graphical user interface (GUI) through which the user creates the test tasks. Test distribution: The test distribution component allocates test tasks among nodes across the network. Node Manager: The node manager constantly monitors the network, and when it finds that a node has failed or no longer responds, it inform the supervisor node about the failure. Result reporting: When the test tasks have been executed at the cluster nodes, the results are sent back to the cluster heads which forward it to the base node ;where the result reporting component puts in a suitable format to be presented to the user.
13
Cluster Nodes
Status checking The status checking component runs on the cluster nodes to register a particular node to the server, by checking the nodes status (ready or inuse) and resources availability (internet connectivity) to execute tests. Test execution The test execution component executes the tests at cluster nodes. It applies the test data in the test cases to the application under test (website), gets the response and sends it to the server.
14
Overall operation
15
Hierarchy is formed by merging available nodes s1Sn to a group based on a cost function. The cost function find the set {si, sj} which is the cheapest to merge. Pseudocode: Compute the proximity matrix containing the distance between each pair of nodes. Treat each as a cluster. Find the most similar pair of clusters using the proximity matrix. Merge these two clusters into one cluster. Update the proximity matrix to reflect this merge operation If all patterns in one cluster, top, else repeat step 2.
16
1.
2.
3.
Test distribution
for (int i = 0; i < listofavailableclients.count(), i++) { Create a new Listoftest Create a database connection and get list of test next to execute GetNodeStatus if node = ready { Form clusters Get a row from the test cases Create a thread for executing test cases Execute test cases } Assumption : Test cases are stored in excel file and have more or less the same number of test scenarios.
17
Results
15
10
0 5 10 20 30 40 50 60 70
18
Conclusion
Cluster based Framework handle effectively test case management, test distribution , test execution and result reporting. Fault tolerance for the time being is only a message sent to Base node about a node failure and the user has to re-allocate the test. Test case allocation is done manually since the excel files are created separately. An improvement would be to split test cases based on the performance of the nodes.
19
References
[1]LKDT: A Keyword - Driven Based Distributed Test Framework, Jie Hui, Lan Yuqing, Luo Pei, Guo Shuhang, Gao Jing, 2008 International Conference on Computer Science and Software Engineering. [2]DiPerf: An automated DIstributed PERformance testing Framework, Ioan Raicu, Catalin Dumitrescu, Matei Ripeanu, Ian Foster. [3]DART: Distributed Automated Regression Testing for Large-Scale Network Applications, Brent N. Chun, OPODIS 2004, Springer-Verlag. [4]Evolution of Agent Oriented Distributed Model for Software Testing, A Layered Approach, Dhavachelvan Ponnurangam , Uma Anbarasan, 2004. [5]Agent-based Distributed Automated Testing Executing Framework,Gao Jing, Lan Yuqing,IEEE 2009.
20
21