Testing Distributed Software

0
0
1457 days ago, 509 views
PowerPoint PPT Presentation
December, 2006. Testing Distributed Software, ECEN5053, Univ. of Colorado. Layout. Testing for Software Security

Presentation Transcript

Slide 1

Testing Distributed Software ECEN5053 Software Engineering of Distributed Systems University of Colorado, Boulder

Slide 2

Outline Testing for Software Security – if time Testing Patterns for Distributed Services - Binder's book Distributed Software Issues and methodologies Threads and synchronization Path testing Life-Cycle Models and testing suggestions Test condition Testing Distributed Software, ECEN5053, Univ. of Colorado

Slide 3

Bibliography Robert V. Fastener , Testing Object-Oriented Systems: Models, Patterns, and Tools, Addison-Wesley Object Technology Series, c. 2000, ISBN 0-201-80938-9 (1,190+ pp.) John McGregor & David Sykes , A Practical Guide to Testing Object-Oriented Software, Addison-Wesley Object Technology Series, c. 2001, ISBN 0-201-32564-0 (393 pp.) Testing Applications On The Web Client-Server Testing Herbert H. Thompson & James Whittaker , Dr. Dobb's Journal, "Trying for Software Security", November 2002, pp. 24 - 32. Testing Distributed Software, ECEN5053, Univ. of Colorado

Slide 4

D efects particular to simultaneous & circulated sw Failure to synchronize gets to shared information qualities can prompt to inaccurate information values despite the fact that each string is effectively registering its outcome. A particular hub in a disseminated framework can neglect to perform effectively despite the fact that each other hub is performing appropriately. A system interface between hubs can come up short while the rest of the framework keeps on working. Testing Distributed Software, ECEN5053, Univ. of Colorado

Slide 5

Basic ideas survey – string in Binder string - free setting of execution inside a working framework handle. Has its own particular program counter and nearby information Smallest unit of execution that can be booked Most working frameworks permit a solitary procedure to amass numerous strings into a related set that shares a few properties and keeps others private. Arrangement of calculations Simplest testing circumstance - address different section focuses and various ways through Multiple strings complexity - share data Dependencies infers string request matters Testing Distributed Software, ECEN5053, Univ. of Colorado

Slide 6

Basic ideas survey - string Developer must give a synchronization instrument to guarantee revise arrange OO dialects give some characteristic method for synchronization by concealing properties behind interfaces at times making strings compare to articles synchronization is unmistakable in the question interface informing is a key component in synchronization Class testing would not likely recognize sync. surrenders Objects must associate to uncover a sync. deformity Testing Distributed Software, ECEN5053, Univ. of Colorado

Slide 7

Computational Models - simultaneous Design expect numerous things are occurring in the meantime Testing for simultaneousness deserts Focus on how two strings associate Methods ought to get run of the mill testing before being practiced in a collaboration setting State-driven testing, for instance Parallel processors in the same "box" - we're overlooking this Testing Distributed Software, ECEN5053, Univ. of Colorado

Slide 8

Computational Models - organized Physical simultaneousness accomplished by connecting together separate boxes with specialized gadgets Communication gadgets work at slower speed than the inner information transport Internet Difficulty in synchronizing the numerous autonomous machines Times of occasions are measured by nearby tickers Hard to decide meticulousness of Testing Distributed Software, ECEN5053, Univ. of Colorado

Slide 9

Computational Models - (genuinely) circulated Multiple procedures bolster an adaptable engineering Number of taking an interest items can change Objects can be conveyed over different procedures on a similar machine over numerous physical PCs Components must have the capacity to find others naming administration known to all segments design record may list the machines approved to take an interest some portion of the framework; might be institutionalized and reusable on numerous frameworks without adjustment Testing Distributed Software, ECEN5053, Univ. of Colorado

Slide 10

How are disseminated models diverse? Nondeterminism Additional foundation Partial disappointments Time-outs Dynamic nature of the structure These essential contrasts specifically affect testing. Testing Distributed Software, ECEN5053, Univ. of Colorado

Slide 11

Nondeterminism Difficult to precisely recreate a trial Determined by scheduler of the working system(s) Changes in projects not related with the SUT can influence the request in which strings of the SUT are executed. Because an imperfection does not reoccur does not mean it has been repaired effectively. Prompts to specific procedures - next slide Testing Distributed Software, ECEN5053, Univ. of Colorado

