cdat fit11 final

Upload: kashif-aziz-awan

Post on 06-Apr-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 Cdat Fit11 Final

    1/21

    A Cluster-based Architecture for DistributedAutomated Testing

    Mr Dassen SATHANLecturer, University of MauritiusMauritiusB.Eng(UoM),MSc(UK)

  • 8/3/2019 Cdat Fit11 Final

    2/21

    FIT Conference 2011- Islamabad 2

    Overview

    Introduction Related works

    Proposed framework

    Components of proposed framework

    Flowchart of overall operation Pseudocode

    Results

    Conclusions

  • 8/3/2019 Cdat Fit11 Final

    3/21

    FIT Conference 2011- Islamabad 3

    Introduction

    What is Software Testing? The process of operating software under controlled conditions with the

    intent of identifying bugs and getting them fixed.

    Levels of testing : Unit , Module, Sub-system, System

    What is Automated software Testing? Use of software tools to generate test cases, execute tests and generate

    report.

    Why Automated software testing? 40% to 60% of entire software development time spent on testing.

    Increased functionality & complexity.

  • 8/3/2019 Cdat Fit11 Final

    4/21

    FIT Conference 2011- Islamabad 4

    Distributed Automated Testing

    Distributed Automated Testing involves distributingautomated tests across several machines, executing thetests in parallel and aggregating the results

  • 8/3/2019 Cdat Fit11 Final

    5/21

    FIT Conference 2011- Islamabad 5

    Why Distributed Testing

    Less time and money: Automated tests can be executedover and over again.

    More accuracy: Automated tests carry out the same steps

    accurately every time.

    Increased test coverage: The depth and scope of testcoverage is increased.

    High Capability- Concurrency testing, stress test,Performance testing.

  • 8/3/2019 Cdat Fit11 Final

    6/21

    FIT Conference 2011- Islamabad

    Agent Based Distributed Automated Testing

    AGDAT is composed of the following agents: Test master Agent: Deploy and schedule test tasks.

    Test results integration Agent: Collect and integrate the test log

    Test execution Agent: Execute test scripts and send results.

    6

  • 8/3/2019 Cdat Fit11 Final

    7/21

    FIT Conference 2011- Islamabad7

    Multi Agent Framework

    Multi Agent System is based on distributing a taskamong several agents.

    The distributor agent gets as input the program to betested, specification about the number of testing agents and

    the permitted time to complete the testing processes. Basedon these specifications, the distributor selects the testingagents and assigns the tasks to them.

    Each testing agent can manage and control itself on a local

    dimension and interact directly with its clones to exchange,provide and receive services, data and knowledge.

    The cloning agents execute the test cases andreturn it to the testing agents.

  • 8/3/2019 Cdat Fit11 Final

    8/21

    FIT Conference 2011- Islamabad 8

    Multi agent Framework

    Registration,prediction

    Clone identification

    Clone Registration

    Test casegenerator

    Test caseexecution

    Individual Test Report

    inputs

    Clone Specification

    Clone Specification

    Distributoragent

    testingagent

    cloneagents

  • 8/3/2019 Cdat Fit11 Final

    9/21

    FIT Conference 2011- Islamabad

    Distributed Automated Regression Testing

    Each application has a suite of distributed tests.

    Each test undergoes pre processing, execution and postprocessing phases to compute the results

    9

  • 8/3/2019 Cdat Fit11 Final

    10/21

    FIT Conference 2011- Islamabad

    Evaluation

    10

    AGDAT MAS DART

    Architecture Agent Agent Client-

    Server

    Framework Hybrid Hybrid Hybrid

    Platform Win, Linux,

    Mac

    Win, Linux Linux

    Expansion Yes Yes Yes

    Test Language Java Java C

    Ease of use No Yes No

  • 8/3/2019 Cdat Fit11 Final

    11/21

    FIT Conference 2011- Islamabad 11

    Cluster-Based framework

    A computer cluster is

    a group of linked

    computers, working

    together closely thus

    in many respects

    forming a singlecomputer.

    Create tests

    View Results

    Test/Results DB

    Retrieve

    Test/Results

    Store

    Test/Results

    Allocate Tests

    Failure Report

    Test Results

    Cluster Node

    Base NodeGUI

  • 8/3/2019 Cdat Fit11 Final

    12/21

    FIT Conference 2011- Islamabad

    Architecture of proposed framework

    12

    Base Node Cluster Nodes

    Test Creation

    Test Distribution

    Node Manager

    Result Reporting

    Status Checking

    Test Execution

    Cluster Head

    Test Distribution

    Node Manager

    Result Reporting

    Test Execution

  • 8/3/2019 Cdat Fit11 Final

    13/21

    FIT Conference 2011- Islamabad 13

    Base Node/Cluster Head

    Test creation: The test creation component provides a graphicaluser interface (GUI) through which the user creates the test tasks.

    Test distribution: The test distribution component allocates testtasks among nodes across the network.

    Node Manager: The node manager constantly monitors thenetwork, and when it finds that a node has failed or no longerresponds, it inform the supervisor node about the failure.

    Result reporting: When the test tasks have been executed at thecluster nodes, the results are sent back to the cluster heads whichforward it to the base node ;where the result reporting componentputs in a suitable format to be presented to the user.

  • 8/3/2019 Cdat Fit11 Final

    14/21

    FIT Conference 2011- Islamabad

    Cluster Nodes

    Status checking

    The status checking component runs on the cluster nodes to registera particular node to the server, by checking the nodes status (readyor inuse) and resources availability (internet connectivity) to executetests.

    Test execution

    The test execution component executes the tests at cluster nodes. Itapplies the test data in the test cases to the application under test(website), gets the response and sends it to the server.

    14

  • 8/3/2019 Cdat Fit11 Final

    15/21

    FIT Conference 2011- Islamabad

    Overall operation

    15

  • 8/3/2019 Cdat Fit11 Final

    16/21

    FIT Conference 2011- Islamabad

    Hierarchical Cluster Formation

    Hierarchy is formed by merging available nodes s1Sn to a groupbased on a cost function.

    The cost function find the set {si, sj} which is the cheapest to merge.

    Pseudocode:

    1. Compute the proximity matrix containing the distance between eachpair of nodes. Treat each as a cluster.

    2.

    Find the most similar pair of clusters using the proximity matrix.Merge these two clusters into one cluster. Update the proximity matrixto reflect this merge operation

    3. If all patterns in one cluster, top, else repeat step 2.

    16

  • 8/3/2019 Cdat Fit11 Final

    17/21

    FIT Conference 2011- Islamabad

    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 casesExecute test cases

    }

    Assumption : Test cases are stored in excel file and have more or less the

    same number of test scenarios.17

  • 8/3/2019 Cdat Fit11 Final

    18/21

    FIT Conference 2011- Islamabad 18

    Results

    With a cluster-based framework, test execution is faster

    0

    5

    10

    15

    20

    25

    5 10 20 30 40 50 60 70

    Testexecutiontime

    inmins

    No. of test cases

    Client-server(3clients)

    Cluster-based(7clients)

  • 8/3/2019 Cdat Fit11 Final

    19/21

    FIT Conference 2011- Islamabad

    Conclusion

    19

    Cluster based Framework handle effectively test case management, testdistribution , test execution and result reporting.

    Fault tolerance for the time being is only a message sent to Base nodeabout a node failure and the user has to re-allocate the test.

    Test case allocation is done manually since the excel files are createdseparately. An improvement would be to split test cases based on theperformance of the nodes.

  • 8/3/2019 Cdat Fit11 Final

    20/21

    FIT Conference 2011- Islamabad

    References

    [1]LKDT: A Keyword - Driven Based Distributed Test Framework, Jie Hui, LanYuqing, Luo Pei, Guo Shuhang, Gao Jing, 2008 International Conference onComputer Science and Software Engineering.

    [2]DiPerf: An automated DIstributed PERformance testing Framework, IoanRaicu, Catalin Dumitrescu, Matei Ripeanu, Ian Foster.

    [3]DART: Distributed Automated Regression Testing for Large-Scale NetworkApplications, 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

  • 8/3/2019 Cdat Fit11 Final

    21/21

    FIT Conference 2011- Islamabad

    THANK YOU

    QUESTIONS & SUGGESTIONS

    21