Subscribe by Email


Showing posts with label Package. Show all posts
Showing posts with label Package. Show all posts

Sunday, July 15, 2012

Describe some Caching Issues?


We all are familiar with what a cache is? 
"A cache can be defined as a memory component that is held for storing the data transparently in order to speed up the future serving of the data requests."
The data stored in a cache might be the data that has been required earlier for some operations. 

There are two events related to cache as mentioned below:

1. Cache hit: When the requested data is available in cache and
2. Cache miss: When the requested data is not available in cache and has to be looked up in to the RAM.

- The speed of processing is directly proportional to the number of requests that can be served via the cache. 
- Cache memories are quite costly and hence to make it cost efficient and keep the data usage as efficient as possible, smaller caches are used. 
- But since the time of its advent, cache has proven itself in the field of computing. 

"Caching can be thought of as a technique that is aimed at increasing the computing performance by keeping in itself the frequently accessed data."

There are basically three kinds of caching as we have stated below:

1. Caching output caching: In this type of caching the dynamic output that had been generated up on a request.
2. Fragment caching: In this type of caching the portion of the page that is generated by the request is cached since in many situations it is not practical to cache the whole page at once.
3. Data caching: In this type of caching the objects are cached pro grammatically.

What are different caching issues?


In this article we have taken in to discussion some very prominent caching issues. Most of the people experience problem in server caching of certain files. 
There are four major caching issues have been recognized which have been mentioned below:
1. Designing of a custom cache.
2. Securing of a custom cache.
3. Monitoring of a custom cache and lastly.
4. Synchronization of the caches in a server farm.

Besides these four major caching issues, there are many other minor caching issues.
- Some times it happens that the package delivery fails or an object or element appears like it has been corrupted and seems like such a failure has not got anything to do with the connection! 
- In such cases you can go on with a cache clear up. 
- If the situation is worse, you may also require clearing up the proxy cache!
- Web sites and browsers are looked up as a means of optimizing the resources which is done by them so well that they end up breaking down your dynamic web site content. 
- Your web site is not updated as you thought it will be done. 

Let us see an example, suppose you own a music web site which you frequently update with new music. Your clients come to your site every day so what happens is that the cache forces the web site to list the cached version of the play list and so the clients would never be able to listen to new and the latest music.

Such situation though enhances your internet experience, can also cause many other problems! Some times the cache will stash up an old page of the web site instead of showing up the latest one. You should make it a point to empty your browser’s cache from time to time. There are many internet service providers that cache pages to speed up the internet access like AOL. All the web pages that you visit are stashed up in the cache. 


Saturday, August 6, 2011

What are different metrics for testing?

Software testers must rely on analysis, design, and code metrics to guide them in design and execution of test cases. Metrics for testing fall into two broad categories:
- metrics that attempt to predict the likely number of tests required at various testing levels.
- metrics that focus on test coverage for a given component.

Function based metrics use a predictor for overall testing effort. Architectural design metrics provide information on the ease and difficulty which is associated with integration testing.

The metrics defined for object oriented provide a general indication of the amount of testing effort required to exercise an object oriented system. Object oriented testing can be quite complex. Metrics can assist in targeting testing resources at threads, scenarios, and packages of classes that are suspect based on measured characteristics. Design metrics that has direct influence on test-ability of object oriented system include:

- Lack of cohesion in methods (LCOM): Higher the value of LCOM, more states must be tested.
- Percent public and protected (PAP): High value of PAP increases the possibility of side effects among classes because public and protected attributes lead to high coupling.
- Public access to data members (PAD): High value of PAD increases the possibility of side effects among classes.
- Number of root causes (NOR): NOR is the count of distinct class hierarchy described in design model. As NOR increases, testing effort increases.
- Fan-in (FIN): It is an indication of multiple inheritance. If it is greater than 1, a class inherits its attributes and operations from more than one root class.
- Number of children (NOC) and depth of inheritance tree (DIT): The super class methods will have to be retested for each sub class.


Wednesday, April 13, 2011

What is Software Architecture ? What are subsystems and interfaces?

Software architecture defines a set of decisions about the organization. It includes:
- how to select structural elements.
- how to select their interfaces.
- how to select the behavior.
- how to select the composition of these structural and behavioral elements into larger subsystems.
- architectural style that guides this organization.
A software architecture is a description of the sub-systems and components of a software system and the relationships between them.
Software architecture is layered structure of software components and the manner in which these components interact.
A software architecture is modeled using package diagram of UML. A package is a model element that can contain other elements.
A subsystem is a combination of package and class. The advantages of defining subsystem are:
- Development of smaller units is possible.
- Re-usability increases.
- Handling complexity is managed properly.
- Maintainability eases.
- Supports portability.

An interface is a set of operations.
- Allows the separation of the declaration of behavior from the realization of the behavior.
- Serves as a contract to help in the independent development of the components by the development team, and ensures that the components can work together.
- There are two styles of communication subsystems use: client-server and peer-to-peer communication.


Facebook activity