Subscribe by Email


Showing posts with label Contents. Show all posts
Showing posts with label Contents. Show all posts

Sunday, June 23, 2013

Explain the various File Operations

A number of operations can be carried out on a file. However, there are 6 basic file operations. As we know a file is an ADT or abstract data type. Certain operations need to be considered for defining a file. Operating systems makes calls to these operations. 

Following are the six basic operations:

1. Creation of a file: 
- This operation involves two steps. 
- Firstly, a sufficient space has to be found for storing the file in the file system. - Secondly, for this new file an entry should be made in the directory.

2. Writing to a file: 
- For writing data to a file, a system call has to be made with name and the data to be written as its arguments. 
- A writer pointer is kept by the system at the location in the file where the next write operation is to be carried out. 
- This pointer is updated whenever a write operation occurs.

3. Reading from a file: 
- Just like the write operation, in order to read information from a file, a system call has to be generated along with the name of the file and the location of the content to be read as its arguments. 
- Here, instead of a write pointer there is a read pointer that will indicate the location where the next read operation is to take place. 
- The location at which the current operation is being carried out is kept as a “per – process current – file – position” pointer since the process is either writing to or reading from the file. 
- The same pointer can be used by both the read and write operations in order to reduce the complexity of the system as well as for saving space.

4. Re-positioning within a file: 
- System carries out search in the directory looking for the appropriate entry. 
When found, the current file position pointer is re-pointed to this position. 
This file operation does not require carrying out any input or output operation in actual. 
- Another name for this file operation is the file seek.

5. Deletion of a file: 
- For deletion of the file, the system searches through the directory to find the appropriate entry. 
- When found, the space held by this file is released and the entry in the directory is destroyed so that this space can be reused by other files.  

6. Truncating a file: 
- Sometimes you may require deleting only the contents of a file while keeping it attributes. 
- Deleting the file and recreating it is not an efficient solution. 
- This file operation lets you to erase the contents of the file but save its attributes.
- But here the length attribute of the file will be changed to zero after truncation. 
- The file space is released after truncating.


The above mentioned six basic file operations constitute the minimal file operations set. These operations are primary ones and if combined can perform some other secondary file operations such as copying. A table known as the open file table is maintained by the operating system that stores all the information about the files that are currently open. When the file is closed, its entry is deleted from the open file table. Some files have to be opened explicitly with the function open() before using it. The name of the file is passed as an argument to this function. Then it looks in the directory for this file and an entry is made in the open file table.  Each file has some access rights. It is in these access modes that a process uses the file. A process can perform only those operations which are permitted by the access rights of the file. 


Monday, March 5, 2012

What is meant by fuzz testing?

ABOUT FUZZ TESTING
- Fuzz testing or fuzzing as it is commonly known as, is another type of software testing methodology.
- It can be either operated manually or can be semi automated or fully automated.
- Unexpected, invalid or random data form the input data values for the fuzz testing of a software system or application.
- After arranging for the test input data values, the whole software system or application is then inspected if it is experience any problems like crashes, memory leaks or failure of the code assertions that are built in the software system or application.
- Fuzz testing or fuzzing is actually a testing methodology that falls under the category of the security testing and is often used for security checks of a software system or application.
- Fuzz testing emphasizes more on the network protocols and the file formats of the software system or application than the other aspects of the system.
- But it is not necessary that only the network protocols and file formats can undergo fuzz testing, other input aspects of the system can also be subjected to the fuzz testing.

CATEGORIES OF FUZZ TESTING
Fuzz testing if further divided in to two sub categories:

1. Generation based fuzz testing:
It involves creation of entirely new set of input data based on the model input data.

2. Mutation based fuzz testing:
It involves the mutation of the existing samples of the data to generate a new set of input data.

Both of the above mentioned approaches of the fuzz testing can be implemented using the white box testing, black box testing or grey box testing depending on the requirements of the testing.

INPUT FOR FUZZ TESTING
1. Common input for the fuzz testing basically includes:
- Key board events
- Mouse events
- Environment variables and
- API calls sequence.

2. Unusual types of inputs such as those being mentioned below can also be subjected to fuzz testing:
- Shared memory
- Contents of the data base of the software system or application and
- Inter leaving of threads (precise)

