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

Evaluation of test phase reports can be combined with root-cause analysis to evaluate test process effectiveness in finding faults as early as possible. Such an evaluation could be associated with the analysis of risks. Moreover, the resources that are worth spending on testing should be commensurate with the use/criticality of the application: different techniques have different costs and yield different levels of confidence in product reliability.

Termination

A decision must be made as to how much testing is enough and when a test stage can be terminated. Thoroughness measures, such as achieved code coverage or functional completeness, as well as estimates of fault density or of operational reliability, provide useful support, but are not sufficient in themselves. The decision also involves considerations about the costs and risks incurred by the potential for remaining failures, as opposed to the costs implied by continuing to test.

Test reuse and test patterns

To carry out testing or maintenance in an organized and cost-effective way, the means used to test each part of the software should be reused systematically. This repository of test materials must be under the control of software configuration management, so that changes to software requirements or design can be reflected in changes to the scope of the tests conducted.

The test solutions adopted for testing some application types under certain circumstances, with the motivations behind the decisions taken, form a test pattern which can itself be documented for later reuse in similar projects.

Test activities

Under this topic, a brief overview of test activities is given; as often implied by the following description, successful management of test activities strongly depends on the Software Configuration Management process.

Planning

Like any other aspect of project management, testing activities must be planned. Key aspects of test planning include coordination of personnel, management of available test facilities and equipment (which may include magnetic media, test plans and procedures), and planning for possible undesirable outcomes. If more than one baseline of the software is being maintained, then a major planning consideration is the time and effort needed to ensure that the test environment is set to the proper configuration.

Test-case generation

Generation of test cases is based on the level of testing to be performed and the particular testing techniques. Test cases should be under the control of software configuration management and include the expected results for each test.

Test environment development

The environment used for testing should be compatible with the software engineering tools. It should facilitate development and control of test cases, as well as logging and recovery of expected results, scripts, and other testing materials.

Execution

Execution of tests should embody a basic principle of scientific experimentation: everything done during testing should be performed and documented clearly enough that another person could replicate the results. Hence, testing should be performed in accordance with documented procedures using a clearly defined version of the software under test.

Test results evaluation

The results of testing must be evaluated to determine whether or not the test has been successful. In most cases, “successful” means that the software performed as expected and did not have any major unexpected outcomes. Not all unexpected outcomes are necessarily faults, however, but could be judged to be simply noise. Before a failure can be removed, an analysis and debugging effort is needed to isolate, identify, and describe it. When test results are particularly important, a formal review board may be convened to evaluate them.

Problem reporting/test log

Testing activities can be entered into a test log to identify when a test was conducted, who performed the test, what software configuration was the basis for testing, and other relevant identification information. Unexpected or incorrect test results can be recorded in a problem-reporting system, the data of which form the basis for later debugging and for fixing the problems that were observed as failures during testing. Also, anomalies not classified as faults could be documented in case they later turn out to be more serious than first thought. Test reports are also an input to the change management request process.

Defect tracking

Failures observed during testing are most often due to faults or defects in the software. Such defects can be analyzed to determine when they were introduced into the software, what kind of error caused them to be created (poorly defined requirements, incorrect variable declaration, memory leak, programming syntax error, for example), and when they could have been first observed in the software. Defect-tracking information is used to determine what aspects of software engineering need improvement and how effective previous analyses and testing have been.

References:

http://en.wikipedia.org/wiki/Software_testing, http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-171Fall2003/CourseHome/,http://www.cs.cornell.edu/courses/cs501/2008sp/, http://www.comp.lancs.ac.uk/computing/resources/IanS/SE7/,http://www.ee.unb.ca/kengleha/courses/CMPE3213/IntroToSoftwareEng.htm, http://www.cs.kuleuven.ac.be/~dirk/ada-belgium/aia/contents.html#5,http://www.softwareqatest.com/qatfaq1.html, etc...

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