<< Chapter < Page
  Software engineering     Page 2 / 15
Chapter >> Page >

Regardless of the limitations, testing is an integral part in software development. It is broadly deployed in every phase in the software development cycle. Typically, more than 50% percent of the development time is spent in testing. Testing is usually performed for the following purposes:

To improve quality

As computers and software are used in critical applications, the outcome of a bug can be severe. Bugs can cause huge losses. Bugs in critical systems have caused airplane crashes, allowed space shuttle missions to go awry, halted trading on the stock market, and worse. Bugs can kill. Bugs can cause disasters. In a computerized embedded world, the quality and reliability of software is a matter of life and death.

Quality means the conformance to the specified design requirement. Being correct, the minimum requirement of quality, means performing as required under specified circumstances. Debugging, a narrow view of software testing, is performed heavily to find out design defects by the programmer. The imperfection of human nature makes it almost impossible to make a moderately complex program correct the first time. Finding the problems and get them fixed, is the purpose of debugging in programming phase.

For verification&Validation (v&V)

An important purpose of testing is verification and validation. Testing can serve as metrics. It is heavily used as a tool in the V&V process. Testers can make claims based on interpretations of the testing results, which either the product works under certain situations, or it does not work. We can also compare the quality among different products under the same specification, based on results from the same test.

We can not test quality directly, but we can test related factors to make quality visible. Quality has three sets of factors: functionality, engineering, and adaptability. These three sets of factors can be thought of as dimensions in the software quality space. Each dimension may be broken down into its component factors and considerations at successively lower levels of detail. Table 1 illustrates some of the most frequently cited quality considerations.

Functionality(exterior quality) Engineering(interior quality) Adaptability(future quality)
Correctness Efficiency Flexibility
Reliability Testability Reusability
Usability Documentation Maintainability
Integrity Structure
Table 1.  Typical Software Quality Factors 

Good testing provides measures for all relevant factors. The importance of any particular factor varies from application to application. Any system where human lives are at stake must place extreme emphasis on  reliability and integrity. In the typical business system usability and maintainability are the key factors, while for a one-time scientific program neither may be significant. Our testing, to be fully effective, must be geared to measuring each relevant factor and thus forcing quality to become tangible and visible.

Tests with the purpose of validating the product works are named clean tests, or positive tests. The drawbacks are that it can only validate that the software works for the specified test cases. A finite number of tests can not validate that the software works for all situations. On the contrary, only one failed test is sufficient enough to show that the software does not work. Dirty tests, or negative tests, refers to the tests aiming at breaking the software, or showing that it does not work. A piece of software must have sufficient exception handling capabilities to survive a significant level of dirty tests.

Questions & Answers

differentiate between writing and jotting
Mmem Reply
configration management
Ravi Reply
what is a computer software
Chinaza Reply
Computer software is programming code executed on a computer processor at either the machine-level or the level of the operating system. ... The physical components of a computer are the hardware, and the digital programs running on the hardware are the software.
SATYAM
9292
Saeed
what is sofftware
Mohammed Reply
Software, in its most general sense, is a set of instructions or programs instructing a computer to do specific tasks. Software is a generic term used to describe computer programs. Scripts, applications, programs and a set of instructions are all terms often used to describe software.
SATYAM
now I got it
Ali
how to open a software company
SATYAM Reply
draw context model for a patient information system in a hospital
shruti Reply
how to activate Microsoft word
Matthew Reply
To activate Microsoft word, please follow these steps below: 1. On windows 8.1 or Windows 10, choose start. 2. Scroll down through your apps and choose Microsoft office- the tile with the Office logo. 3. In the windows that open, choose Activate. 4. Do one of the following:
Abdul
. If you are asked to sign in with your Microsoft account, that means you do not need a product key. proceed to the next step below and enter your Microsoft account. OR . If you are asked to enter a product key, this means a key was included with your purchase.
Abdul
Look for it on your Certificate of Authenticity or a card in the packaging. If you cannot find it, contact your reseller. The key uses a combination of 25 letters and numbers and looks this: xxxxx-xxxxx-xxxxx-xxxxx-xxxxx. Enter your key in the space provided. 5. Sign in with your Microsoft account
Abdul
to activate the Office product that came with your device.
Abdul
What can we do with cmd
Ibrahim Reply
cmd performs a lot of things that can perfomed in graphical method, generally interacting with files in the computer like deleting, writing, creating cmd can be used for networking purposes... mostly in network configurations, trying to view network setups etc.
Baraka
in programming....you can interact with your databases by using cmd.......so it performs a lot of things. good day.
Baraka
sir the basic questions is that what is cmd
Ali
what is software
Igho Reply
is set of instructions (generally referred to as code), that is positioned between you and the device hardware, enable you to use it .
Abdul
that's what a software can be defined as.
Abdul
Hi
Harinathreddy
what type of instructions
Ali
it may also concern to hardware or not
Ali
I'm just joining that depart could somebody plz define. ma about software engineering because I don't even know the how know of it
Ali
what is white box testing
MUNEIAH Reply
White Box Testing is a software testing method in which the internal structure/ design/ implementation of the item being tested is known to the tester.
khalil
What is software life cycle model? Why is it important during the development of a large softwre products
ramsahay Reply
explain About various types of software quality metrics
vijay Reply
I study software assignment course
Raza Reply
what is re process
naveen Reply
how to make software development projects
suresh Reply

Get the best Software engineering course in your pocket!





Source:  OpenStax, Software engineering. OpenStax CNX. Jul 29, 2009 Download for free at http://cnx.org/content/col10790/1.1
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Software engineering' conversation and receive update notifications?

Ask