Subscribe by Email


Sunday, August 5, 2012

What is meant by Synchronization? How do you implement it in WinRunner?


The field of computer science has to deal with not one but two types of synchronization processes namely:
  1. Synchronization of processes called process synchronization and
  2. Synchronization of data called data synchronization.
Both of these two synchronization processes are quite different from each other but are related in a way. 
- In the synchronization of the processes, a certain number of processes have to come together and join in order to commit a certain action or reach an agreement. 
whereas,
- In the synchronization of the data the idea followed is of the data integration i.e., the integrity of the data is maintained by multiple copies of the data set kept in coherence with each other.

Now coming to their relation, these two distinct synchronization processes are related in the way that the former process i.e. the data synchronization can only be achieved by process synchronization primitives.
In process synchronization two particular mechanisms are applied in concurrency for ensuring that the execution of the specific portions of a software program at the same instant of time by the execution of the two concurrent processes or threads does not takes place. 

The process synchronization is quite often used in controlling the access in the following:
  1. Multi- processing systems that are small scale.
  2. Multi- processor computers and
  3. Multi- threaded environment
  4. Distributed computers that are constituted by 1000 of units.
  5. Banking systems
  6. Web servers
  7. Data base systems and so on.
Now coming to the data synchronization, there are several examples such as the following:
1. Cluster file systems in a computing cluster
2. File synchronization
3. RAID
4. Cache coherency
5. Journaling
6. Data base replication

How is Synchronization implemented in Win Runner?

- Synchronization also exists in winrunner.
- There exists a certain synchronization point in the test script whose responsibility is to give the instructions to the winrunner regarding the suspension and continuation of the tests that are running until the software system or application that is under testing is ready for release.
- With the help of these synchronization points most of the anticipated timing problems can be solved.
- During the analog testing, the role of the synchronization point is to make sure that the window is re-positioned at a specific location by the winrunner software. 
- When a corresponding test is run, the mouse cursor is expected to move across the defined coordinates and this re-positioning of the window helps the cursor to make exact contact and that too with the proper elements of the window.
- At the point of synchronization a mismatch between the speeds of the script execution and application are witnessed.
- Three types of synchronization points have been defined:
  1. Screen area bitmap
  2. Object/ window bitmap
  3. Object/ window property
- Another role of the synchronization point is to start and stop the application as and when required till the load of a certain user event gets completed.
- Whenever there is a difference in the speeds of the application speed and the tool speed then the synchronization process is always preferred for syncing of both the application and tool to match.
- There are certain functions called wait functions available for the same purpose as the synchronization points but it is always better to go with the synchronization points since they are capable of maintaining better uniformity among the test scripts and application. 
- For example the synchronization can be carried out for:
  1. Retrieving the information from data base.
  2. For making a progress bar complete 100 % and so on. 


No comments:

Facebook activity