Wednesday, March 11, 2009

Software Testing

Introduction

Testing has become one of the most important part in software development process.
Software testing help us to detect the errors,defects,problems found in the software under
development process.

Need of Testing

If a person making a software or any new thing. After completing,just checking by his self.
According to human nature,we will be confident that the product is 100% perfect,even though there is a error. But the error will be there and it will show its power after the product reach the
customers. So far,separate testers and testing is needed for the every software development process.

Role of a Tester

A tester plays an important part in finding out the problems with system and helps in improving its quality. A tester has to understand the limits, which can make the system break and work abruptly. The more number of VALID BUGS tester finds out, the better tester he/she is!

Software

Examples of Software in our Daily Life

Everything from cooking to music uses electronics or electronic components in some way. Our family car has many electronic components, as does our cooking stove, laptop and cell phone.

à We can’t live without GPS (Global Positioning System) systems in our Cars

à We need the Microwave to turn on just minutes for cooking

à Using Laptops

à Using DVD players, MP3…

à Digital Cameras

Introduction

Software is the means by which computer systems speak with computer users. Software forms the heart of computer systems.

Definition

Software is the collection of computer programs, procedures and documentation that performs different tasks on a computer system. The term 'software' was first used by John Tukey in 1958. At the very basic level, computer software consists of a machine language that consists of groups of binary values, which specify processor instructions. The processor instructions change the state of computer hardware in a predefined sequence. Briefly, computer software is the language in which a computer speaks.

A software program is a set of instructions that are aimed at changing the state of computer hardware.

Major Types of Software

  • System Software

System software, more commonly known as Operating system, is any computer software that provides the infrastructure over which programs can operate, ie it manages and controls computer hardware so that application software can perform. Operating systems, such as Microsoft Windows, Mac OS X or Linux, are prominent examples of system software.

The operating system is the most important program that runs on a computer. Every general-purpose computer must have an operating system to run other programs. Operating systems perform basic tasks, such as

· recognizing input from the keyboard

· sending output to the display screen

· keeping track of files and directories on the disk

· controlling peripheral devices such as disk drives and printers.

It is the first program loaded into memory when the computer is turned on and, in a sense, brings life to the computer hardware. Without it, you cannot use your word processing software, spreadsheet software, or any other applications.

Without an operating system, you cannot communicate with your computer. When you give the computer a command, the operating system relays the instructions to the 'brain' of the computer, called the microprocessor or CPU. You cannot speak directly to the CPU because it only understands machine language. When you are working in an application software program, such as Microsoft Word, commands that you give the application are sent through the operating system to the CPU. Windows2000, Window95/98, Mac OS, Unix and DOS are all examples of operating systems.


  • Programming Software

A programming tool or software development tool is a program or application that software developers use to create, debug, maintain, or otherwise support other programs and applications. The term usually refers to relatively simple programs that can be combined together to accomplish a task, much as one might use multiple hand tools to fix a physical object.

Example: FORTRAN, Pascal, C, C++, Java etc...

  • Application Software

Application software utilizes the capacities of a computer directly to a dedicated task. Application software is able to manipulate text, numbers and graphics. It can be in the form of software focused on a certain single task like word processing, spreadsheet or playing of audio and video files.

Example: Word processing, Spreadsheets, Databases, Accounting, Games etc…


Software Testing Overview Software testing involves more than just running a program to see whether it works. A single test run reveals nothing about the program other than the obvious fact that it can yield results for a particular set of inputs. Software testing should be treated as an investigative exercise; one which systematically uncovers different classes of errors within the code while demonstrating that the software behaves as expected.

The developers' concept of the definition and objectives of software testing plays a major role in determining the efficacy of the activity. It influences the developers' decision on what should be tested, and judgement on what is considered a `successful' test.

For example, if the definition ``Software Testing is a process of proving that a program is bug free" were adopted, there would be a natural tendency for developers to subconsciously write fewer or less `destructive' test cases with lower probabilities of breaking the program. Furthermore, the objective that this definition implies is practically impossible to achieve. It takes only one failed test to prove the existence of bugs, but requires an infinite amount of test cases to prove otherwise. Tests can only find defects, not prove that there are none.

A similarly delusive definition would be ``Software Testing is a process of proving that a program performs its intended functions". This line of thinking often leads to test cases that focuses only on program behaviour that is inherently expected . However, programs that perform the right functions when given a controlled set of inputs are still erroneous if they also produce unwanted side effects or fail when given unexpected inputs. A complete test should check for both expected and unexpected behaviours, using valid as well as invalid inputs.