Slide 12

Nondeterminism - proceeded with More exhaustive testing at the class level Review ought to seek after whether sufficient arrangement for synchronization Dynamic class testing ought to figure out whether synchronization is working accurately in a controlled test condition Execute a substantial number of cases attempting to record the request in which occasions happen Specify a standard test condition - > Testing Distributed Software, ECEN5053, Univ. of Colorado

Slide 13

Nondeterminism - proceeded with Specify a standard test condition Clean machine with insignificant shared gadgets Identify applications that must keep running for feasible stage Add essential applications that would be on run of the mill machine Each experiment portrays what changes are made to this standard condition incorporate request in which procedures are begun Include a debugger in the standard condition Isolate these machines from rest of system in any event at first Testing Distributed Software, ECEN5053, Univ. of Colorado

Slide 14

Additional Infrastructure Many circulated objects depend on framework gave by an outsider seller Create relapse suite to test similarity between the application and the foundation Verify against new arrivals of the foundation Reconfiguration of the framework Some foundations are self-adjusting and reconfigure themselves when the framework reconfigures itself – (two moving focuses on!) A particular information informational collection can bring about an alternate way to be executed in light of the fact that the past way no longer exists Testing Distributed Software, ECEN5053, Univ. of Colorado

Slide 15

Partial disappointments May discover a bit of the framework can't (does not) execute due to equipment or programming disappointments on a machine facilitating some portion of the framework. How would you test this? Disappointments are mimicked by expelling or crippling system associations closing down a hub in the system Testing Distributed Software, ECEN5053, Univ. of Colorado

Slide 16

Time-Outs Networked frameworks keep away from gridlocks by setting clocks when a demand is sent to another framework If no reaction is gotten inside the apportioned time , the demand is surrendered Software must perform accurately when demand is addressed and when it isn't, yet maybe distinctively Testing ought to incorporate an assortment of stacking designs on machines in the system Testing ought to bring about incomplete disappointments to guarantee programming works effectively when time-outs are achieved Testing Distributed Software, ECEN5053, Univ. of Colorado

Slide 17

Dynamic Nature of the Structure Often worked with the capacity of changing its arrangement Specific solicitations might be coordinated powerfully relying upon the heap on different machines Allow a variable number of machines to partake Tests should be imitated with an assortment of setups Testing Distributed Software, ECEN5053, Univ. of Colorado

Slide 18

Threads Design exchange off Increasing the quantity of strings can disentangle calculations yet increment sequencing issues Reducing the quantity of strings can make the product more inflexible and less effective Synchronization - when 2 strings get to a similar memory area, must guarantee non-obstruction May attempt to execute a technique that alters an information esteem in the meantime Java - dialect watchword C++ - singular designer builds OO dialect restricts access to the modifier strategy for the normal information characteristic Testing Distributed Software, ECEN5053, Univ. of Colorado

Slide 19

Specifying synchronization Design records: determine synchronization in the protect provisions of the UML state chart In Java, synchronize shows up in the mark of a technique C++ - determine synchronization components as classes; formation of occurrence of a screen question demonstrates the area where sync. is required. Amid surveys , check that synchronization is determined to happen in the perfect place, on the correct strategy, and so on. Testing Distributed Software, ECEN5053, Univ. of Colorado

Slide 20

Defining valuable ways A way is an arrangement of legitimately coterminous articulations that is executed when a particular information set is utilized. Different new control structures result in new ways, conceivably uncertain number or, more regrettable, interminable. A way is an arrangement of coherently adjacent explanations between the definition (task) of an incentive for a variable to the spots where the variable is utilized. Different meanings of way are more helpful in conveyed frameworks Testing Distributed Software, ECEN5053, Univ. of Colorado

Slide 21

Significant ways in appropriated programming Richard Carver and K. C. Tai, 1998 SYN-occasion is any activity that includes synchronization of two strings. The bringing forth of one string by another is one case. SYN-succession is an arrangement of SYN-occasions that will happen in a predefined arrange. This is one kind of way through the program code. Configuration test cases that relate to SYN-groupings. The principle string is not checked in the quantity of ways since it executes paying little mind to the informational collection Testing Distributed Software, ECEN5053, Univ. of Colorado

Slide 22

What sort of occasions are SYN-occasions? Creation and obliteration of a string object Creation and devastation of a protest that exemplifies a

SPONSORS