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

System testing

System testing is concerned with the behavior of a whole system. The majority of functional failures should already have been identified during unit and integration testing. System testing is usually considered appropriate for comparing the system to the non-functional system requirements, such as security, speed, accuracy, and reliability. External interfaces to other applications, utilities, hardware devices, or the operating environment are also evaluated at this level.

Objectives of testing

Testing is conducted in view of a specific objective, which is stated more or less explicitly, and with varying degrees of precision. Stating the objective in precise, quantitative terms allows control to be established over the test process.

Testing can be aimed at verifying different properties. Test cases can be designed to check that the functional specifications are correctly implemented, which is variously referred to in the literature as conformance testing, correctness testing, or functional testing. However, several other nonfunctional properties may be tested as well, including performance, reliability, and usability, among many others.

Other important objectives for testing include (but are not limited to) reliability measurement, usability evaluation, and acceptance, for which different approaches would be taken. Note that the test objective varies with the test target; in general, different purposes being addressed at a different level of testing.

References recommended above for this topic describe the set of potential test objectives. The sub-topics listed below are those most often cited in the literature. Note that some kinds of testing are more appropriate for custom-made software packages, installation testing, for example; and others for generic products, like beta testing.

Qualification testing

Qualification testing checks the system behavior against the customer’s requirements, however these may have been expressed; the customers undertake, or specify, typical tasks to check that their requirements have been met or that the organization has identified these for the target market for the software. This testing activity may or may not involve the developers of the system.

Installation testing

Usually after completion of software and acceptance testing, the software can be verified upon installation in the target environment. Installation testing can be viewed as system testing conducted once again according to hardware configuration requirements. Installation procedures may also be verified.

Alpha and beta testing

Before the software is released, it is sometimes given to a small, representative set of potential users for trial use, either in-house (alpha testing) or external (beta testing). These users report problems with the product. Alpha and beta use is often uncontrolled, and is not always referred to in a test plan.

Reliability achievement and evaluation

In helping to identify faults, testing is a means to improve reliability. By contrast, by randomly generating test cases according to the operational profile, statistical measures of reliability can be derived. Using reliability growth models, both objectives can be pursued together.

Questions & Answers

what are the major difference in the external environment of an office automation system and that of an embedded systems
juma Reply
What is software engineering
Zohaib Reply
what is salary of a software engineer
Akash Reply
understand wllhi 😭am language somali bro 😇😣😣😣
what is agile
Qais Reply
what do you want
help
Billy
how to U download
Adam Reply
hi is there any mobile spy app best you know?
muddy Reply
what is software engineer
Soumen Reply
Who make the software he is the software engineer.
thando
i don't
Al
mobile spy android need it any one help me
muddy
🤔
I want to create a game
Rohith Reply
Requirements to create game
Rohith
yes i also
GURPREET
want to knoe about the reqirements
GURPREET
Yes
Rohith
what are software evolution processes
Software Evolution is a term which refers to the process of developing software initially, then timely updating it for various reasons, i.e., to add new features or to remove obsolete functionalities etc. ... If the proposed changes are accepted, a new release of the software system is planned
Fenkil
basic things of software engineer
Saroj Reply
Which languages need for web development? And how I can learn it? pls help me
Zhamshid Reply
basic things of software engineer
Saroj
hm
Dhruv
I also want to know basic training for software engineering
Dhruv
I want to found an internet company
Sanay Reply
First learn english grammar correctly. 🙏
Eternal
i want software developed explain videos
Fazil 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