Home | Hindi | Kabir | Poetry | Workshop | BoloKids | Writers | Contribute | Search | Contact                                                 Shop Online


  News
Channels
In Focus

Analysis  
Bolography  
Cartoons
Environment   
Opinion 

Columns
 Business
 My Word 
 PlainSpeak 
 Random Thoughts 
Our Heritage

Architecture
Astrology
Ayurveda
Buddhism
Cinema 
Culture
Dances
Festivals
Hinduism
History  
People  
Places 
Sikhism
Spirituality 
Vastu 
Vithika  

Society & Lifestyle

Family Matters 
Health
Parenting
Perspective 
Recipes
Society
Teens 
Women 

Creative Writings

Book Reviews
Ghalib's Corner
Humor
Individuality
Jagoji
Literary Shelf 
Love Letters  
Memoirs
Musings
Ramblings
Stories
Travelogues

Computing
  General Articles
 
CC++ 
  Flash 
  Internet Security 
 
Java 
 
Linux     
  Networking  

 

Computing
Software Testing
by Ruchi Gupta

Software testing is the most important phase in any software development project, so that we can know whether our project or product is going to be successful or it will fail before it goes live.

We can define software testing as process use to identify the quality of developed computer software, so that the developer of software can compare the results produced by the finished software and the expected one.

Through testing we cannot get totally bug free software we cannot achieve complete correctness through testing, but at least we can find some defects, which are there in the software.

There are many, many different ways and levels to test software; here I am mentioning very basic and common levels of testing, which are usually done for all software. If the software is very complex or real time oriented than more levels can be added to the testing to achieve a reliable software product.

Broadly software-testing levels are categorized into three levels.

  • Unit Testing

  • Integration Testing

  • System Testing

Unit Testing

In this phase of testing, separate units of software system are tested. This is also known as component testing in which each module is tested alone to find any error in its source code. Programmer performs this testing as part of the development life cycle. The prerequisite for this phase is Unit Test Plan, which should be written from Low-level design document.

Integration Testing

This testing is done to test the communication between different components of the software; all the modules that a program comprises are being bring together to test whether they are functioning in correct order with their counter part. Modules are typically integrated in a top-down, incremental fashion.

For some projects integration testing can further be divided into two levels:

– Assembly Integration Testing.
– System Integration Testing.

During assembly testing, the integration of the software components is tested. During system integration testing, the communication with external systems is tested. Integration Test Plan should be written from High Level design document.

System Testing

This level of testing is done to test the functionality of software as a complete system. System testing is entirely different then integration testing. In integration testing interaction of component are tested while in system testing interaction of complete software with the system is tested.

Besides system functionality and behavior, system testing may include testing configuration, throughput, security, resource utilization, and performance.

After testing levels we will come to test designs. As we all know, before developing any component for the software first we have to design it, same is the case with software testing, before going for testing any software we have to design tests for the system.

Two most common methods for test design are Black box testing and White box testing.

Black-box test design treats the system as a "black-box", so it doesn't explicitly use knowledge of the internal structure. Black-box test design is usually described as focusing on testing functional requirements.

White-box test design allows one to peek inside the "box”, and it focuses specifically on using internal knowledge of the software to guide the selection of test data. Synonyms for white-box include: structural, glass-box and clear-box.

Now we will discuss about some testing techniques, there are many testing techniques for testing any software, here I have mentioned some like:

  • Regression Testing Regression tests are tests that are run more than once. If the product or their environments have changed since the last time a test was run, it may find a new bug. Regression tests may be automated or manual.

  • Stress Testing Tests are run to determine if the software can withstand an unreasonable load with insufficient resources or extreme usage.

  • Performance Testing Tests are run to determine actual performance as compared to predicted performance.

In the software market you can get many tools for software testing, depending on your system and budget you have to choose among many tools. Some of the tools are:

WinRunner
TeamTest
Silk Test
JTest, C++ Test
Junit.

The testing phase, which is the most important phase in the software cycle gets secondary treatment from developers and IT managers, nobody wants to go to the testing team, people are forced to go for testing in any software development team.
Still testing is the only way to determine whether an application will function properly before it is deployed.    

July 9, 2006

Top | Computing

The Week of July 9, 2006       
The Left’s Plan-B: In case a snap poll becomes necessary! by Rajinder Puri
Pakistan and North Korea: Rogue States
    Brandishing Nuclear Weapons and Ballistic Missiles by Dr. Subhash Kapila    
Nuclear Pacts, Missiles, ABMs and Combating War Strategies by Gaurang Bhatt, MD
China: The Fine art of Balancing Power Relations
           and Economic Engagement
by Col. Rahul K. Bhonsle  

A Tragic Tale of Self Betrayal by Michael Levy
Vision of the Whole by TA Ramesh  
Water Harvesting: Let's Do It by VK Joshi 
Cry for a Hindu Nation by V. Sundaram
Vyasa – Witness to Self, Witness to Life by Satya Chaitanya
The Name "Aparna" – Its Mythological Meaning in Hindu Religion by Aparna Chatterjee
Learning a Mantra by A. Thiagarajan
Adventures in the Yucatan by Subra Narayan 
Royal Heritage: A Legacy in Poetry by Dr. Amitabh Mitra
Feeding Nourishment to your Preschooler by Garima Gupta
The Witty Side by Melvin Durai 
Software Testing by Ruchi Gupta 
# 10 Dover Lane by Julia Dutta 
Monsoon Blues by Sujata Iyer   
The Change Within by Farah Shafqat   
Bulldozing the Right to Survive by Gautam Bhan 
Life Beyond the Tourism Brochure by Charumathi Supraja 
A Walk on the Wild Side by Loba 
  

 

Recommend This Page!

Analysis | Architecture | Astrology | Ayurveda | Book Reviews | Buddhism | Cartoons | Cinema | Computing | Culture | Dances
Environment | Fables | Family Matters | Festivals | Hinduism | Health | History | Home Remedies | Humor | Individuality | Jagoji
Literary Shelf | Memoirs | Musings | Opinion | Parenting | Perspective | Photo Essays | Places | Ramblings
Random Thoughts | Recipes | Sikhism | Society | Spirituality | Stories | Teens | Travelogues | Vastu | Vithika | Women

Home | Hindi | Bolography | BoloKids | Kabir | Poetry | Quotes | Workshop | Writers | Contribute | Search | Contact


Boloji.com is owned and managed by Boloji Media Inc

Privacy Policy | Disclaimer
No part of this Internet site may be reproduced without prior written permission of the copyright holder.