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

Techniques based on the nature of the application

The above techniques apply to all types of software. However, for some kinds of applications, some additional know-how is required for test derivation. A list of a few specialized testing fields is provided here, based on the nature of the application under test:

  • Object-oriented testing
  • Component-based testing
  • Web-based testing
  • GUI testing
  • Testing of concurrent programs
  • Protocol conformance testing
  • Testing of real-time systems
  • Testing of safety-critical systems (IEEE1228-94)

Selecting and combining techniques

Functional and structural

Specification-based and code-based test techniques are often contrasted as functional vs. structural testing. These two approaches to test selection are not to be seen as alternative but rather as complementary; in fact, they use different sources of information and have proved to highlight different kinds of problems. They could be used in combination, depending on budgetary considerations.

Deterministic vs. random

Test cases can be selected in a deterministic way, according to one of the various techniques listed, or randomly drawn from some distribution of inputs, such as is usually done in reliability testing. Several analytical and empirical comparisons have been conducted to analyze the conditions that make one approach more effective than the other.

Sometimes, test techniques are confused with test objectives. Test techniques are to be viewed as aids which help to ensure the achievement of test objectives. For instance, branch coverage is a popular test technique. Achieving a specified branch coverage measure should not be considered the objective of testing per se: it is a means to improve the chances of finding failures by systematically exercising every program branch out of a decision point. To avoid such misunderstandings, a clear distinction should be made between test-related measures, which provide an evaluation of the program under test based on the observed test outputs, and those which evaluate the thoroughness of the test set.

Measurement is usually considered instrumental to quality analysis. Measurement may also be used to optimize the planning and execution of the tests. Test management can use several process measures to monitor progress.

Evaluation of the program under test (ieee982.1-98)

Program measurements to aid in planning and designing testing (iee982.1-88)

Measures based on program size (for example, source lines of code or function points) or on program structure (like complexity) are used to guide testing. Structural measures can also include measurements among program modules in terms of the frequency with which modules call each other.

Fault types, classification, and statistics (eee1044-93)

The testing literature is rich in classifications and taxonomies of faults. To make testing more effective, it is important to know which types of faults could be found in the software under test, and the relative frequency with which these faults have occurred in the past. This information can be very useful in making quality predictions, as well as for process improvement.

Questions & Answers

What is software Engineering
Jakisay Reply
what is cocomo model
Shrudhi Reply
hi
sachin
hi
abdu
Hello guys
Jakisay
Please is there any scholarship for African students undergraduate for now
Awal Reply
4 generation technology
RICHA Reply
Richa, what is your question?
Darrell
what is the work of software engineer
mercy Reply
DilipDas
Dili
let's make something guys
Harold Reply
huh good hi guys vivo gun vivo
Chandan Reply
hello Google Translate project app
Rajendra Reply
yes
Vikash
steps of developing a software
latest Reply
Present
win
bamori project
Rajendra
hi
Chandan
hi
mercy
hi
hello
Jawad
Hey
Jakisay
which approach used to reduce number of test cases
Harshdeep Reply
I wish to ask what is the mean of a data model
Ateke Reply
explanation of working of computer
Gulfam Reply
hi
Moshiur
Hi
Malak
Hi
Yaw
How are you friends
Malak
Hlo nice too me
win
Thank for all fri
win
what's going on
Aden
lean for anything
win
hi guys
Ateke
hello.
Martins
hola como estas hey
Nurullohon
hi
MS
What is software engineering
parfait Reply
good hi
MS
explain basic path testing for triangle problem?
Janavi Reply
Sorry
Mo
laptop ka meaning kaya hai
mahefuj Reply
hii bro
MOHD
hi
Aden
hi
Juhi
hi how are u doing bro
Aden
what you have?
Aden
Are you all Indians?
Bade
no I am ethiopian
Aden
I am a cameroonian
Ateke

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