Myers [2] aptly defines software testing as ``a process of executing a program with the intention of finding errors". Using the analogy of a medical diagnosis, a successful investigation is one that seeks and discovers a problem, rather than one that reveals nothing and provides a false sense of well-being. Based on this definition, we establish that a good set of test cases should be one that has a high chance of uncovering previously unknown errors, while a successful test run is one that discovers these errors.

In order to detect all possible errors within a program, exhaustive testing is required to exercise all possible input and logical execution paths. Except for very trivial programs, this is economically unfeasible if not impossible. Therefore, a practical goal for software testing would be to maximize the probability of finding errors using a finite number of test cases, performed in minimum time with minimum effort.


Subsections



Links

Internet Marketing
LinkAlizer makes it easy and fast for you to to find link exchange partners and increase traffic.

HTML clipboardHTML clipboardLink Market - Free Link Exchange, Link Swap and Link Trade Directory
Have you ever tried to exchange links, swap links, or trade links? Was it hard? Use link market instead; - it is easy to use, free and very smart. It will save you hours of work.

HTML clipboardFree Link Exchange

web application development - Ecrux' mission is to understand what our clients want and transform this into a solution leveraging the most suited technology.

digital signage software - digital signage software as a service that is web based.

HTML clipboardDriving Lessons - Driving Lessons (Automatic/Manual) in Sutton, Kingston, Wimbledon, Putney, Wandsworth, Tooting, Southfield, Epsom, Cheam, Chessington, Morden, New Malden. Driving School - Driving Instructor.

HTML clipboardVietnam Cruise Tours - Vietnam cruise tours, halong bay cruises, mekong delta cruise, mekong delta tours, mekong river travel, halong bay tours

HTML clipboard digital signage software - digital signage software as a service that is web based.

HTML clipboard Dating - Bestkiss. Co. Uk is the right place for you to meet people and make friends anywhere in the uk.

HTML clipboardFTA Help - Complete FTA Satellite Help Services including Live Over-The-Phone Support.

HTML clipboardHerbal Viagra - Herbal products, herbal remedies, herbal cures.

HTML clipboard The Baby Bedding Company
Retailer of baby bedding. Link partner for home improvement, construction, online, jobs, legal, lawyer, blogs, jewelry, web design hosting, real estate, finance, financial, travel, business, shopping, gambling, insurance & mortgage, house site

HTML clipboard The Home Decorating Company
Retailers of bedding & home decor. Link partner for home improvement, construction, online, jobs, legal, lawyer, blogs, jewelry, web design & hosting, real estate, finance, financial, travel, business, shopping, gambling, insurance & mortgage sites

HTML clipboard The Platform Beds Company
Retailer of platform beds. Link partner for home improvement, construction, online, jobs, legal, lawyer, blogs, jewelry, web design & hosting, real estate, finance, financial, travel, business, shopping, gambling, insurance & mortgage, house sites.

HTML clipboard Affinity Wedding Photographer
Wedding photography in the uk.

HTML clipboard Ent Doctor
Ascent ent is the leading ear nose throat specialists in singapore and indonesia.

HTML clipboard Www.biotechnologiesinc.co.in - Biotechnologiesinc

HTML clipboard Easy Way Rent A Car - Cancun Car Rental
Provide high quality service and asístanse 24 hours a day, 365 days per year offers all types of cars with unlimited mileage included in the rates. Car rental in cancun, playa del carmen, tulum the riviera maya and merida. Best cars at cheapest price

HTML clipboardDiscount Notebooks, Computer Software, Electronics, Beauty, Personal Health, Jewelry - Yourstoreinc.com offers health care products, arts and crafts supplies, jewelry, baby and photo accessories, kids apparel, kitchen cutlery, discount books and more

HTML clipboardHTML clipboardTour Packages India - Tours operators in india, leading travel and tours agents, hotels and cities guide of india - Tours operators in india, leading travel and tours agents, hotels and cities guide of india

HTML clipboard Process Server - Indian Process Servers (IPS) is a process service company capable of serving papers anywhere in INDIA.

HTML clipboard Online Dating Services For Sexy Adults - Net-date. Net - free online dating services. An online dating site for sexy adults all over the world.

HTML clipboard Pokrov-spiritually Religious Organization - Guidance and help to those who need to change their karma, in health, in a family, in a business, and to change the bioenergy of the person. It is the best way out from the crisis situation.