<< 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

components of software engineering
khan Reply
what is coding
YUSUF Reply
hello, I don't know anything about software but I have this passion to learn. where do I start from pls
Oliver Reply
computer science class or just take a introduction to computers class. You can always try to find a mentor or self teach yourself as well.
Dustin
what important of software
Tom Reply
dorimon in hindi
Yogesh
Hello
Mark
Mrs dorimon
Mark
hello
Tom
ha
Khizer
I'm. new in programming
Khizer
did anyone help
Khizer
me
Khizer
ok on me am new in programming
Tom
can I have job sa programmer without degree
Khizer
hello guy's
Shey
what can helps new in programming
Tom
I want to know more about programming
Shey
hello
Francis
hello
Xotambek
hi
Peterson
how r u my friends ?
Xotambek
l would like to know what do I need if I want to.create a sun glasses where you can see everything when you're sharing something via bluetooth
Peterson
hi
Peterson
I have so many things that I want to create in the technology industry
Peterson
but I need a group of people who are willing bring ideas on the table and work together to make success
Peterson
wow
Shey
What sorts of feild knowledge do you need?
leo
Mr. Peteson pinchinat, hello!
leo
I don't really know what do I need to learn that's why I'm asking
Peterson
I need help to create all those things that I want to.
Peterson
peterson pinchinat I have so many ideas and much more things in my mind
Khizer
hello
Purity
even Me guys
Mark
if you have many ideas than I have so let's work together let's build a team . let's put our ideas and start working together to make success.
Peterson
I really like to work with software
Khizer
any I like that people how have interest on new technology and software developer, engineering
Khizer
wow!!! we have something in common.
Peterson
great then we can share some ideas and then see how we can make things happen
Peterson
so where we can do work
Khizer
we have to find a way. I'm living in Brooklyn what about you?
Peterson
there we shared work
Khizer
7895870847
Khizer
I know people from India they are really good in compute
Peterson
+917895870847 that is my no. you can call me
Khizer
thanks
Khizer
first we need to find out how we gonna work. I know the distance won't be a problem we need to trust each other and create a great team then bring revolution in the technology
Peterson
I have an idea
Khizer
ok
Peterson
send me the website?
Peterson
wait for a 2 days I make that and tell you ok
Khizer
perfect
Peterson
good
Shey
Yes ,It is possible to be a programmer without University Degree.You have a lot professional courses that you access and register for on the net.Please get hook and search ..thanks
NICCK-PAT
Great ,I am NICCk-PAT in Paris France.
NICCK-PAT
hello
Dustin
how do i create software
Ahmad Reply
Hii
Sameer
what is the IEEE ?
Shankar Reply
a external device cable capable of transferring large amounts of data at high speed.
Dustin
really
Shey
How to learn in this app? ..help me
HANAN Reply
how make a software engineer
Ajaykumar Reply
how to use this app ..help me
HANAN
what is incremental model?
Shir Reply
explain software proses explain with kannada
preethi Reply
please and my qution
preethi
best project for bsc students
Mounika Reply
software engineering best project for bsc students
Mounika
Tell me medam what is the project do you have
Harinathreddy
software engineering
Mounika
Let you explain for me about that project
Harinathreddy
hii
Sameer
I'm in!!
Amanson
hii
Yogesh
can i ask you some questions
Yogesh
hi how are you
Ahmad
guy's please I need you to tell me more about software Engineering
Shey
am new in the field
Shey
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
if I get your point, software is basically a set of instructions or programs run on hardware to perform a specific task.
Samuel

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