The input data which manages to cross the trust boundary of the software system or application catches the attention of the testers more than any other happening during the testing.

The origination of the fuzz testing is traced back to the University of Wisconsin and discovered by the professor Barton Miller.

USES OF FUZZ TESTING
The fuzz testing has emerged as a software testing technique with more than one uses:
1. For the testing of large projects having a budget just enough for the development of the test tools it can be employed as black box testing technique.
2. It is a very feasible and affordable software testing technique and has a high benefit- to - cost ratio.
3. The fuzz testing proves helpful in providing a sample stating the behavior of the software system or application generated in a random manner.
4. It very effectively demonstrates the exception handling capability of a piece of the source code of the program without crashing.
5. Fuzz testing gives an assurance for the maintenance of the overall quality of the software system or application rather than just acting as a testing tool for finding bugs.
6. Fuzz testing can also be used as a substitute for the formal methods employed for exhaustive testing of the software system.
7. One can rely on fuzz testing for determining the reliability of the software system as an application of static analysis, code audits or partial rewrites.
8. Fuzz testing as it involves generation of the invalid input data, is employed for checking out the error handling routines.
9. Fuzz testing is used as an approach for the automation of the negative testing.


Tuesday, October 26, 2010

Validation Phase - System Testing - Content Management Testing

Content Management has gained a predominant importance after the web applications took a major part of our lives. As the name denotes, content management is managing the content. Content Management Testing involves :

- Testing the distribution of the content.
- Request, Response Time.
- Content display on various browsers and operating systems.
- Load distribution on the servers.
In fact all the performance related testing should be performed for each version of the web application which uses the content management servers.

Example: You want to open the Yahoo! in Chinese version. When you choose Chinese version on the main page of yahoo! to get to see the entire content in chinese. Yahoo! would strategically plan and have various servers for various languages. When you choose a particular version of the page, the request is re-directed to the server which manages the Chinese content page. The Content Management System helps in placing content for various purposes and also help in displaying when the request comes in.


Friday, August 14, 2009

Introduction to Multimedia Databases

Multimedia data typically means digital images, audio, video, animation and graphics together with text data. The acquisition, generation, storage and processing of multimedia data in computers and transmission over networks have grown tremendously in the recent past. Multimedia data are blessed with a number of exciting features. They can provide more effective dissemination of information in science, engineering , medicine, modern biology, and social sciences. It also facilitates the development of new paradigms in distance learning, and interactive personal and group entertainment. It loosely fall into three main categories:
* Static media (time-independent, i.e. images and handwriting).
* Dynamic media (time-dependent, i.e. video and sound bytes).
* Dimensional media (i.e. 3D games or computer-aided drafting programs- CAD).

TYPES OF MULTIMEDIA DATABASES :
There are numerous different types of multimedia databases :
* The Authentication Multimedia Database (also known as a Verification Multimedia Database, i.e. retina scanning), is a 1:1 data comparison.
* The Identification Multimedia Database is a data comparison of one-to-many (i.e. passwords and personal identification numbers.
* A newly-emerging type of multimedia database, is the Biometrics Multimedia Database; which specializes in automatic human verification based on the algorithms of their behavioral or physiological profile.

CONTENTS OF MULTIMEDIA DATABASES :
A multimedia database needs to manage several different types of information pertaining to the actual multimedia data. They are:
* Media data - This is the actual data representing images, audio, video that are captured, digitized, processes, compressed and stored.
* Media format data - This contains information pertaining to the format of the media data after it goes through the acquisition, processing, and encoding phases. For instance, this consists of information such as the sampling rate, resolution, frame rate, encoding scheme etc.
* Media keyword data - This contains the keyword descriptions, usually relating to the generation of the media data. For example, for a video, this might include the date, time, and place of recording , the person who recorded, the scene that is recorded, etc This is also called as content descriptive data.
* Media feature data - This contains the features derived from the media data. A feature characterizes the media contents. For example, this could contain information about the distribution of colors, the kinds of textures and the different shapes present in an image. This is also referred to as content dependent data.


Facebook activity