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

Software reliability refers to the probability of failure-free operation of a system. It is related to many aspects of software, including the testing process. Directly estimating software reliability by quantifying its related factors can be difficult. Testing is an effective sampling method to measure software reliability. Guided by the operational profile, software testing (usually black-box testing) can be used to obtain failure data, and an estimation model can be further used to analyze the data to estimate the present reliability and predict future reliability. Therefore, based on the estimation, the developers can decide whether to release the software, and the users can decide whether to adopt and use the software. Risk of using software can also be assessed based on reliability information. The primary goal of testing should be to measure the dependability of tested software.

There is agreement on the intuitive meaning of dependable software: it does not fail in unexpected or catastrophic ways. Robustness testing and stress testing are variances of reliability testing based on this simple criterion.

The robustness of a software component is the degree to which it can function correctly in the presence of exceptional inputs or stressful environmental conditions. Robustness testing differs with correctness testing in the sense that the functional correctness of the software is not of concern. It only watches for robustness problems such as machine crashes, process hangs or abnormal termination. The oracle is relatively simple, therefore robustness testing can be made more portable and scalable than correctness testing. This research has drawn more and more interests recently, most of which uses commercial operating systems as their target.

Stress testing, or load testing, is often used to test the whole system rather than the software alone. In such tests the software or system are exercised with or beyond the specified limits. Typical stress includes resource exhaustion, bursts of activities, and sustained high loads.

Regression testing

According to (IEEE610.12-90), regression testing is the “selective retesting of a system or component to verify that modifications have not caused unintended effects...” In practice, the idea is to show that software which previously passed the tests still does. Beizer defines it as any repetition of tests intended to show that the software’s behavior is unchanged, except insofar as required. Obviously a trade-off must be made between the assurance given by regression testing every time a change is made and the resources required to do that.

Regression testing can be conducted at each of the test levels. The target of the test and may apply to functional and nonfunctional testing.

Correctness testing

Correctness is the minimum requirement of software, the essential purpose of testing. Correctness testing will need some type of oracle, to tell the right behavior from the wrong one. The tester may or may not know the inside details of the software module under test, e.g. control flow, data flow, etc. Therefore, either a white-box point of view or black-box point of view can be taken in testing software. We must note that the black-box and white-box ideas are not limited in correctness testing only.

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